487828a697
refresh su IIS01/IIS02
240 lines
14 KiB
C#
240 lines
14 KiB
C#
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(StockManMVC.MVCGridConfig), "RegisterGrids")]
|
|
|
|
namespace StockManMVC
|
|
{
|
|
using System;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
using System.Linq;
|
|
using System.Collections.Generic;
|
|
|
|
using MVCGrid.Models;
|
|
using MVCGrid.Web;
|
|
using Models;
|
|
using Controllers;
|
|
|
|
public static class MVCGridConfig
|
|
{
|
|
private static StockManEntities db = new StockManEntities();
|
|
public static void RegisterGrids()
|
|
{
|
|
GridDefaults gridDefaults = new GridDefaults()
|
|
{
|
|
//Auth
|
|
AuthorizationType = AuthorizationType.AllowAnonymous,
|
|
//Paginazione
|
|
Paging = true,
|
|
ItemsPerPage = 10,
|
|
AllowChangingPageSize = true,
|
|
MaxItemsPerPage = 100,
|
|
//Sorting
|
|
Sorting = true,
|
|
DefaultSortDirection = SortDirection.Asc,
|
|
//Altro
|
|
NoResultsMessage = "Spiacenti, nessun risultato disponibile."
|
|
};
|
|
|
|
ColumnDefaults colDefaults = new ColumnDefaults()
|
|
{
|
|
EnableSorting = true,
|
|
AllowChangeVisibility = true,
|
|
Visible = true,
|
|
EnableFiltering = true
|
|
|
|
};
|
|
|
|
MVCGridDefinitionTable.Add("ItemsGrid", new MVCGridBuilder<Models.Item>(gridDefaults, colDefaults) // aggiungo valori di default...
|
|
.WithSorting(sorting: true, defaultSortColumn: "Descr") //, defaultSortDirection: SortDirection.Dsc
|
|
.WithAdditionalQueryOptionNames("search")
|
|
//.WithRowCssClassExpression(p => p.QtaCurr == 0 ? "warning" : "") // commentata x ora, poi potrebbe servire...
|
|
.WithQueryStringPrefix("ItemsGrd")
|
|
.AddColumns(cols =>
|
|
{
|
|
//Add your columns here
|
|
cols.Add("ViewLink").WithColumnName("ViewLink")
|
|
.WithHeaderText("")
|
|
.WithSorting(false)
|
|
.WithVisibility(true, false)
|
|
.WithAllowChangeVisibility(false)
|
|
.WithHtmlEncoding(false)
|
|
.WithValueExpression((i, c) => c.UrlHelper.Action("Details", "Items", new { id = i.ID, StockItemID = i.ID }))
|
|
.WithValueTemplate("<a href='{Value}' title='Vedi Dettagli' class='btn btn-xs btn-info'><i class='glyphicon glyphicon-search' aria-hidden='true'></i></a>");
|
|
cols.Add("Family").WithColumnName("Family")
|
|
.WithVisibility(true, false)
|
|
.WithAllowChangeVisibility(false)
|
|
.WithHeaderText("Famiglia")
|
|
.WithValueExpression(i => i.ItemFamily.Descr);
|
|
cols.Add("CodInt").WithColumnName("CodInt")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Cod. Articolo")
|
|
.WithValueExpression(i => i.CodInt);
|
|
cols.Add("Descr").WithColumnName("Descr")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Articolo")
|
|
.WithValueExpression(i => i.Descr); // qui legare il valore...
|
|
cols.Add("CodExt").WithColumnName("CodExt")
|
|
.WithHeaderText("Cod. Fornitore")
|
|
.WithValueExpression(i => i.CodExt);
|
|
cols.Add("DescrExt").WithColumnName("DescrExt")
|
|
.WithVisibility(false, true)
|
|
.WithHeaderText("Descr. Fornitore")
|
|
.WithValueExpression(i => i.DescrExt);
|
|
cols.Add("QtaMin").WithColumnName("QtaMin")
|
|
.WithVisibility(false, true)
|
|
.WithHeaderText("Qta Minima")
|
|
.WithValueExpression(i => i.QtaMin.ToString());
|
|
cols.Add("QtaBatch").WithColumnName("QtaBatch")
|
|
.WithVisibility(false, true)
|
|
.WithHeaderText("Lotto")
|
|
.WithValueExpression(i => i.QtaBatch.ToString());
|
|
cols.Add("QtaPend").WithColumnName("QtaPend")
|
|
.WithHeaderText("Stock")
|
|
.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")
|
|
.WithValueExpression(i => i.CurrValue.ToString("C2"));
|
|
cols.Add("TotVal").WithColumnName("TotVal")
|
|
.WithHeaderText("Valore")
|
|
.WithValueExpression(i => Convert.ToDecimal(i.CurrValue * i.QtaCurr).ToString("C2"));
|
|
cols.Add("Clona").WithColumnName("Clona")
|
|
.WithSorting(false)
|
|
.WithVisibility(true, false)
|
|
.WithAllowChangeVisibility(false)
|
|
.WithHeaderText("")
|
|
.WithHtmlEncoding(false)
|
|
.WithValueExpression((i, c) => c.UrlHelper.Action("Duplicate", "Items", new { id = i.ID }))
|
|
.WithValueTemplate("<a href='{Value}' title='Duplica Articolo' class='btn btn-xs btn-warning'><i class='glyphicon glyphicon-duplicate' aria-hidden='true'></i></a>");
|
|
//cols.Add("EditLink").WithColumnName("EditLink")
|
|
// .WithSorting(false)
|
|
// .WithVisibility(true, false)
|
|
// .WithHeaderText("")
|
|
// .WithHtmlEncoding(false)
|
|
// .WithValueExpression((i, c) => c.UrlHelper.Action("Edit", "Items", new { id = i.ID, mode = "full" }))
|
|
// .WithValueTemplate("<a href='{Value}' data-toggle=\"tooltip\" title=\"Modifica\" class='btn btn-xs btn-primary'><i class=\"glyphicon glyphicon-edit\"></i></a>");
|
|
})
|
|
.WithRetrieveDataMethod((context) =>
|
|
{
|
|
var options = context.QueryOptions;
|
|
string SearchVal = options.GetAdditionalQueryOptionString("search");
|
|
if (String.IsNullOrEmpty(SearchVal)) SearchVal = "";
|
|
|
|
return new QueryResult<Models.Item>()
|
|
{
|
|
Items = ItemsController.SelectPage(SearchVal, options.SortColumnName.ToLower(), options.SortDirection.ToString().ToLower(), (int)options.PageIndex, (int)options.ItemsPerPage).ToList(),
|
|
TotalRecords = ItemsController.SelectCount(SearchVal)
|
|
};
|
|
|
|
})
|
|
);
|
|
|
|
MVCGridDefinitionTable.Add("StockItemsGrid", new MVCGridBuilder<Models.ItemStock>(gridDefaults, colDefaults) // aggiungo valori di default...
|
|
.WithSorting(sorting: true, defaultSortColumn: "LocationID") //, defaultSortDirection: SortDirection.Dsc
|
|
.WithAdditionalQueryOptionNames("ItemID")
|
|
//.WithRowCssClassExpression(p => p.QtaCurr == 0 ? "warning" : "") // commentata x ora, poi potrebbe servire...
|
|
.WithQueryStringPrefix("Stock")
|
|
.WithPaging(false)
|
|
.AddColumns(cols =>
|
|
{
|
|
cols.Add("LocationID").WithColumnName("LocationID")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Posizione")
|
|
.WithValueExpression(i => i.Location.Descr);
|
|
cols.Add("QtyConf").WithColumnName("QtyConf")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Giacenza")
|
|
.WithValueExpression(i => i.QtyConf.ToString());
|
|
})
|
|
.WithRetrieveDataMethod((context) =>
|
|
{
|
|
|
|
var options = context.QueryOptions;
|
|
string sItemID = options.GetAdditionalQueryOptionString("ItemID");
|
|
if (String.IsNullOrEmpty(sItemID)) sItemID = "0";
|
|
int ItemID = Convert.ToInt32(sItemID);
|
|
|
|
return new QueryResult<Models.ItemStock>()
|
|
{
|
|
Items = ItemStocksController.Select(ItemID).ToList(),
|
|
TotalRecords = ItemStocksController.SelectCount(ItemID)
|
|
};
|
|
|
|
})
|
|
);
|
|
|
|
MVCGridDefinitionTable.Add("ItemsFlux2SaveGrid", new MVCGridBuilder<Models.vItemFlux2Save>(gridDefaults, colDefaults) // aggiungo valori di default...
|
|
.WithSorting(sorting: true, defaultSortColumn: "dtMov") //, defaultSortDirection: SortDirection.Dsc
|
|
.WithQueryStringPrefix("IF2S")
|
|
.WithPaging(true)
|
|
.WithAdditionalQueryOptionNames("search")
|
|
.AddColumns(cols =>
|
|
{
|
|
//Add your columns here
|
|
cols.Add("ProcItemFlux").WithColumnName("ProcItemFlux")
|
|
.WithSorting(false)
|
|
.WithVisibility(true, false)
|
|
.WithAllowChangeVisibility(false)
|
|
.WithHeaderText("")
|
|
.WithHtmlEncoding(false)
|
|
.WithValueExpression((i, c) => c.UrlHelper.Action("Consolidate", "Items", new { id = i.ItemID, caller = "vIF2S" }))
|
|
.WithValueTemplate("<a href='{Value}' class='btn btn-xs btn-warning' title='Registra Movimenti' onClick=\"return confirm('Sicuro di voler procedere?')\"><i class='glyphicon glyphicon-save' aria-hidden='true'></i></a>");
|
|
cols.Add("FamilyID").WithColumnName("FamilyID")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Famiglia")
|
|
.WithValueExpression(i => i.Item.ItemFamily.Descr);
|
|
cols.Add("CodInt").WithColumnName("CodInt")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Cod Int")
|
|
.WithValueExpression(i => i.Item.CodInt);
|
|
cols.Add("Descr").WithColumnName("Descr")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Articolo")
|
|
.WithValueExpression(i => i.Item.Descr);
|
|
cols.Add("NumMov").WithColumnName("NumMov")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Num Mov")
|
|
.WithCellCssClassExpression(p => p.TotQtaCar > 0 ? "success text-right" : "danger text-right")
|
|
.WithValueExpression(i => i.NumMov.ToString());
|
|
cols.Add("TotQta").WithColumnName("TotQta")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Variazione netta")
|
|
.WithCellCssClassExpression(p => p.TotQtaCar > 0 ? "success text-right" : "danger text-right")
|
|
.WithValueExpression(i => i.TotQta.ToString());
|
|
cols.Add("TotQtaOrd").WithColumnName("TotQtaOrd")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Tot Ordini")
|
|
.WithCellCssClassExpression(p => p.TotQtaOrd > 0 ? "success text-right" : "info text-right")
|
|
.WithValueExpression(i => i.TotQtaOrd.ToString());
|
|
cols.Add("TotQtaCar").WithColumnName("TotQtaCar")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Tot Carichi")
|
|
.WithCellCssClassExpression(p => p.TotQtaCar > 0 ? "success text-right" : "info text-right")
|
|
.WithValueExpression(i => i.TotQtaCar.ToString());
|
|
cols.Add("TotValCar").WithColumnName("TotValCar")
|
|
.WithVisibility(true, false)
|
|
.WithHeaderText("Tot Valore Carichi")
|
|
.WithValueExpression(i => Convert.ToDecimal(i.TotValCar).ToString("C2"));
|
|
cols.Add("ViewLink").WithColumnName("ViewLink")
|
|
.WithSorting(false)
|
|
.WithVisibility(true, false)
|
|
.WithAllowChangeVisibility(false)
|
|
//.WithHeaderText("<a href='/Items' class='btn btn-xs btn-default' title='reset'><i class='glyphicon glyphicon-refresh' aria-hidden='true'></i></a>")
|
|
.WithHtmlEncoding(false)
|
|
.WithValueExpression((i, c) => c.UrlHelper.Action("Details", "Items", new { id = i.ItemID, StockItemID = i.ItemID }))
|
|
.WithValueTemplate("<a href='{Value}' class='btn btn-xs btn-info' title='Vedi Dettagli'><i class='glyphicon glyphicon-search' aria-hidden='true'></i></a>");
|
|
})
|
|
.WithRetrieveDataMethod((context) =>
|
|
{
|
|
return new QueryResult<Models.vItemFlux2Save>()
|
|
{
|
|
Items = vItemFlux2SaveController.Select().ToList(),
|
|
TotalRecords = vItemFlux2SaveController.SelectCount()
|
|
};
|
|
|
|
})
|
|
);
|
|
|
|
}
|
|
}
|
|
} |