public void Update(Edi_SalesHeader instance) { if (instance == null) { throw new ArgumentNullException(); } this._repository.Update(instance); }
public string Create(Edi_SalesHeader instance) { if (instance == null) { throw new ArgumentNullException(); } return(this._repository.Create(instance)); }
/// <summary> /// insert 850 table /// Edi_SalesHeader/Edi_SalesItem/Edi_SalesPartner/Edi_SalesSchedule /// Is_Proc:V success F fail /// CreateBy:Edi/Web /// </summary> /// <param name="sapSalesOrder"></param> /// <param name="orderNumber"></param> public void InsertSapSalesOrder(SapSalesOrder sapSalesOrder, string orderNumber) { Edi_SalesHeader _Edi_SalesHeader = new Edi_SalesHeader(); _Edi_SalesHeader.DOC_TYPE = sapSalesOrder.Header.DOC_TYPE; _Edi_SalesHeader.SALES_ORG = sapSalesOrder.Header.SALES_ORG; _Edi_SalesHeader.DISTR_CHAN = sapSalesOrder.Header.DISTR_CHAN; _Edi_SalesHeader.DIVISION = sapSalesOrder.Header.DIVISION; _Edi_SalesHeader.PURCH_NO_C = sapSalesOrder.Header.PURCH_NO_C; _Edi_SalesHeader.PURCH_DATE = sapSalesOrder.Header.PURCH_DATE; _Edi_SalesHeader.Is_Proc = orderNumber != "" ? "V" : "F"; _Edi_SalesHeader.DateTime = DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss:"); _Edi_SalesHeader.OrderNumber = orderNumber; _Edi_SalesHeader.CreateBy = sapSalesOrder.CreateBy; this._edi_SalesHeaderService.Create(_Edi_SalesHeader); foreach (SalesItem si in sapSalesOrder.ItemList) { Edi_SalesItem _Edi_SalesItem = new Edi_SalesItem(); _Edi_SalesItem.OrderNumber = orderNumber; _Edi_SalesItem.ITM_NUMBER = si.ITM_NUMBER; _Edi_SalesItem.MATERIAL = si.MATERIAL; _Edi_SalesItem.CUST_MAT35 = si.CUST_MAT35; _Edi_SalesItem.CustomerItemNumber = si.CustomerItemNumber; _Edi_SalesItem.CustomerUnit = si.CustomerUnit; _Edi_SalesItem.CustomerPrice = si.CustomerPrice; _Edi_SalesItem.DateTime = DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"); _Edi_SalesItem.CustomerUnitOfPrice = si.CustomerUnitOfPrice; this._edi_SalesItemService.Create(_Edi_SalesItem); } foreach (SalesSchedule ss in sapSalesOrder.ScheduleList) { Edi_SalesSchedule _Edi_SalesSchedule = new Edi_SalesSchedule(); _Edi_SalesSchedule.OrderNumber = orderNumber; _Edi_SalesSchedule.ITM_NUMBER = ss.ITM_NUMBER; _Edi_SalesSchedule.REQ_DATE = ss.REQ_DATE; _Edi_SalesSchedule.SCHED_LINE = ss.SCHED_LINE; _Edi_SalesSchedule.DateTime = DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"); _Edi_SalesSchedule.REQ_QTY = ss.REQ_QTY; this._edi_SalesScheduleService.Create(_Edi_SalesSchedule); } foreach (SalesPartner sp in sapSalesOrder.PartnerList) { Edi_SalesPartner _Edi_SalesPartner = new Edi_SalesPartner(); _Edi_SalesPartner.OrderNumber = orderNumber; _Edi_SalesPartner.PARTN_ROLE = sp.PARTN_ROLE; _Edi_SalesPartner.PARTN_NUMB = sp.PARTN_NUMB; _Edi_SalesPartner.STREET = sp.STREET; _Edi_SalesPartner.CITY = sp.CITY; _Edi_SalesPartner.REGION = sp.REGION; _Edi_SalesPartner.POSTL_CODE = sp.POSTL_CODE; _Edi_SalesPartner.COUNTRY = sp.COUNTRY; _Edi_SalesPartner.NAME = sp.NAME; _Edi_SalesPartner.DateTime = DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"); _Edi_SalesPartner.TELEPHONE = sp.TELEPHONE; this._edi_SalesPartnerService.Create(_Edi_SalesPartner); } }
public Edi_SalesOrder_855 LineItemStatus(Edi_SalesHeader edi_SalesHeader, List <SOrder> sorderList, List <Edi_SalesItem> edi_SalesItemList, List <Edi_SalesSchedule> edi_SalesScheduleList) { string _Log = ""; string _LineItemStatus = "IA"; string _ItemNumber = ""; Edi_SalesOrder_855 _Edi_SalesOrder_855 = new Edi_SalesOrder_855(); try { List <WebApi.Models.Edi_SalesItem_855> _Edi_SalesItem_855List = new List <WebApi.Models.Edi_SalesItem_855>(); List <WebApi.Models.Edi_SalesSchedule_855> _Edi_SalesSchedule_855List = new List <WebApi.Models.Edi_SalesSchedule_855>(); WebApi.Models.Edi_SalesHeader_855 _Edi_SalesHeader_855 = new WebApi.Models.Edi_SalesHeader_855(); _Edi_SalesHeader_855.PURCH_NO_C = edi_SalesHeader.PURCH_NO_C; _Edi_SalesHeader_855.PURCH_DATE = edi_SalesHeader.PURCH_DATE; _Edi_SalesHeader_855.DateTime = DateTime.Now.ToString("yyyyMMdd"); _Edi_SalesHeader_855.OrderNumber = edi_SalesHeader.OrderNumber; foreach (Edi_SalesItem s in edi_SalesItemList) { List <Edi_SalesSchedule> _Edi_SalesScheduleList = edi_SalesScheduleList.Where(x => x.ITM_NUMBER == s.ITM_NUMBER).ToList(); _ItemNumber = s.ITM_NUMBER; WebApi.Models.Edi_SalesItem_855 _Edi_SalesItem_855 = new WebApi.Models.Edi_SalesItem_855(); _Edi_SalesItem_855.OrderNumber = s.OrderNumber; _Edi_SalesItem_855.CUST_MAT35 = s.CUST_MAT35; _Edi_SalesItem_855.ITM_NUMBER = s.ITM_NUMBER; _Edi_SalesItem_855.MATERIAL = s.MATERIAL; _Edi_SalesItem_855.CustomerUnit = s.CustomerUnit; _Edi_SalesItem_855.CustomerItemNumber = s.CustomerItemNumber; _Edi_SalesItem_855.DateTime = DateTime.Now.ToString("yyyyMMdd"); _Edi_SalesItem_855.CustomerUnitOfPrice = s.CustomerUnitOfPrice; List <SOrder> _SOrderList = sorderList.Where(x => x.POSNR == s.ITM_NUMBER).ToList(); if (_SOrderList.Count > 0) { _Edi_SalesItem_855.TARGET_QTY = Convert.ToString(_SOrderList.First().KWMENG); _Edi_SalesItem_855.Price = Convert.ToString(Decimal.Round(_SOrderList.First().PRICE, 6)); if (_SOrderList.First().LIFSP != "") { _LineItemStatus = "IH"; } if (_SOrderList.First().PRICE != Convert.ToDecimal(s.CustomerPrice)) { _LineItemStatus = "IP"; } if (_SOrderList.First().ABGRU != "") { _LineItemStatus = "IR"; } if (_Edi_SalesScheduleList.Count > 0) { if (_SOrderList.First().EDATU != _Edi_SalesScheduleList.First().REQ_DATE) { _LineItemStatus = "DR"; } if (_SOrderList.First().LFSTA == "C") { _LineItemStatus = "AC"; } if (_SOrderList.First().KWMENG != Convert.ToDecimal(_Edi_SalesScheduleList.First().REQ_QTY)) { _LineItemStatus = "IQ"; } } } else { _Edi_SalesItem_855.Price = s.CustomerPrice; if (_Edi_SalesScheduleList.Count > 0) { _Edi_SalesItem_855.TARGET_QTY = _Edi_SalesScheduleList.First().REQ_QTY; } _LineItemStatus = "ID"; } _Edi_SalesItem_855List.Add(_Edi_SalesItem_855); WebApi.Models.Edi_SalesSchedule_855 _Edi_SalesSchedule_855 = new WebApi.Models.Edi_SalesSchedule_855(); _Edi_SalesSchedule_855.OrderNumber = s.OrderNumber; _Edi_SalesSchedule_855.ITM_NUMBER = s.ITM_NUMBER; _Edi_SalesSchedule_855.CustomerUnit = s.CustomerUnit; _Edi_SalesSchedule_855.Status = _LineItemStatus; _Edi_SalesSchedule_855.DateTime = DateTime.Now.ToString("yyyyMMdd"); _Edi_SalesSchedule_855.DateTimeCode = "017"; _Edi_SalesSchedule_855.REQ_DATE = _SOrderList.Count > 0?_SOrderList.First().EDATU: _Edi_SalesScheduleList.First().REQ_DATE; _Edi_SalesSchedule_855.REQ_QTY = _SOrderList.Count > 0? Convert.ToString(_SOrderList.First().KWMENG) : _Edi_SalesScheduleList.First().REQ_QTY; _Edi_SalesSchedule_855List.Add(_Edi_SalesSchedule_855); } string _HeaderStatus = "AC"; if (_LineItemStatus == "IR") { _HeaderStatus = "RD"; } else if (_LineItemStatus == "IA") { _HeaderStatus = "AD"; } _Edi_SalesHeader_855.Status = _HeaderStatus; _Edi_SalesOrder_855.Header = _Edi_SalesHeader_855; _Edi_SalesOrder_855.ItemList = _Edi_SalesItem_855List; _Edi_SalesOrder_855.ScheduleList = _Edi_SalesSchedule_855List; } catch (Exception ex) { _Log = "\r\n" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + " Edi_SalesHeader_855:LineItemStatus: row : order:" + edi_SalesHeader.OrderNumber + " item:" + _ItemNumber + " , row data has error format:\r\n" + ex.Message; this.ListError.Add(_Log); logger.Error(_Log); } return(_Edi_SalesOrder_855); }
/// <summary> /// get Sap ZSDT046 table SAP_PROC = '' /// get status = 'S' sap order /// 855 message:according to 850 table & sap order data /// insert 855 data to database /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnOrderComfirm_Click(object sender, EventArgs e) { string _Log = ""; string _OrderNumber = ""; try { string _EdiBase = ConfigurationManager.AppSettings["EdiBase"]; btnLogin.PerformClick(); btnGet.PerformClick(); List <Edi_SalesHeader> _SalesHeaderList = getSalesHeaderList(); Edi_SalesOrder_855 _Edi_SalesOrder_855 = new Edi_SalesOrder_855(); TestWebApi.BLL.Edi.Edi_SalesHeader_855 _855 = new TestWebApi.BLL.Edi.Edi_SalesHeader_855(); List <EdiStatus> _EdiStatusList = GetSapEdiStatusList(); foreach (EdiStatus s in _EdiStatusList) { _OrderNumber = s.VBELN; _Log = "\r\n" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + " CreateOrderComfirm: Order Number:" + _OrderNumber; List <SOrder> _SOrderList = GetSapSalesHeaderList(s.VBELN); List <Edi_SalesItem> _SalesItemList = getSalesItemList(s.VBELN); List <Edi_SalesSchedule> _SalesScheduleList = getSalesScheduleList(s.VBELN); if (_SOrderList.Count > 0) { Edi_SalesHeader _Edi_SalesHeader = _SalesHeaderList.Where(x => x.OrderNumber == s.VBELN).First(); if (_edi_Customerlist.Where(x => x.SapCustomerId == _SOrderList.First().KUNNR).ToList().Count > 0) { Edi_Customer c = _edi_Customerlist.Where(x => x.SapCustomerId == _SOrderList.First().KUNNR).First(); _Edi_SalesOrder_855 = _855.LineItemStatus(_Edi_SalesHeader, _SOrderList, _SalesItemList, _SalesScheduleList); if (_855.ListError.Count == 0) { string _Mode = c.Mode == true ? "P" : "T"; if (c.Mode == _EdiMode)//PRD { string _855Msg = _855.X12_855(_Edi_SalesOrder_855, _Mode, c.ReceiverId); insertEdi_855(_Edi_SalesOrder_855); string _FileName = "855_" + _Edi_SalesOrder_855.Header.PURCH_NO_C + "_" + DateTime.Now.ToString("yyyyMMdd") + "_" + Guid.NewGuid().ToString("N") + ".edi"; string _EdiCustomerSend = c.RSSBus_PortId + "/Send"; //write edi file FtpFile.CopyTo("Edi", _EdiCustomerSend, _FileName, _855Msg); //upload to RSSBus send directory FtpFile.Upload("Edi", _EdiCustomerSend, _EdiBase, _FileName); if (c.Mode == true) { updateZSDT046(s.VBELN); } } } else { _Log = _Log + "\r\n" + _855.ListError[0]; logger.Error(_Log); txtLog.Text += _Log; } } } } } catch (Exception ex) { _Log = "\r\n" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + " OrderComfirm:Order Number:" + _OrderNumber + "\r\n" + ex.Message; logger.Error(_Log); txtLog.Text += _Log; } }