From 562b3518ae6832bbf6ec15fae09db3a57c71b158 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Mon, 26 Sep 2016 15:51:31 +0200 Subject: [PATCH] fix ordinamento items + fix ricalcolo da flusso a stock! --- StockManMVC/App_Start/MVCGridConfig.cs | 3 +- .../Controllers/ItemStockStatusController.cs | 12 ++----- StockManMVC/Controllers/ItemsController.cs | 30 ++++++++++++++++++ StockManMVC/Models/ItemStockStatus.cs | 4 +-- StockManMVC/Models/SMModel.edmx | 29 +++++------------ StockManMVC/Views/ItemFluxes/Edit.cshtml | 8 +++-- .../Views/ItemStockStatus/Consolidate.cshtml | 8 ++--- .../Views/ItemStockStatus/Create.cshtml | 12 +++---- .../Views/ItemStockStatus/Delete.cshtml | 8 ++--- .../Views/ItemStockStatus/Details.cshtml | 8 ++--- StockManMVC/Views/ItemStockStatus/Edit.cshtml | 12 +++---- .../Views/ItemStockStatus/Index.cshtml | 8 ++--- StockManMVC/bin/StockManMVC.dll | Bin 104448 -> 105984 bytes 13 files changed, 78 insertions(+), 64 deletions(-) diff --git a/StockManMVC/App_Start/MVCGridConfig.cs b/StockManMVC/App_Start/MVCGridConfig.cs index b0bf0eb..41dbf74 100644 --- a/StockManMVC/App_Start/MVCGridConfig.cs +++ b/StockManMVC/App_Start/MVCGridConfig.cs @@ -87,7 +87,8 @@ namespace StockManMVC .WithValueExpression(i => i.QtaBatch.ToString()); cols.Add("QtaPend").WithColumnName("QtaPend") .WithHeaderText("Stock") - .WithCellCssClassExpression(p => p.QtaPend >= p.QtaMin ? "success" : "danger") + .WithCellCssClassExpression(p => p.QtaPend >= p.QtaMin ? "success text-right" : "danger text-right") + .WithSortColumnData("QtaPend") .WithValueExpression(i => i.QtaPend.ToString()); cols.Add("CurrValue").WithColumnName("CurrValue") .WithHeaderText("€/pz") diff --git a/StockManMVC/Controllers/ItemStockStatusController.cs b/StockManMVC/Controllers/ItemStockStatusController.cs index 25bfd9b..2b6c4ce 100644 --- a/StockManMVC/Controllers/ItemStockStatusController.cs +++ b/StockManMVC/Controllers/ItemStockStatusController.cs @@ -15,17 +15,11 @@ namespace StockManMVC.Controllers { private StockManEntities db = new StockManEntities(); - //// GET: ItemStockStatus - //public ActionResult Index() - //{ - // return View(db.ItemStockStatus.ToList()); - //} - // GET: ItemStockStatus public ActionResult Index(string SearchVal) { var StockStatus = from s in db.ItemStockStatus - select s; + select s; if (!String.IsNullOrEmpty(SearchVal)) { StockStatus = StockStatus.Where(s => s.LocationID.Contains(SearchVal) @@ -91,7 +85,7 @@ namespace StockManMVC.Controllers // more details see http://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] - public ActionResult Create([Bind(Include = "ID,LocationID,LocationDesc,ItemID,Descr,CodInt,ItemFamilyID,CodExt,DescrExt,QtaMin,QtaBatch,QtyConf,ValConf,QtaPend,ValPend,QtaNew,ValNew")] ItemStockStatus itemStockStatus) + public ActionResult Create([Bind(Include = "ID,LocationID,LocationDesc,ItemID,Descr,CodInt,ItemFamilyID,CodExt,DescrExt,QtaMin,QtaBatch,QtyConf,ValConf,QtyPend,ValPend,QtyNew,ValNew")] ItemStockStatus itemStockStatus) { if (ModelState.IsValid) { @@ -123,7 +117,7 @@ namespace StockManMVC.Controllers // more details see http://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] - public ActionResult Edit([Bind(Include = "ID,LocationID,LocationDesc,ItemID,Descr,CodInt,ItemFamilyID,CodExt,DescrExt,QtaMin,QtaBatch,QtyConf,ValConf,QtaPend,ValPend,QtaNew,ValNew")] ItemStockStatus itemStockStatus) + public ActionResult Edit([Bind(Include = "ID,LocationID,LocationDesc,ItemID,Descr,CodInt,ItemFamilyID,CodExt,DescrExt,QtaMin,QtaBatch,QtyConf,ValConf,QtyPend,ValPend,QtyNew,ValNew")] ItemStockStatus itemStockStatus) { if (ModelState.IsValid) { diff --git a/StockManMVC/Controllers/ItemsController.cs b/StockManMVC/Controllers/ItemsController.cs index f38d324..8a49d53 100644 --- a/StockManMVC/Controllers/ItemsController.cs +++ b/StockManMVC/Controllers/ItemsController.cs @@ -83,6 +83,36 @@ namespace StockManMVC.Controllers answ = answ.OrderBy(x => x.ItemFamilyID); } break; + case "qtapend": + if (Sort == "dsc") + { + answ = answ.OrderByDescending(x => x.QtaPend); + } + else + { + answ = answ.OrderBy(x => x.QtaPend); + } + break; + case "currvalue": + if (Sort == "dsc") + { + answ = answ.OrderByDescending(x => x.CurrValue); + } + else + { + answ = answ.OrderBy(x => x.CurrValue); + } + break; + case "totval": + if (Sort == "dsc") + { + answ = answ.OrderByDescending(x => x.CurrValue * x.QtaPend); + } + else + { + answ = answ.OrderBy(x => x.CurrValue * x.QtaPend); + } + break; case "descr": default: if (Sort == "dsc") diff --git a/StockManMVC/Models/ItemStockStatus.cs b/StockManMVC/Models/ItemStockStatus.cs index 05ad903..0ee31d5 100644 --- a/StockManMVC/Models/ItemStockStatus.cs +++ b/StockManMVC/Models/ItemStockStatus.cs @@ -27,9 +27,9 @@ namespace StockManMVC.Models public int QtaBatch { get; set; } public int QtyConf { get; set; } public decimal ValConf { get; set; } - public int QtaPend { get; set; } + public int QtyPend { get; set; } public Nullable ValPend { get; set; } - public Nullable QtaNew { get; set; } + public Nullable QtyNew { get; set; } public Nullable ValNew { get; set; } } } diff --git a/StockManMVC/Models/SMModel.edmx b/StockManMVC/Models/SMModel.edmx index ecdf1a1..8bbde5c 100644 --- a/StockManMVC/Models/SMModel.edmx +++ b/StockManMVC/Models/SMModel.edmx @@ -96,19 +96,6 @@ avviso 6002: Nessuna chiave primaria definita per la tabella/visualizzazione 'St - - - - - - - - - - - - - @@ -123,9 +110,9 @@ avviso 6002: Nessuna chiave primaria definita per la tabella/visualizzazione 'St - + - + @@ -263,9 +250,9 @@ avviso 6002: Nessuna chiave primaria definita per la tabella/visualizzazione 'St [vItemStockStatus].[QtaBatch] AS [QtaBatch], [vItemStockStatus].[QtyConf] AS [QtyConf], [vItemStockStatus].[ValConf] AS [ValConf], - [vItemStockStatus].[QtaPend] AS [QtaPend], + [vItemStockStatus].[QtyPend] AS [QtyPend], [vItemStockStatus].[ValPend] AS [ValPend], - [vItemStockStatus].[QtaNew] AS [QtaNew], + [vItemStockStatus].[QtyNew] AS [QtyNew], [vItemStockStatus].[ValNew] AS [ValNew] FROM [dbo].[vItemStockStatus] AS [vItemStockStatus] @@ -555,9 +542,9 @@ avviso 6002: Nessuna chiave primaria definita per la tabella/visualizzazione 'St - + - + @@ -688,10 +675,10 @@ avviso 6002: Nessuna chiave primaria definita per la tabella/visualizzazione 'St + + - - diff --git a/StockManMVC/Views/ItemFluxes/Edit.cshtml b/StockManMVC/Views/ItemFluxes/Edit.cshtml index e3bfbe6..5f6a789 100644 --- a/StockManMVC/Views/ItemFluxes/Edit.cshtml +++ b/StockManMVC/Views/ItemFluxes/Edit.cshtml @@ -52,7 +52,7 @@
@Html.LabelFor(model => model.dtMov, htmlAttributes: new { @class = "control-label col-md-2" })
- @Html.EditorFor(model => model.dtMov, new { htmlAttributes = new { @class = "form-control" } }) + @Html.EditorFor(model => model.dtMov, new { htmlAttributes = new { @class = "form-control date-picker", type="date" } }) @Html.ValidationMessageFor(model => model.dtMov, "", new { @class = "text-danger" })
@@ -92,7 +92,7 @@
@Html.LabelFor(model => model.dtExport, htmlAttributes: new { @class = "control-label col-md-2" })
- @Html.EditorFor(model => model.dtExport, new { htmlAttributes = new { @class = "form-control" } }) + @Html.EditorFor(model => model.dtExport, new { htmlAttributes = new { @class = "form-control date-picker", type = "date" } }) @Html.ValidationMessageFor(model => model.dtExport, "", new { @class = "text-danger" })
@@ -114,7 +114,9 @@ }
- @Html.ActionLink("Back to List", "Index") + @*@Html.ActionLink("Back to List", "Index")*@ + @*@Html.ActionLink("Torna ad elenco", "Details", "Items")*@ + @Html.ActionLink("Torna ad elenco", "Details", "Items", new { id = Model.ItemID, StockItemID = Model.ItemID, FluxItemID = Model.ItemID }, null)
@section Scripts { diff --git a/StockManMVC/Views/ItemStockStatus/Consolidate.cshtml b/StockManMVC/Views/ItemStockStatus/Consolidate.cshtml index 5d56d37..e117360 100644 --- a/StockManMVC/Views/ItemStockStatus/Consolidate.cshtml +++ b/StockManMVC/Views/ItemStockStatus/Consolidate.cshtml @@ -48,13 +48,13 @@ @Html.DisplayNameFor(model => model.ValConf) - @Html.DisplayNameFor(model => model.QtaPend) + @Html.DisplayNameFor(model => model.QtyPend) @Html.DisplayNameFor(model => model.ValPend) - @Html.DisplayNameFor(model => model.QtaNew) + @Html.DisplayNameFor(model => model.QtyNew) @Html.DisplayNameFor(model => model.ValNew) @@ -101,13 +101,13 @@ @Html.DisplayFor(modelItem => item.ValConf) - @Html.DisplayFor(modelItem => item.QtaPend) + @Html.DisplayFor(modelItem => item.QtyPend) @Html.DisplayFor(modelItem => item.ValPend) - @Html.DisplayFor(modelItem => item.QtaNew) + @Html.DisplayFor(modelItem => item.QtyNew) @Html.DisplayFor(modelItem => item.ValNew) diff --git a/StockManMVC/Views/ItemStockStatus/Create.cshtml b/StockManMVC/Views/ItemStockStatus/Create.cshtml index 0d03c00..41424f8 100644 --- a/StockManMVC/Views/ItemStockStatus/Create.cshtml +++ b/StockManMVC/Views/ItemStockStatus/Create.cshtml @@ -120,10 +120,10 @@
- @Html.LabelFor(model => model.QtaPend, htmlAttributes: new { @class = "control-label col-md-2" }) + @Html.LabelFor(model => model.QtyPend, htmlAttributes: new { @class = "control-label col-md-2" })
- @Html.EditorFor(model => model.QtaPend, new { htmlAttributes = new { @class = "form-control" } }) - @Html.ValidationMessageFor(model => model.QtaPend, "", new { @class = "text-danger" }) + @Html.EditorFor(model => model.QtyPend, new { htmlAttributes = new { @class = "form-control" } }) + @Html.ValidationMessageFor(model => model.QtyPend, "", new { @class = "text-danger" })
@@ -136,10 +136,10 @@
- @Html.LabelFor(model => model.QtaNew, htmlAttributes: new { @class = "control-label col-md-2" }) + @Html.LabelFor(model => model.QtyNew, htmlAttributes: new { @class = "control-label col-md-2" })
- @Html.EditorFor(model => model.QtaNew, new { htmlAttributes = new { @class = "form-control" } }) - @Html.ValidationMessageFor(model => model.QtaNew, "", new { @class = "text-danger" }) + @Html.EditorFor(model => model.QtyNew, new { htmlAttributes = new { @class = "form-control" } }) + @Html.ValidationMessageFor(model => model.QtyNew, "", new { @class = "text-danger" })
diff --git a/StockManMVC/Views/ItemStockStatus/Delete.cshtml b/StockManMVC/Views/ItemStockStatus/Delete.cshtml index cea84af..09015ef 100644 --- a/StockManMVC/Views/ItemStockStatus/Delete.cshtml +++ b/StockManMVC/Views/ItemStockStatus/Delete.cshtml @@ -108,11 +108,11 @@
- @Html.DisplayNameFor(model => model.QtaPend) + @Html.DisplayNameFor(model => model.QtyPend)
- @Html.DisplayFor(model => model.QtaPend) + @Html.DisplayFor(model => model.QtyPend)
@@ -124,11 +124,11 @@
- @Html.DisplayNameFor(model => model.QtaNew) + @Html.DisplayNameFor(model => model.QtyNew)
- @Html.DisplayFor(model => model.QtaNew) + @Html.DisplayFor(model => model.QtyNew)
diff --git a/StockManMVC/Views/ItemStockStatus/Details.cshtml b/StockManMVC/Views/ItemStockStatus/Details.cshtml index b40d393..c8a629d 100644 --- a/StockManMVC/Views/ItemStockStatus/Details.cshtml +++ b/StockManMVC/Views/ItemStockStatus/Details.cshtml @@ -107,11 +107,11 @@
- @Html.DisplayNameFor(model => model.QtaPend) + @Html.DisplayNameFor(model => model.QtyPend)
- @Html.DisplayFor(model => model.QtaPend) + @Html.DisplayFor(model => model.QtyPend)
@@ -123,11 +123,11 @@
- @Html.DisplayNameFor(model => model.QtaNew) + @Html.DisplayNameFor(model => model.QtyNew)
- @Html.DisplayFor(model => model.QtaNew) + @Html.DisplayFor(model => model.QtyNew)
diff --git a/StockManMVC/Views/ItemStockStatus/Edit.cshtml b/StockManMVC/Views/ItemStockStatus/Edit.cshtml index 37530cb..56fa3ce 100644 --- a/StockManMVC/Views/ItemStockStatus/Edit.cshtml +++ b/StockManMVC/Views/ItemStockStatus/Edit.cshtml @@ -114,10 +114,10 @@
- @Html.LabelFor(model => model.QtaPend, htmlAttributes: new { @class = "control-label col-md-2" }) + @Html.LabelFor(model => model.QtyPend, htmlAttributes: new { @class = "control-label col-md-2" })
- @Html.EditorFor(model => model.QtaPend, new { htmlAttributes = new { @class = "form-control" } }) - @Html.ValidationMessageFor(model => model.QtaPend, "", new { @class = "text-danger" }) + @Html.EditorFor(model => model.QtyPend, new { htmlAttributes = new { @class = "form-control" } }) + @Html.ValidationMessageFor(model => model.QtyPend, "", new { @class = "text-danger" })
@@ -130,10 +130,10 @@
- @Html.LabelFor(model => model.QtaNew, htmlAttributes: new { @class = "control-label col-md-2" }) + @Html.LabelFor(model => model.QtyNew, htmlAttributes: new { @class = "control-label col-md-2" })
- @Html.EditorFor(model => model.QtaNew, new { htmlAttributes = new { @class = "form-control" } }) - @Html.ValidationMessageFor(model => model.QtaNew, "", new { @class = "text-danger" }) + @Html.EditorFor(model => model.QtyNew, new { htmlAttributes = new { @class = "form-control" } }) + @Html.ValidationMessageFor(model => model.QtyNew, "", new { @class = "text-danger" })
diff --git a/StockManMVC/Views/ItemStockStatus/Index.cshtml b/StockManMVC/Views/ItemStockStatus/Index.cshtml index 3dcbc93..b1dad79 100644 --- a/StockManMVC/Views/ItemStockStatus/Index.cshtml +++ b/StockManMVC/Views/ItemStockStatus/Index.cshtml @@ -52,13 +52,13 @@ @Html.DisplayNameFor(model => model.ValConf) - @Html.DisplayNameFor(model => model.QtaPend) + @Html.DisplayNameFor(model => model.QtyPend) @Html.DisplayNameFor(model => model.ValPend) - @Html.DisplayNameFor(model => model.QtaNew) + @Html.DisplayNameFor(model => model.QtyNew) @Html.DisplayNameFor(model => model.ValNew) @@ -105,13 +105,13 @@ @Html.DisplayFor(modelItem => item.ValConf) - @Html.DisplayFor(modelItem => item.QtaPend) + @Html.DisplayFor(modelItem => item.QtyPend) @Html.DisplayFor(modelItem => item.ValPend) - @Html.DisplayFor(modelItem => item.QtaNew) + @Html.DisplayFor(modelItem => item.QtyNew) @Html.DisplayFor(modelItem => item.ValNew) diff --git a/StockManMVC/bin/StockManMVC.dll b/StockManMVC/bin/StockManMVC.dll index 3b2c3bb757e7d4182f9009ad7b9c27f058cb524f..31d57e6cfe5946486ba44b8df808442ccc36f3d1 100644 GIT binary patch delta 25346 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 delta 23919 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 Kx6xg