From 3e20cb46292e51d08a1cd72b20d11b2fcc574d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenzo=20Dematt=C3=A9?= Date: Tue, 27 Jan 2015 16:17:37 +0100 Subject: [PATCH] Added snippet delete command (useful for testing) --- Pumpkin.Data/SnippetData.cs | 13 ++++++ Pumpkin.Web/App_Data/Snippets.sdf | Bin 131072 -> 131072 bytes Pumpkin.Web/Controllers/HomeController.cs | 6 +++ Pumpkin.Web/Views/Home/Index.cshtml | 48 +++++++++++++++++----- 4 files changed, 56 insertions(+), 11 deletions(-) diff --git a/Pumpkin.Data/SnippetData.cs b/Pumpkin.Data/SnippetData.cs index 59f8f17..0790dcf 100644 --- a/Pumpkin.Data/SnippetData.cs +++ b/Pumpkin.Data/SnippetData.cs @@ -187,5 +187,18 @@ namespace Pumpkin.Data { } } } + + public void Delete(string id) { + using (var connection = GetOpenConnection()) { + SqlCeCommand cmd = connection.CreateCommand(); + + cmd.CommandText = "DELETE Snippets WHERE Id = ?"; + + cmd.Parameters.Add(new SqlCeParameter("Id", SqlDbType.NChar)); + cmd.Prepare(); + cmd.Parameters["Id"].Value = id.ToString(); + cmd.ExecuteNonQuery(); + } + } } } diff --git a/Pumpkin.Web/App_Data/Snippets.sdf b/Pumpkin.Web/App_Data/Snippets.sdf index b23ab86cbc059d222a5a1cd9b09c7cb5dcc1a508..92000eff8505d4bc6bf35a53cf17dd15d5edd451 100644 GIT binary patch delta 1815 zcmcIleN00jpUgfg(KdkB%mC-zJTQw7 z30dFm6xTpSn%R@DUup#?)@*s2EM4k&yC6?&hqAO3!jFtPobO2Y2k{89L`P2Yvl!N< zzZk+phTNfhh6IQofwa-C-Ka#X6fEpIX3qBPMze88A`FAjNQ?1;2l@%Q2oFLagS>>@ zFhI5dEwzb07e#qUd&m=@5+SdjVq5t1PZ*iIU8E(LibQlzc@dQCmSi!jSCjfad_<>0 zRkF7aE2SXBU<^iKFnO#GcW!)cEh1bwd`f_jB+M?2Un}M7%=QG6c)=)I-{37iRRpy} z|2vXy6SOkN7H9I8J~WsnpcM``)%z$%lOkK&EpBtc&2So02SueM>NAS zfRQ&;024p~%mY{e=y(wFx!sD8M-43y|JY)i-hVgQt(ha^PQ7MJ{c4e%11B5wVhHS- zWPJcTbCgoKL{{Z8xl|G462oy>C5t12%E+!$B(gc=a@j8136;`kr=pTgRUC>$s6?*R z-m-01q{Z3g>n70+qnhL%M?I|#6m6<;Qjw+~K3dN`LrhwUiDq%WV`k4jw!C7}8O0R) zZsi3%&%CTn{qVC+d%W?oPE+$TUA4{7oLO%NvOFy8_{8*cE8;xtsh0p5|yITt7HE z3gZVy;_=ADzlmqvS3<0~w^Uyro`{VxUvC53eB0CPkKWu}vCo%rm!kn zpJ>km&18>2m~E&V`LD*(KCJ6OVcAO*_LJ_M72EA|?~i4O(9SnOa!W*b@6AN`@|NxN ze^KH2?11o3L`W3!cOqPm&!{5$7r|+S4Mc-4S&YP!T+%mUh;G}}Zw^pbDp#T5? delta 1407 zcmb_cYfM~K5T3b@-Fx=MKFY$f?DkTS(9&I&u)DGnVzCdL94rOnePy|q%GYq zxwZ)iaT1uwhmR7um+YFXYGVJ|v)Z^Cz%RAa>P|eSxeA8xs+KMo^3D_)`2gxj1dw4u z1-L5exD|8L$#q)tx>Rx(xhSEFJOIxV!W9R?iVfiiEu<1sr4~~^>cay1We5r-vNpOd zTfgB(Pjw}E3y%Oy(fpc$n+N;%AJ{iwnHUF52~o> z#Uh4fDlwpb+=Btn$6x{nmZAx&a5w40xLce1DWL!CK}XB)a5ruDRh8)QbgqJ%Y2|{? zU@iFI3kU;)uOLd6Z=sT~;V;PO^`z^eJcGkf0ky=ff+o_NVVC~k8mws-VZD)c;K2UA zzOKPUdAu_oiSG?n#M|PbXh%mRl!!(np^A>m&R8N=kw`?_!<{`n|AntLE+_R|8S}*L zU5E5LWh~RjvQbL{*z2GRdg$w={n9P`x;p33U|+*~$1mSA|LEixDAP|ow8Iy@@~kp; zX1HW~chNhd$<54W(QOap=QAe?K?vl#nPfq?T~G^f*CP-9atgPWLmWCuA|!huL}iLY8%c;t+Cg80P=atYgDS{UN&Fbu zV#G~keC=BHZ;$*xnfTca%_v-n@+M(H^e>|CJELJd#{OyiL&Ln!{%VyCx3@}n-gv73 zDjZvl1RKm|EQ$?+S(Ro{^U=Z#r=kYdsMP+NfT+ zoJDMAo;^Kh)>1VJzxIIzUCWQZAV87{-e;Uoxrvm+ne&{P5BVN5@lSG2qIG)bJ^}g; y!$yaH`erX;#D5`n^hcxqF5^5jjQWeoI}Dh4uqgR;zDGD}x87Fz>6<4I8~*?T+chEp diff --git a/Pumpkin.Web/Controllers/HomeController.cs b/Pumpkin.Web/Controllers/HomeController.cs index 8dc7ce2..ef48d2c 100644 --- a/Pumpkin.Web/Controllers/HomeController.cs +++ b/Pumpkin.Web/Controllers/HomeController.cs @@ -65,6 +65,12 @@ namespace Pumpkin.Web.Controllers { } } + [HttpPost] + public ActionResult DeleteSnippet(string snippetId) { + repository.Delete(snippetId); + return new HttpStatusCodeResult(HttpStatusCode.OK); + } + public static String SnippetUsing = @" using System; diff --git a/Pumpkin.Web/Views/Home/Index.cshtml b/Pumpkin.Web/Views/Home/Index.cshtml index 286d97f..5c5229e 100644 --- a/Pumpkin.Web/Views/Home/Index.cshtml +++ b/Pumpkin.Web/Views/Home/Index.cshtml @@ -41,7 +41,7 @@ $("#resultTime").text(message.executionTime + "ms"); $("#resultTotalTime").text(message.totalTime + "ms"); - var snippetStatus = $("#" + snippetId); + var snippetStatus = $("#" + snippetId).find(".rectangle"); if (snippetStatus) { snippetStatus.css("background", newStatus); } @@ -56,6 +56,25 @@ }); } + $(".btnDelete").click(function () { + $("#resultForm").hide(); + var snippetId = $(this).data("snippet-id"); + + $.ajax("/Home/DeleteSnippet", { + type: "POST", + data: { snippetId: snippetId } + + }).done(function (data, textStatus, jqXHR) { + if (jqXHR.status >= 200 && jqXHR.status < 300) { + submissionInfo.text("Snippet " + snippetId + " deleted"); + $("#" + snippetId).remove(); + } + else { + submissionInfo.text("Error deleting snippet: " + data); + } + }); + }); + $(".btnGo").click(function () { submissionInfo.text("Submitting..."); $("#resultForm").hide(); @@ -116,16 +135,23 @@

Execute a snippet

-
+
    @foreach (var item in Model) { -
    Snippet: @item.Id  
    -
    - Status:  -
    C# version: @item.CompilerVersion
    -
    @item.Source
    - -
    -
    +
  • +
    +
    Snippet: @item.Id  
    +
    + Status:  +
    + C# version: @item.CompilerVersion + +
    +
    @item.Source
    + +
    +
    +
    +
  • } -
+
\ No newline at end of file