public static string RequestListWares() { using (SpecificationProvider provider = new SpecificationProvider()) { List<transfer_ware> returnList = new List<transfer_ware>(); DataSet dataSet = provider.GetListOfWares(DateTime.Now); foreach (DataRow row in dataSet.Tables[0].Rows) { transfer_ware ware = new transfer_ware(); ware.ware_id = row.Field<Guid>("ProductID"); ; ware.ware_pn1 = row.Field<string>("pn1"); ware.ware_pn2 = row.Field<string>("superpole"); string postfix = ""; if (row.Field<Guid?>("id1").HasValue) { // карточка приказная postfix = "1"; //tran.isprikaz = true; } else { // карточка стандартная if (!row.Field<Guid?>("id").HasValue) { // нет никакой карточки returnList.Add(ware); continue; } } ware.order_id = (Guid) row["order_id"]; ware.created = row.Field<DateTime>("created"); ware.LastVersCreatedDate = row.Field<DateTime?>("LastVersCreatedDate"); ware.order_number = row.Field<string>("cco").Trim(); ware.order_year = Convert.ToInt32(row.Field<string>("year").Trim()); ware.date = row.Field<DateTime?>("dtle" + postfix); ware.note = row.Field<string>("cmt" + postfix); //ware.gotov_him = row.Field<string>("h_got" + postfix).Trim() == "ГОТОВ" ? true : false; //ware.gotov_tech = row.Field<string>("t_got" + postfix).Trim() == "ГОТОВ" ? true : false; //ware.gotov_svar = row.Field<string>("s_got" + postfix).Trim() == "ГОТОВ" ? true : false; ware.gotov_him_date = row.Field<DateTime?>("him_date"); ware.gotov_svar_date = row.Field<DateTime?>("svar_date"); ware.gotov_techn_date = row.Field<DateTime?>("techn_date"); returnList.Add(ware); } MemoryStream stream = new MemoryStream(); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<transfer_ware>)); ser.WriteObject(stream, returnList); stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(stream, Encoding.UTF8); return reader.ReadToEnd(); } }
public static string ApplicabilityMaterials(string material_id) { DateTime CurrentDT = DateTime.Now; List<object[]> rows = new List<object[]>(); List<UniColumn> columns = new List<UniColumn>(); // prepare columns columns.Add(new UniColumn() { uniType = UniColumn.UniType.ProductMenu, header = "#", dataBind = "productID" }); columns.Add(new UniColumn() { uniType = UniColumn.UniType.String, header = "Обозначение", dataBind = "pn1" }); columns.Add(new UniColumn() { uniType = UniColumn.UniType.String, header = "Наименование", dataBind = "pn2" }); columns.Add(new UniColumn() { uniType = UniColumn.UniType.String, header = "Год приказа", dataBind = "yorder" }); columns.Add(new UniColumn() { uniType = UniColumn.UniType.String, header = "Номер приказа", dataBind = "norder" }); columns.Add(new UniColumn() { uniType = UniColumn.UniType.Boolean, header = "Основной материал", dataBind = "main_material" }); columns.Add(new UniColumn() { uniType = UniColumn.UniType.Decimal, header = "Норма расхода", dataBind = "no" }); columns.Add(new UniColumn() { uniType = UniColumn.UniType.String, header = "Единица измерения", dataBind = "um" }); columns.Add(new UniColumn() { uniType = UniColumn.UniType.String, header = "Цех потребления", dataBind = "s" }); using (SpecificationProvider provider = new SpecificationProvider()) { for (int specificationTable = 1; specificationTable <= 2; specificationTable++) { DataSet dataSet = provider.GetApplicabilityList(CurrentDT, specificationTable, new Guid(material_id)); foreach (DataRow row in dataSet.Tables[0].Rows) { rows.Add(new object[] { row["productID"], row["pn1"], // обозначение row["pn2"], // наименование row["yorder"], // год приказа row["norder"], // номер приказа (specificationTable == 1), // основной материал Convert.ToDouble(row["no"]).ToString(CultureInfo.InvariantCulture), // норма расхода row["um"], // единица измерения row["s"] // цех потребления }); } } } UniTransfer transfer = new UniTransfer() { columns = columns, rows = rows, statusAnswer = 0, messageAnswer = "Ok" }; try { JavaScriptSerializer serializer = new JavaScriptSerializer(); serializer.MaxJsonLength = 50000000; return serializer.Serialize(transfer); } catch (Exception e) { return e.Message; } }
public static string RebuildListWares() { try { using (SpecificationProvider provider = new SpecificationProvider()) { // получаем все приказы, которые содержат год и номер var orders = from o in provider.OrderArticles where o.year.Length > 0 && o.cco.Length > 0 select o; foreach (var order in orders) { // для каждого приказа получаем приказные продукты List<Product> orderProducts = (from prod in provider.Products where prod._dictNomenID == order._dictNomenID select prod).ToList(); // находим последнюю версию приказного продукта // и вставляем ссылку на неё в приказ if (orderProducts.Count() > 0) { int max_order_version = orderProducts.Max(p => Convert.ToInt32(p.Version)); Product actual_product = orderProducts.Where(p => Convert.ToInt32(p.Version) == max_order_version).Single(); order.LastVersProductID = actual_product.ID; } } provider.SubmitChanges(); } } catch { return "Error!"; } return "Rebuilding list of wares . . . . . . ok"; }