public ActionResult Grid_Read([DataSourceRequest] DataSourceRequest request, string id) { API.Elements.OrderItemController OC = new API.Elements.OrderItemController(); string[] ids = id.Split('_'); var actionResult = OC.GetScriptOrderItem(Convert.ToInt32(ids[1])); ViewBag.OID = id; ScriptItemSelector scriptorderitem = (actionResult as OkNegotiatedContentResult <ScriptItemSelector>).Content; if (scriptorderitem.LayoutType == "F") { scriptorderitem.DisplayColumns += string.Format(",{0},{1},{2},{3},{4}", "quantity", "filterKey", "ItemMaxQuantity", "Code", "Total"); } else { scriptorderitem.DisplayColumns += string.Format(",{0},{1},{2},{3}", "quantity", "filterKey", "ItemMaxQuantity", "Code"); } string[] columns = scriptorderitem.DisplayColumns.Split(','); DataTable dataTable = BuildDisplayColumnsTable(columns, scriptorderitem, HttpContext.Session); if (dataTable.Rows.Count > 0) { dataTable = dataTable.Select(string.Empty, "Code asc").CopyToDataTable(); } return(Json(dataTable.ToDataSourceResult(request))); }
public string Render(int?id, bool criticalelement, ControllerContext ContCont) { API.Elements.OrderItemController OC = new API.Elements.OrderItemController(); var actionResult = OC.GetScriptOrderItem((int)id); if (actionResult != null && actionResult != actionResult as System.Web.Http.Results.NotFoundResult) { ScriptItemSelector scriptorderitem = (actionResult as OkNegotiatedContentResult <ScriptItemSelector>).Content; //scriptorderitem.DisplayColumns += string.Format(",{0},{1},{2},{3}", "quantity", "filterKey", "ItemMaxQuantity", "Code"); if (criticalelement) { ViewBag.OID = "C_" + scriptorderitem.ScriptItemSelectorID.ToString(); ViewBag.Critical = "Y"; } else { ViewBag.OID = "N_" + scriptorderitem.ScriptItemSelectorID.ToString(); ViewBag.Critical = "N"; } if (scriptorderitem.LayoutType == "F") { scriptorderitem.DisplayColumns += string.Format(",{0},{1},{2},{3},{4}", "quantity", "filterKey", "ItemMaxQuantity", "Code", "Total"); } else { scriptorderitem.DisplayColumns += string.Format(",{0},{1},{2},{3}", "quantity", "filterKey", "ItemMaxQuantity", "Code"); } string[] columns = scriptorderitem.DisplayColumns.Split(','); DataTable dataTable = BuildDisplayColumnsTable(columns, scriptorderitem, ContCont.HttpContext.Session); if (dataTable.Rows.Count > 0) { dataTable = dataTable.Select(string.Empty, "Code asc").CopyToDataTable(); } //ContCont.HttpContext.Session["DataTable"] = dataTable; var Model = new QueryModel(); Model.Data = dataTable; //Column description: Name and Type var dyn = new Dictionary <string, System.Type>(); foreach (System.Data.DataColumn column in Model.Data.Columns) { var t = System.Type.GetType(column.DataType.FullName); dyn.Add(column.ColumnName, t); } Model.Bind = dyn; List <ScriptItem> scriptItems = GetScriptItems(scriptorderitem); bool firsttime = true; string ilist = ""; foreach (ScriptItem scriptItem in scriptItems) { if (firsttime) { ilist = scriptItem.ItemCode; } else { ilist = ilist + "~~" + scriptItem.ItemCode; } firsttime = false; } ViewBag.itemCollection = ilist; if (!string.IsNullOrEmpty(scriptorderitem.SetKeys)) { ViewBag.SetKeys = "Y"; criticalelement = true; } else { ViewBag.SetKeys = false; } if (criticalelement) { ViewBag.OID = "C_" + scriptorderitem.ScriptItemSelectorID.ToString(); ViewBag.Critical = "Y"; } else { ViewBag.OID = "N_" + scriptorderitem.ScriptItemSelectorID.ToString(); ViewBag.Critical = "N"; } ViewBag.Title = scriptorderitem.SelectorTitle; if (scriptItems.Count == 1) { return(RenderHelper.RenderViewToString(ContCont, "~/Views/OrderItem/_MultiItemGrid.cshtml", Model, ViewData)); } else if (scriptItems.Count > 1) { switch (scriptorderitem.LayoutType) { case "S": return(RenderHelper.RenderViewToString(ContCont, "~/Views/OrderItem/_SelectItem.cshtml", Model, ViewData)); case "M": return(RenderHelper.RenderViewToString(ContCont, "~/Views/OrderItem/_SelectMultiItem.cshtml", Model, ViewData)); case "F": return(RenderHelper.RenderViewToString(ContCont, "~/Views/OrderItem/_MultiItemGrid.cshtml", Model, ViewData)); } } } return(""); }