public void ProcessInbound(Inbound.Документ s) { var userID = Helper.GetUserName(); var userB2B = _Context.B2BUser.First(r => r.B2BUserID == userID); // Заказ var o = new Dme.Core.Order(); o.UserID = userID; o.DT = DateTime.Now; o.CustOrderID = s.Номер; o.CustOrderDT = s.Дата; string orderTypeName = GetParameter(s, "Тип") ?? "Поставка"; o.OrderType = _Context.OrderType.Where(ot=>ot.Name==orderTypeName && ot.Sign=="+").FirstOrDefault(); if (o.OrderType == null) throw new Exception("Неизвестный тип документа"); o.CustomerID = userB2B.CustomerID; var t = s.ТаблДок.First(); // Отправитель o.Supplier = GetSupplier(s.Отправитель.First().СвЮЛ.First()); // Строки int rowNo = 1; foreach (var r in t.СтрТабл) { var i = new Core.OrderDocRow(); i.Partm = GetPartm(r); i.BatchNo = r.Серия; i.InvQual = r.Качество ?? "N"; i.SpecInvID = r.Маркер; i.ExpireDT = r.СрокГодности; i.Qty = r.Кол_во; i.Price = r.Цена; i.RowNo = rowNo; o.OrderDocRow.Add(i); rowNo++; } // сохраняем изменения _Context.Order.Add(o); }
public void ProcessOutbound(Outbound.Документ s) { var userID = Helper.GetUserName(); var userB2B = _Context.B2BUser.First(r => r.B2BUserID == userID); // Заказ var o = new Dme.Core.Order(); o.UserID = userID; o.DT = DateTime.Now; o.CustOrderID = s.Номер; o.CustOrderDT = s.Дата; string orderTypeName = GetParameter(s, "Тип") ?? "Отгрузка"; o.OrderType = _Context.OrderType.Where(ot => ot.Name == orderTypeName && ot.Sign == "-").FirstOrDefault(); if (o.OrderType == null) { throw new Exception("Неизвестный тип документа"); } o.CustomerID = userB2B.CustomerID; var t = s.ТаблДок.First(); // Отправитель o.Dest = new Core.Dest(); o.Dest.Name = GetParameter(s, "ПолучательНаим", true); o.Dest.Addr = GetParameter(s, "ПолучательАдрес", true); o.Dest.Phone = GetParameter(s, "ПолучательТел"); o.Dest.Note = GetParameter(s, "ПолучательПримечание"); o.Dest.WorkSchW1From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыПн") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW2From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыВт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW3From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыСр") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW4From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыЧт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW5From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыПт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW6From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыСб") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW7From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыВс") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW1To = TimeSpan.Parse(GetParameter(s, "КонецРаботыПн") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW2To = TimeSpan.Parse(GetParameter(s, "КонецРаботыВт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW3To = TimeSpan.Parse(GetParameter(s, "КонецРаботыСр") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW4To = TimeSpan.Parse(GetParameter(s, "КонецРаботыЧт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW5To = TimeSpan.Parse(GetParameter(s, "КонецРаботыПт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW6To = TimeSpan.Parse(GetParameter(s, "КонецРаботыСб") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW7To = TimeSpan.Parse(GetParameter(s, "КонецРаботыВс") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW1From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиПн") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW2From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиВт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW3From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиСр") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW4From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиЧт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW5From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиПт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW6From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиСб") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW7From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиВс") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW1To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиПн") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW2To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиВт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW3To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиСр") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW4To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиЧт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW5To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиПт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW6To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиСб") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW7To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиВс") ?? "23:59:59", CultureInfo.InvariantCulture); _Context.Dest.Add(o.Dest); // Примечание string orderNote = GetParameter(s, "Примечание"); if (orderNote != null) { o.OrderNote.Add(new Core.OrderNote { Note = orderNote }); } // Строки int rowNo = 1; foreach (var r in t.СтрТабл) { var i = new Core.OrderDocRow(); i.Partm = _Context.Partm.FirstOrDefault(p => p.id1 == r.Код); i.BatchNo = r.Серия; i.InvQual = r.Качество ?? "N"; i.SpecInvID = r.Маркер; i.ExpireDT = r.СрокГодности; i.Qty = r.Кол_во; i.Price = r.Цена; i.RowNo = rowNo; o.OrderDocRow.Add(i); rowNo++; } // сохраняем изменения _Context.Order.Add(o); }
public void ProcessOutbound(Outbound.Документ s) { var userID = Helper.GetUserName(); var userB2B = _Context.B2BUser.First(r => r.B2BUserID == userID); // Заказ var o = new Dme.Core.Order(); o.UserID = userID; o.DT = DateTime.Now; o.CustOrderID = s.Номер; o.CustOrderDT = s.Дата; string orderTypeName = GetParameter(s, "Тип") ?? "Отгрузка"; o.OrderType = _Context.OrderType.Where(ot => ot.Name == orderTypeName && ot.Sign == "-").FirstOrDefault(); if (o.OrderType == null) throw new Exception("Неизвестный тип документа"); o.CustomerID = userB2B.CustomerID; var t = s.ТаблДок.First(); // Отправитель o.Dest = new Core.Dest(); o.Dest.Name = GetParameter(s, "ПолучательНаим", true); o.Dest.Addr = GetParameter(s, "ПолучательАдрес", true); o.Dest.Phone = GetParameter(s, "ПолучательТел"); o.Dest.Note = GetParameter(s, "ПолучательПримечание"); o.Dest.WorkSchW1From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыПн") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW2From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыВт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW3From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыСр") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW4From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыЧт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW5From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыПт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW6From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыСб") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW7From = TimeSpan.Parse(GetParameter(s, "НачалоРаботыВс") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.WorkSchW1To = TimeSpan.Parse(GetParameter(s, "КонецРаботыПн") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW2To = TimeSpan.Parse(GetParameter(s, "КонецРаботыВт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW3To = TimeSpan.Parse(GetParameter(s, "КонецРаботыСр") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW4To = TimeSpan.Parse(GetParameter(s, "КонецРаботыЧт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW5To = TimeSpan.Parse(GetParameter(s, "КонецРаботыПт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW6To = TimeSpan.Parse(GetParameter(s, "КонецРаботыСб") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.WorkSchW7To = TimeSpan.Parse(GetParameter(s, "КонецРаботыВс") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW1From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиПн") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW2From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиВт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW3From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиСр") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW4From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиЧт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW5From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиПт") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW6From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиСб") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW7From = TimeSpan.Parse(GetParameter(s, "НачалоПриемкиВс") ?? "00:00:00", CultureInfo.InvariantCulture); o.Dest.DeliverySchW1To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиПн") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW2To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиВт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW3To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиСр") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW4To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиЧт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW5To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиПт") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW6To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиСб") ?? "23:59:59", CultureInfo.InvariantCulture); o.Dest.DeliverySchW7To = TimeSpan.Parse(GetParameter(s, "КонецПриемкиВс") ?? "23:59:59", CultureInfo.InvariantCulture); _Context.Dest.Add(o.Dest); // Примечание string orderNote = GetParameter(s, "Примечание"); if (orderNote != null) o.OrderNote.Add(new Core.OrderNote { Note = orderNote }); // Строки int rowNo = 1; foreach (var r in t.СтрТабл) { var i = new Core.OrderDocRow(); i.Partm = _Context.Partm.FirstOrDefault(p => p.id1 == r.Код); i.BatchNo = r.Серия; i.InvQual = r.Качество ?? "N"; i.SpecInvID = r.Маркер; i.ExpireDT = r.СрокГодности; i.Qty = r.Кол_во; i.Price = r.Цена; i.RowNo = rowNo; o.OrderDocRow.Add(i); rowNo++; } // сохраняем изменения _Context.Order.Add(o); }