private void addSales() { salesOrder s = new salesOrder(); s.salesDate = DateTime.Now; s.salesType = "offline"; s.totalAmount = (decimal)(double.Parse(txtTotalAmount.Text)); s.salesStatus = "unpaid"; if (ddlType.Text.Equals("Full Payment")) { s.salesStatus = "paid"; } s.customer = Guid.Parse(Membership.GetUser(ddlCust.Text).ProviderUserKey.ToString()); s.staff = Guid.Parse(Membership.GetUser().ProviderUserKey.ToString()); dc.salesOrders.InsertOnSubmit(s); // Submit the change to the database. try { dc.SubmitChanges(); }catch (Exception ex) { Console.WriteLine(ex); } }
public static salesOrderLine GetSalesOrderLine(String docNum, Int32 lineNum, String companyCode, DALPortalDataContext dc) { salesOrder salesOrder = GetSalesOrder(docNum, companyCode, dc); if (salesOrder == null) { return(null); } else { return(salesOrder.salesOrderLines.Where(c => c.lineNum.Equals(lineNum)).FirstOrDefault()); } }
public ActionResult Details(Guid id) { salesOrder iSalesOrder = null; Uri iUri = new Uri(ODataWebService.BuildODataUrl()); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; try { iSalesOrder = (from salesOrder in iWebService.salesOrders where salesOrder.id == id select salesOrder).FirstOrDefault(); } catch (Exception ex) { // return ex; } return(View(iSalesOrder)); }
public ActionResult CreateOrder(salesOrderModel salesOrderModel) { if (string.IsNullOrEmpty(salesOrderModel.customerNumber)) { ModelState.AddModelError("", "Customer Number is required"); } if (!ModelState.IsValid) { return(View(salesOrderModel)); } var newOrder = new salesOrder(); try { var iUri = new Uri(ODataWebService.BuildODataUrl()); var iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; newOrder.customerNumber = salesOrderModel.customerNumber; newOrder.billToCustomerNumber = salesOrderModel.customerNumber; newOrder.externalDocumentNumber = salesOrderModel.externalDocumentNumber; newOrder.orderDate = salesOrderModel.orderDateTime; newOrder.requestedDeliveryDate = salesOrderModel.requestedDeliveryDateTime; newOrder.shipToContact = salesOrderModel.shipToContact; newOrder.shipToName = salesOrderModel.shipToName; newOrder.shippingPostalAddress = salesOrderModel.shippingPostalAddress; iWebService.AddTosalesOrders(newOrder); iWebService.SaveChanges(); } catch (Exception ex) { } return(RedirectToAction("UpdateOrder", new { id = newOrder.id })); }
private void bindDetails() { int salesId = (from s in dc.salesOrders select s.salesId).Max(); salesOrder so = (from s in dc.salesOrders where s.salesId == salesId select s).Single(); lblId.Text = convertIdToStr("S", salesId.ToString()); lblDate.Text = so.salesDate.ToShortDateString(); lblCust.Text = Membership.GetUser().UserName; lblType.Text = "Installment Payment"; lblDelivery.Text = "Yes"; lblAddr.Text = (from d in dc.deliveries where d.salesId == salesId select d.deliveryAddress).Single(); lblTotal.Text = so.totalAmount.ToString("0.00"); lblPaid.Text = (so.totalAmount / 2).ToString("0.00"); lblUnpaid.Text = (so.totalAmount / 2).ToString("0.00"); GridView1.DataSource = from s in dc.salesItems where s.salesId == salesId select new { s.productId, s.product.productName, s.quantity, s.unitPrice, s.totalPrice }; GridView1.DataBind(); }
private void addSales() { salesOrder s = new salesOrder(); s.salesDate = DateTime.Now; s.salesType = "online"; s.totalAmount = (decimal)(double.Parse(results["mc_gross"])) * 2; s.salesStatus = "unpaid"; s.customer = Guid.Parse(Membership.GetUser().ProviderUserKey.ToString()); s.staff = null; dc.salesOrders.InsertOnSubmit(s); // Submit the change to the database. try { dc.SubmitChanges(); } catch (Exception ex) { Console.WriteLine(ex); } }
partial void UpdatesalesOrder(salesOrder instance) { instance.timeStampLastUpdate = DateTime.Now; this.ExecuteDynamicUpdate(instance); }
partial void InsertsalesOrder(salesOrder instance) { instance.timeStampCreated = DateTime.Now; instance.docType = "SO"; this.ExecuteDynamicInsert(instance); }
public static Boolean ProcessSalesOrder(string fileContent, out salesOrder document) { document = new salesOrder(); DALPortalDataContext dc = new DALPortalDataContext(); Boolean update; try { XDocument xmldoc = XDocument.Parse(fileContent); XElement docTypeElement = xmldoc.Element("ORDERS05"); XElement iDocElement = docTypeElement.Element("IDOC"); // Company XElement companyElement = iDocElement.Elements("E1EDK14").ToList().Where(c => c.Element("QUALF").Value.Equals("008")).FirstOrDefault(); String sectionCode = companyElement.Element("ORGID").Value; String companyCode = CompanyClass.GetCompanyBasedOnSection(sectionCode, dc); String ecc6DocNum = RemoveLeadingZeros(iDocElement.Element("E1EDK01").Element("BELNR").Value); // Check if Sales Order already exists document = dc.salesOrders.Where(c => c.documentNumber.Equals(ecc6DocNum) && c.companyCode.Equals(companyCode)).FirstOrDefault(); if (document == null) { document = new salesOrder(); document.companyCode = companyCode; document.documentNumber = ecc6DocNum; document.docStatusCode = "O"; update = false; } else { update = true; } // Document Header info String sapECC6BusinessPartnerCode = Convert.ToInt32(iDocElement.Element("E1EDK01").Element("RECIPNT_NO").Value).ToString(); businessPartner bp = Objects.BusinessPartnerClass.GetBusinessPartner(sapECC6BusinessPartnerCode, document.companyCode, dc); if (bp == null) { throw new Exception(String.Format("BusinessPartner {0} does not exists.", sapECC6BusinessPartnerCode)); } document.businessPartnerId = bp.businessPartnerId; document.currencyCode = iDocElement.Element("E1EDK01").Element("CURCY").Value; document.currencyRate = Convert.ToDecimal(iDocElement.Element("E1EDK01").Element("WKURS").Value, NumberFormatInfo.InvariantInfo); // Customer Reference XElement custRef = iDocElement.Elements("E1EDK02").ToList().Where(c => c.Element("QUALF").Value.Equals("001")).FirstOrDefault(); document.customerReference = custRef.Element("BELNR").Value; // Dates XElement delDateElement = iDocElement.Elements("E1EDK03").ToList().Where(c => c.Element("IDDAT").Value.Equals("002")).FirstOrDefault(); document.deliveryDate = DateTime.ParseExact(delDateElement.Element("DATUM").Value, "yyyyMMdd", CultureInfo.CurrentCulture); XElement del2DateElement = iDocElement.Elements("E1EDK03").ToList().Where(c => c.Element("IDDAT").Value.Equals("012")).FirstOrDefault(); document.docDate = DateTime.ParseExact(del2DateElement.Element("DATUM").Value, "yyyyMMdd", CultureInfo.CurrentCulture); XElement del3DateElement = iDocElement.Elements("E1EDK03").ToList().Where(c => c.Element("IDDAT").Value.Equals("025")).FirstOrDefault(); document.createDate = DateTime.ParseExact(del3DateElement.Element("DATUM").Value, "yyyyMMdd", CultureInfo.CurrentCulture); // Sales Order lines foreach (var orderLineElement in iDocElement.Elements("E1EDP01").ToList()) { salesOrderLine line = new salesOrderLine(); Int32 lineNum = Convert.ToInt32(orderLineElement.Element("POSEX").Value); Boolean newLine = false; if (update && document.salesOrderLines.Any(c => c.lineNum.Equals(lineNum))) { line = document.salesOrderLines.Where(c => c.lineNum.Equals(lineNum)).FirstOrDefault(); } else { line.lineNum = lineNum; newLine = true; } // Get Item (remove leading zero's) XElement ItemCodeElement = orderLineElement.Elements("E1EDP19").ToList().Where(c => c.Element("QUALF").Value.Equals("002")).FirstOrDefault(); String itemCode = RemoveLeadingZeros(ItemCodeElement.Element("IDTNR").Value); String itemName = ItemCodeElement.Element("KTEXT").Value; item item = ItemClass.GetItem(itemCode, companyCode, dc); if (item == null) { item = ItemClass.CreateItem(itemCode, itemName, companyCode); } line.itemId = item.itemId; line.lineNum = Convert.ToInt32(orderLineElement.Element("POSEX").Value); line.uomCodeOrg = orderLineElement.Element("MENEE").Value; line.price = Convert.ToDecimal(orderLineElement.Element("VPREI").Value, NumberFormatInfo.InvariantInfo); line.itemDescription = itemName; if (orderLineElement.Element("MENGE") != null) { line.quantity = Convert.ToDecimal(orderLineElement.Element("MENGE").Value, NumberFormatInfo.InvariantInfo); } else { line.quantity = 0; } if (orderLineElement.Element("NTGEW") != null) { line.weight = Convert.ToDecimal(orderLineElement.Element("NTGEW").Value, NumberFormatInfo.InvariantInfo); } else { line.weight = 0; } line.lineTypeCode = orderLineElement.Element("PSTYV").Value; line.lineStatusCode = "O"; line.customerReference = String.Empty; line.customerItemCode = String.Empty; XElement customerItemCodeElement = orderLineElement.Elements("E1EDP19").ToList().Where(c => c.Element("QUALF").Value.Equals("001")).FirstOrDefault(); if (customerItemCodeElement != null) { XElement customerItemCodeElement2 = customerItemCodeElement.Element("IDTNR"); if (customerItemCodeElement2 != null) { line.customerItemCode = RemoveLeadingZeros(customerItemCodeElement2.Value); } } XElement customerReference = orderLineElement.Elements("E1EDPT1").ToList().Where(c => c.Element("TDID").Value.Equals("0002")).FirstOrDefault(); if (customerReference != null) { XElement customerReference2 = customerReference.Element("E1EDPT2"); if (customerReference2 != null) { line.customerReference = customerReference2.Element("TDLINE") != null?customerReference2.Element("TDLINE").Value : String.Empty; } } // Line is cancelled when field ABGRU is filled var lineStatusElement = orderLineElement.Element("ABGRU");; if (lineStatusElement != null) { if (!String.IsNullOrWhiteSpace(lineStatusElement.Value)) { line.lineStatusCode = "C"; } } // ShipDate String deliveryDate = GetSOLineDeliveryDate(orderLineElement); if (!String.IsNullOrEmpty(deliveryDate)) { line.deliveryDate = DateTime.ParseExact(deliveryDate, "yyyyMMdd", CultureInfo.CurrentCulture); } // Certificate as Ordered Boolean certAsOrdered = orderLineElement.Elements("E1EDP02").ToList().Any(c => c.Element("QUALF").Value.Equals("902") && c.Element("BELNR").Value.Equals("ZCPT")); line.certOrdered = certAsOrdered; if (newLine) { document.salesOrderLines.Add(line); } } } catch (Exception ex) { Trace.WriteLine(String.Format("Error converting Sales Order {0} for company {1} from SAP ECC6 XML format. Error: {2}", document.documentNumber, document.companyCode, ex.Message), "ProcessSalesOrder"); return(false); } if (update) { try { dc.SubmitChanges(); Trace.WriteLine(String.Format("Updating Sales Order {0} for company {1} Successfull.", document.documentNumber, document.companyCode), "ProcessSalesOrder"); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Updating Sales Order {0} for company {1}. Error: {2}", document.documentNumber, document.companyCode, ex.Message), "ProcessSalesOrder"); return(false); } } else { try { dc.salesOrders.InsertOnSubmit(document); dc.SubmitChanges(); Trace.WriteLine(String.Format("Creating Sales Order {0} for company {1} Successfull.", document.documentNumber, document.companyCode), "ProcessSalesOrder"); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Creating Sales Order {0} for company {1}. Error: {2}", document.documentNumber, document.companyCode, ex.Message), "ProcessSalesOrder"); return(false); } } return(true); }
public Boolean ProcessDataFromXML(String databaseName, String fileContent) { Boolean returnValue = true; try { // Check xml type // SAPECC6 if (fileContent.Contains("IDOC")) { businessPartner customer = new businessPartner(); DALPortalDataContext dc = new DALPortalDataContext(); String companyCode; //Customer if (fileContent.Contains("DEBMAS03")) { if (!XMLSAPECC6Processor.ProcessCustomer(fileContent, out customer, out companyCode)) { return(false); } CreateUsers(customer, companyCode, dc); } //SalesOrder if (fileContent.Contains("ORDERS05")) { salesOrder document = new salesOrder(); if (!XMLSAPECC6Processor.ProcessSalesOrder(fileContent, out document)) { return(false); } } //Delivery if (fileContent.Contains("DELVRY03")) { delivery document = new delivery(); if (!XMLSAPECC6Processor.ProcessDelivery(fileContent, out document)) { return(false); } } //Item if (fileContent.Contains("MATMAS05")) { if (!XMLSAPECC6Processor.ProcessItem(fileContent)) { return(false); } } } } catch (Exception ex) { Trace.WriteLine(String.Format("Process XML file Failed. Error: {0}", ex.Message), "ProcessDataFromXML"); return(false); } return(returnValue); }