private async void TileRetailer_OnClick(object sender, RoutedEventArgs e) { var customer = DaoController.Current.GetCustomer(App.Current.PosSetting.Settings_GenCustomerCode); if (customer == null) { App.Current.ShowErrorDialog("საცალო კლიენტი ვერ მოიძებნა ბაზაში!", ""); } else { var order = new SalesHeader { No_ = DaoController.Current.GenerateNewKey(App.Current.PosSetting.Settings_SalesHeaderNumberCount), DocumentType = 1, PostingDate = DateTime.Now, Sell_toCustomerNo = customer.No_, Sell_toCustomerName = customer.Name, CustomerPriceGroup = customer.CustomerPriceGroup, SalespersonCode = App.Current.PosSetting.Settings_SalesPersonCode, SalesLines = new List <SalesLine>(), JournalLines = new List <GenJournalLine>(), PaymentSchedules = new List <DataLayer.PaymentSchedule>(), CurrentCustomer = customer }; // Order.Current.SetHeaders("ახალი შეკვეთა", new List<string>() { "დღის განრიგი" }); Order.Current.PrevUserControl = UserControlTypes.Customers; NavigateToControl(UserControlTypes.Order, new OrderViewModel(order, true)); } }
public void AddCustomerandSaleHeader() { FFREntities ffrDb = new FFREntities(); Customer customer = new Customer(); customer.CustomerId = 1; customer.FirstName = "Nick"; customer.LastName = "Olsen"; customer.City = "Parker"; customer.State = "CO"; customer.Zip = "80134"; //Need to Add Street Name and Suite Fields customer.Address = customer.FirstName + " " + customer.LastName + "11321 Lovage Way " + customer.City + ", " + customer.State + " " + customer.Zip; customer.Phone = "3037181336"; customer.Email = "*****@*****.**"; ffrDb.Customers.Add(customer); ffrDb.SaveChanges(); SalesHeader salesHeader = new SalesHeader(); salesHeader.CustomerId = customer.CustomerId; salesHeader.SalesStatus = "Open"; salesHeader.OrderSalesBalance = 50; salesHeader.OrderTaxAmount = 5; salesHeader.OrderTotal = salesHeader.OrderSalesBalance + salesHeader.OrderTaxAmount; ffrDb.SalesHeaders.Add(salesHeader); ffrDb.SaveChanges(); }
private SapSalesOrder setSalesOrder() { SapSalesOrder _SapSalesOrder = new SapSalesOrder(); List <SalesItem> _ItemList = new List <SalesItem>(); List <SalesPartner> _PartnerList = new List <SalesPartner>(); List <SalesSchedule> _ScheduleList = new List <SalesSchedule>(); SalesHeader _Header = new SalesHeader(); _Header.DOC_TYPE = "ZOR3"; _Header.SALES_ORG = "1000"; _Header.DISTR_CHAN = "10"; _Header.DIVISION = "13"; _Header.PURCH_NO_C = "C#"; _SapSalesOrder.Header = _Header; SalesItem _Item = new SalesItem(); _Item.ITM_NUMBER = "000010"; _Item.MATERIAL = "12-04BFFB-SL7001"; _Item.TARGET_QTY = "555"; _ItemList.Add(_Item); SalesItem _Item2 = new SalesItem(); _Item2.ITM_NUMBER = "000020"; _Item2.MATERIAL = "ADC-07PMMS-LS7001"; _Item2.TARGET_QTY = "100"; _ItemList.Add(_Item2); _SapSalesOrder.ItemList = _ItemList; SalesPartner _Partner = new SalesPartner(); _Partner.PARTN_ROLE = "AG"; _Partner.PARTN_NUMB = "0010000242"; _PartnerList.Add(_Partner); _SapSalesOrder.PartnerList = _PartnerList; SalesSchedule _Schedule = new SalesSchedule(); _Schedule.REQ_QTY = "555"; _Schedule.ITM_NUMBER = "000010"; _Schedule.SCHED_LINE = "0001"; _Schedule.REQ_DATE = "20190920"; _ScheduleList.Add(_Schedule); SalesSchedule _Schedule2 = new SalesSchedule(); _Schedule2.REQ_QTY = "50"; _Schedule2.ITM_NUMBER = "000020"; _Schedule2.SCHED_LINE = "0001"; _Schedule2.REQ_DATE = "20190923"; _ScheduleList.Add(_Schedule2); SalesSchedule _Schedule3 = new SalesSchedule(); _Schedule3.REQ_QTY = "50"; _Schedule3.ITM_NUMBER = "000020"; _Schedule3.SCHED_LINE = "0002"; _Schedule3.REQ_DATE = "20190928"; _ScheduleList.Add(_Schedule3); _SapSalesOrder.ScheduleList = _ScheduleList; return(_SapSalesOrder); }
private static SalesHeader SalesHeaderPoco(DataRow r) { var i = new SalesHeader { SalesOrderId = (int)r["SalesOrderId"], RevisionNumber = (byte)r["RevisionNumber"], OrderDate = (DateTime)r["OrderDate"], DueDate = (DateTime)r["DueDate"], ShipDate = (DateTime)r["ShipDate"], Status = (byte)r["Status"], OnlineOrderFlag = (bool)r["OnlineOrderFlag"], SalesOrderNumber = (string)r["SalesOrderNumber"], CustomerId = (int)r["CustomerId"], BillToAddressId = (int)r["BillToAddressId"], ShipToAddressId = (int)r["ShipToAddressId"], ShipMethodId = (int)r["ShipMethodID"], SubTotal = (decimal)r["SubTotal"], TaxAmt = (decimal)r["TaxAmt"], Freight = (decimal)r["Freight"], TotalDue = (decimal)r["TotalDue"], Rowguid = r["rowguid"].ToString(), ModifiedDate = (DateTime)r["ModifiedDate"] }; if (!r.IsNull("PurchaseOrderNumber")) { i.PurchaseOrderNumber = (string)r["PurchaseOrderNumber"]; } if (!r.IsNull("AccountNumber")) { i.AccountNumber = (string)r["AccountNumber"]; } if (!r.IsNull("TerritoryId")) { i.TerritoryId = (int)r["TerritoryId"]; } if (!r.IsNull("SalesPersonID")) { i.SalesPersonId = (int)r["SalesPersonID"]; } if (!r.IsNull("CreditCardID")) { i.CreditCardId = (int)r["CreditCardID"]; } if (!r.IsNull("CreditCardApprovalCode")) { i.CreditCardApprovalCode = (string)r["CreditCardApprovalCode"]; } if (!r.IsNull("CurrencyRateID")) { i.CurrencyRateId = (int)r["CurrencyRateID"]; } if (!r.IsNull("Comment")) { i.Comment = (string)r["Comment"]; } return(i); }
public SalesInvoice OnRun(SalesHeader SalesHeader) { SalesInvoice SalesInvoice = new SalesInvoice(); SalesInvoice.No_ = SalesHeader.No_; SalesInvoice.SelltoCustomerNo_ = SalesHeader.SelltoCustomerNo_; SalesInvoice.YourReference = SalesHeader.YourReference; SalesInvoice.OrderDate = SalesHeader.OrderDate; SalesInvoice.PostingDate = SalesHeader.PostingDate; SalesInvoice.SelltoCustomerName = SalesHeader.SelltoCustomerName; SalesInvoice.SelltoAddress = SalesHeader.SelltoAddress; return(SalesInvoice); }
static void Main(string[] args) { Console.WriteLine("Create the Customer Record.............."); Customer Cust = new Customer(); Cust.Name = "Mark Brummel"; Cust.Address = "Somewhere"; Console.WriteLine(Cust.No_); Console.WriteLine("Return the Customer Address.............."); foreach (string Addr in Cust.formatAddress()) { Console.WriteLine(Addr); } Console.WriteLine("Create the Sales Header.............."); SalesHeader SalesHdr = new SalesHeader(); SalesHdr.SelltoCustomerNo_ = Cust.No_; SalesHdr.OnValidateSelltoCustomerNo_(Cust); SalesHdr.PostingDate = new DateTime(2014, 11, 27); Console.WriteLine("Show Customer Name.............."); Console.WriteLine(SalesHdr.SelltoCustomerName); Console.WriteLine(SalesHdr.OrderDate.ToString()); Console.WriteLine("Post Sales Header.............."); SalesInvoice SalesInv = SalesHdr.Post(); Console.WriteLine(SalesInv.SelltoCustomerName); Console.WriteLine("Print Address Sales Invoice.............."); foreach (string Addr in SalesInv.formatAddress()) { Console.WriteLine(Addr); } Console.ReadKey(); }
public String getPrice(String itemNo, String amount) { SalesHeader head = new SalesHeader(); Lines line = new Lines(); line.No = itemNo; line.Quantity = Convert.ToDecimal(amount); List <Lines> lines = new List <Lines>(); object lineObj = line; lines.Add(line); head.Lines = lines.ToArray(); RootSalesHeader root = new RootSalesHeader(); root.SalesHeader = head; double price = Convert.ToDouble(_Service.CreateFakeSalesOrder(ref root)); return(price.ToString()); }
public void DeleteSalesHeader() { FFREntities ffrDb = new FFREntities(); SalesHeader salesHeader = new SalesHeader(); salesHeader.SalesId = 1; salesHeader.SalesStatus = "Delete"; salesHeader.OrderSalesBalance = 50; salesHeader.OrderTaxAmount = 5; salesHeader.OrderTotal = salesHeader.OrderSalesBalance + salesHeader.OrderTaxAmount; ffrDb.SalesHeaders.Add(salesHeader); ffrDb.SaveChanges(); SalesHeader deleteSalesHeader = (from d in ffrDb.SalesHeaders where d.SalesId == 1 select d).Single(); ffrDb.SalesHeaders.Remove(deleteSalesHeader); ffrDb.SaveChanges(); }
public String WriteOrder(JavaList <ItemSingle> items, CustomerSingle customer) { SalesHeader header = new SalesHeader(); header.Sell_To_Customer_No = customer.no; RootSalesHeader root = new RootSalesHeader(); List <Lines> lines = new List <Lines>(); foreach (var item in items) { Lines line = new Lines(); line.No = item.no; line.Quantity = Convert.ToDecimal(item.quantity); line.Line_Discount_Pct = Convert.ToDecimal(item.discount); lines.Add(line); } header.Lines = lines.ToArray(); root.SalesHeader.Lines.SetValue(header, 0); return(_Service.CreateSalesOrder(ref root)); }
public void UpdateSalesHeader() { FFREntities ffrDb = new FFREntities(); SalesHeader salesHeader = new SalesHeader(); salesHeader.SalesId = 2; salesHeader.CustomerId = 1; salesHeader.SalesStatus = "Update"; salesHeader.OrderSalesBalance = 50; salesHeader.OrderTaxAmount = 5; salesHeader.OrderTotal = salesHeader.OrderSalesBalance + salesHeader.OrderTaxAmount; ffrDb.SalesHeaders.Add(salesHeader); ffrDb.SaveChanges(); SalesHeader updateSalesHeader = (from d in ffrDb.SalesHeaders where d.SalesId == 2 select d).Single(); updateSalesHeader.SalesStatus = "Record has been updated!"; ffrDb.SaveChanges(); }
public SalesHeader CreateNewSalesHeader() { if (SelectedCustomer == null) { return(null); } var header = new SalesHeader { No_ = DaoController.Current.GenerateNewKey(App.Current.PosSetting.Settings_SalesHeaderNumberCount), DocumentType = 1, PostingDate = DateTime.Now, Sell_toCustomerNo = SelectedCustomer.No_, Sell_toCustomerName = SelectedCustomer.Name, CustomerPriceGroup = SelectedCustomer.CustomerPriceGroup, SalespersonCode = App.Current.PosSetting.Settings_SalesPersonCode, SalesLines = new List <SalesLine>(), JournalLines = new List <GenJournalLine>(), PaymentSchedules = new List <PaymentSchedule>(), CurrentCustomer = SelectedCustomer }; return(header); }
private List <RemainingItemEntry> SendOrder(SalesHeader h) { List <RemainingItemEntry> remainingItems = new List <RemainingItemEntry>(); POSMng.POSMng pc = new POSMng.POSMng { UseDefaultCredentials = false, Credentials = new System.Net.NetworkCredential(PosSetting.Settings_DomainUserName, PosSetting.Settings_DomainPassword, PosSetting.Settings_DomainName), Url = PosSetting.Settings_PosServiceUrl }; salesorderservice.SalesOrder_Service client = new salesorderservice.SalesOrder_Service { UseDefaultCredentials = false, Credentials = new System.Net.NetworkCredential(PosSetting.Settings_DomainUserName, PosSetting.Settings_DomainPassword, PosSetting.Settings_DomainName), Url = PosSetting.Settings_PosServiceUrl1 }; salesquoteservice.SalesQuote_Service qClient = new salesquoteservice.SalesQuote_Service { UseDefaultCredentials = false, Credentials = new System.Net.NetworkCredential(PosSetting.Settings_DomainUserName, PosSetting.Settings_DomainPassword, PosSetting.Settings_DomainName), Url = PosSetting.Settings_PosServiceUrl3 }; salesordersubform.SalesOrderLine_Service lineclient = new salesordersubform.SalesOrderLine_Service { UseDefaultCredentials = false, Credentials = new System.Net.NetworkCredential(PosSetting.Settings_DomainUserName, PosSetting.Settings_DomainPassword, PosSetting.Settings_DomainName), Url = PosSetting.Settings_PosServiceUrl2 }; if (h.OkSalesLines.Count > 0) { bool shemovida = false; foreach (var l in h.OkSalesLines) { var item = DaoController.Current.GetItem(l.No_); var quantity = (item != null && item.ItemType == 1) ? decimal.MaxValue : pc.CalcItemInventoryByLocation(l.No_, l.LocationCode); if (l.Quantity > quantity) { //AddRemainingEntires(remainingItems, new RemainingItemEntry //{ // OrderNo = h.No_, // ItemNo = l.No_, // ItemDesc = l.LargeDescription, // RequestedQuantity = quantity, // RemainingQuantity = 0 //}); h.SalesLines.Add(new SalesLine { DocumentNo_ = h.No_, DocumentType = 1, LineNo_ = h.SalesLines.Max(i => i.LineNo_) + 1, Type = 2, No_ = l.No_, Description = l.Description, Quantity = l.Quantity.Value - quantity, UnitPrice = l.UnitPrice, Sell_toCustomerNo = h.Sell_toCustomerNo, LargeDescription = l.LargeDescription, LocationCode = l.LocationCode, AmountIncludingVAT = 0, UnitOfMeasureCode = l.UnitOfMeasureCode, OrderType = 1, LineDiscountAmount = 0, LineDiscountPercent = 0 }); DaoController.Current.AddSalesLine(h.SalesLines.Last()); l.Quantity = quantity; l.AmountIncludingVAT = Math.Round(l.Quantity.Value * l.UnitPrice.Value, 2, MidpointRounding.AwayFromZero); } if (l.Quantity > 0) { if (!shemovida) { salesorderservice.SalesOrder s = new salesorderservice.SalesOrder { No = h.No_ }; client.Create(ref s); //s.Document_Type = salesorderservice.Document_Type.Order; s.Sell_to_Customer_No = h.Sell_toCustomerNo; s.Salesperson_Code = PosSetting.Settings_SalesPersonCode; s.Responsibility_Center = PosSetting.Settings_ResponsibilityCenter; s.Posting_Date = h.PostingDate.Value.Date; s.POS_Order_No = h.No_; s.POS_Order_Type = salesorderservice.POS_Order_Type.Order; s.Ship_to_Code = h.Ship_toAddressCode; client.Update(ref s); shemovida = true; } AddRemainingEntires(remainingItems, new RemainingItemEntry { OrderNo = h.No_, ItemNo = l.No_, ItemDesc = l.LargeDescription, RequestedQuantity = l.Quantity.Value, RemainingQuantity = 0 }); pc.CreateSalesLine(l.DocumentType, h.No_, l.LineNo_, l.Type.Value, l.No_, l.LocationCode, l.UnitOfMeasureCode, l.UnitPrice.Value, l.Quantity.Value, l.LineDiscountPercent.Value, l.LineDiscountAmount.Value, Convert.ToDateTime(h.OrderStartDate).ToUniversalTime(), Convert.ToDateTime(h.OrderClosedDate).ToUniversalTime(), h.OrderDuraction, NullToEmpty(l.Service_Provider), NullToEmpty(l.Customer_Vehicle)); } } if (shemovida) { pc.ReleaseSalesOrder(1, h.No_); pc.CreateWhsShipment(1, h.No_); foreach (var g in h.PaymentSchedules) { pc.CreatePaySchedLine(h.Sell_toCustomerNo, h.No_, g.Date.Value, g.Amount.Value); } foreach (var g in h.JournalLines) { pc.CreatePaymentLine(1, h.No_, g.Amount.Value, PosSetting.Settings_JnlTemplateName, PosSetting.Settings_JnlBatchName, g.PostingDate.Value, g.AccountType.Value, g.AccountNo_, g.Bal_AccountType.Value, g.Bal_AccountNo_, PosSetting.Settings_ResponsibilityCenter, g.PaymentMethodCode, PosSetting.Settings_SalesPersonCode); } } } if (h.QSalesLines.Count > 0) { var no = DaoController.Current.GenerateNewKey(PosSetting.Settings_SalesHeaderNumberCount, PosSetting.Settings_QoutePrefix); salesquoteservice.SalesQuote q = new salesquoteservice.SalesQuote { No = no }; qClient.Create(ref q); q.Sell_to_Customer_No = h.Sell_toCustomerNo; q.Salesperson_Code = PosSetting.Settings_SalesPersonCode; q.Responsibility_Center = PosSetting.Settings_ResponsibilityCenter; q.Posting_Date = h.PostingDate.Value.Date; q.POS_Order_No = no; q.POS_Order_Type = salesquoteservice.POS_Order_Type.Order; q.Ship_to_Code = h.Ship_toAddressCode; qClient.Update(ref q); foreach (var l in h.QSalesLines) { pc.CreateSalesLine(0, no, l.LineNo_, l.Type.Value, l.No_, l.LocationCode, l.UnitOfMeasureCode, l.UnitPrice.Value, l.Quantity.Value, l.LineDiscountPercent.Value, l.LineDiscountAmount.Value, Convert.ToDateTime(h.OrderStartDate).ToUniversalTime(), Convert.ToDateTime(h.OrderClosedDate).ToUniversalTime(), h.OrderDuraction, NullToEmpty(l.Service_Provider), NullToEmpty(l.Customer_Vehicle) ); var quantity = pc.CalcItemInventoryByLocation(l.No_, l.LocationCode); AddRemainingEntires(remainingItems, new RemainingItemEntry { OrderNo = h.No_, ItemNo = l.No_, ItemDesc = l.LargeDescription, RequestedQuantity = l.Quantity.Value, RemainingQuantity = l.Quantity.Value - quantity }); //remainingItems.Add(new RemainingItemEntry //{ // OrderNo = h.No_, // ItemNo = l.No_, // ItemDesc = l.LargeDescription, // RequestedQuantity = l.Quantity.Value, // RemainingQuantity = l.Quantity.Value - quantity //}); } pc.ReleaseSalesOrder(0, no); } if (h.CQSalesLines.Count > 0) { var no = DaoController.Current.GenerateNewKey(PosSetting.Settings_SalesHeaderNumberCount, PosSetting.Settings_ConcurrentQoutePrefix); salesquoteservice.SalesQuote q = new salesquoteservice.SalesQuote { No = no }; qClient.Create(ref q); q.Sell_to_Customer_No = h.Sell_toCustomerNo; q.Salesperson_Code = PosSetting.Settings_SalesPersonCode; q.Responsibility_Center = PosSetting.Settings_ResponsibilityCenter; q.Posting_Date = h.PostingDate.Value.Date; q.POS_Order_No = no; q.POS_Order_Type = salesquoteservice.POS_Order_Type.Order; q.Ship_to_Code = h.Ship_toAddressCode; qClient.Update(ref q); foreach (var l in h.CQSalesLines) { pc.CreateSalesLine(0, no, l.LineNo_, l.Type.Value, l.No_, l.LocationCode, l.UnitOfMeasureCode, l.UnitPrice.Value, l.Quantity.Value, l.LineDiscountPercent.Value, l.LineDiscountAmount.Value, Convert.ToDateTime(h.OrderStartDate).ToUniversalTime(), Convert.ToDateTime(h.OrderClosedDate).ToUniversalTime(), h.OrderDuraction, NullToEmpty(l.Service_Provider), NullToEmpty(l.Customer_Vehicle)); } pc.ReleaseSalesOrder(0, no); } if (h.SPSalesLines.Count > 0) { var no = DaoController.Current.GenerateNewKey(PosSetting.Settings_SalesHeaderNumberCount, PosSetting.Settings_SpecOrderPrefix); salesorderservice.SalesOrder s = new salesorderservice.SalesOrder { No = no }; client.Create(ref s); //s.Document_Type = salesorderservice.Document_Type.Order; s.Sell_to_Customer_No = h.Sell_toCustomerNo; s.Salesperson_Code = PosSetting.Settings_SalesPersonCode; s.Responsibility_Center = PosSetting.Settings_ResponsibilityCenter; s.Posting_Date = h.PostingDate.Value.Date; s.POS_Order_No = no; s.POS_Order_Type = salesorderservice.POS_Order_Type.Order; s.Ship_to_Code = h.Ship_toAddressCode; s.Transport_Method = "1"; client.Update(ref s); foreach (var l in h.SPSalesLines) { pc.CreateSalesLine(l.DocumentType, no, l.LineNo_, l.Type.Value, l.No_, l.LocationCode, l.UnitOfMeasureCode, l.UnitPrice.Value, l.Quantity.Value, l.LineDiscountPercent.Value, l.LineDiscountAmount.Value, Convert.ToDateTime(h.OrderStartDate).ToUniversalTime(), Convert.ToDateTime(h.OrderClosedDate).ToUniversalTime(), h.OrderDuraction, NullToEmpty(l.Service_Provider), NullToEmpty(l.Customer_Vehicle)); } pc.ReleaseSalesOrder(1, no); } DaoController.Current.PostSalesHeader(h); return(remainingItems.Where(r => r.RemainingQuantity > 0).ToList()); }
public List <string> CreateOrder() { var res = new List <string>(); if (Order.OrderBaseType == OrderBaseTypes.Current) { if (App.Current.User.UserType == PosUserTypes.Shop && AmountSummaryPayment + AmountSummaryPaymentSchedule != Order.AmountIncludingVat && App.Current.PosSetting.Settings_GenCustomerCode == Order.Sell_toCustomerNo ) { var gn = (GenJournalLines as List <GenJournalLine>).FirstOrDefault(i => i.PaymentMethodCode == "CASH"); if (gn != null) { gn.Amount += Order.AmountIncludingVat - AmountSummaryPayment - AmountSummaryPaymentSchedule; } else { gn = new GenJournalLine() { TemplateName = App.Current.PosSetting.Settings_JnlTemplateName, BatchName = App.Current.PosSetting.Settings_JnlBatchName, DocumentNo = Order.No_, DocumentType = Order.DocumentType, PostingDate = DateTime.Now, AccountType = (App.Current.User.UserType == PosUserTypes.Distributor || App.Current.User.UserType == PosUserTypes.PreSaler) ? 2 : 3, AccountNo_ = DaoController.Current.GetBankAccounts(1, 0).First().No_, Bal_AccountType = 1, Bal_AccountNo_ = Order.Sell_toCustomerNo, Salespers__Purch_Code = App.Current.PosSetting.Settings_SalesPersonCode, ResponsibilityCenter = App.Current.PosSetting.Settings_ResponsibilityCenter, PaymentMethodCode = "CASH", Amount = Order.AmountIncludingVat - AmountSummaryPayment - AmountSummaryPaymentSchedule }; (GenJournalLines as List <GenJournalLine>).Add(gn); } } var sLines = (List <SalesLine>)SalesLines; if (sLines.Any(s => s.PostingDate.HasValue && s.PostingDate.Value.Date > Order.PostingDate.Value.Date)) { var dates = sLines.Where(s => s.PostingDate.HasValue && s.PostingDate.Value.Date > Order.PostingDate.Value.Date).Select(s => s.PostingDate.Value.Date).Distinct(); foreach (var dt in dates) { var newHeader = new SalesHeader { No_ = DaoController.Current.GenerateNewKey(App.Current.PosSetting.Settings_SalesHeaderNumberCount), DocumentType = 1, PostingDate = dt, Sell_toCustomerNo = Order.Sell_toCustomerNo, Sell_toCustomerName = Order.Sell_toCustomerName, CustomerPriceGroup = Order.CustomerPriceGroup, SalespersonCode = App.Current.PosSetting.Settings_SalesPersonCode, SalesLines = new List <SalesLine>(), JournalLines = new List <GenJournalLine>(), PaymentSchedules = new List <PaymentSchedule>(), CurrentCustomer = Order.CurrentCustomer, }; var newSalesLines = sLines.Where(s => s.PostingDate.HasValue && s.PostingDate.Value.Date == dt).ToList(); newSalesLines.ForEach(n => { n.DocumentNo_ = newHeader.No_; n.OrderType = 2; }); newHeader.AmountIncludingVat = newSalesLines.Sum(i => i.AmountIncludingVAT); DaoController.Current.CreateOrder(newHeader, newSalesLines, new List <PaymentSchedule>(), new List <GenJournalLine>(), _currentDate); res.Add(newHeader.No_); } } sLines = sLines.Where(s => !s.PostingDate.HasValue || s.PostingDate.Value.Date == Order.PostingDate.Value.Date).ToList(); Order.AmountIncludingVat = sLines.Sum(i => i.AmountIncludingVAT); DaoController.Current.CreateOrder((SalesHeader)Order, sLines, (List <PaymentSchedule>)PaymentSchedules, (List <GenJournalLine>)GenJournalLines, _currentDate); res.Add(Order.No_); } else { var rOrder = (ReleasedSalesHeader)Order; if (OrdersManager.Current.IsOrderWaybillUploaded(rOrder.DocumentType, rOrder.No_)) { rOrder.SalesLines = ((List <ReleasedSalesLine>)SalesLines).Where(i => !i.IsNew).ToList(); rOrder.PaymentSchedules = (List <ReleasedPaymentSchedule>)PaymentSchedules; Order.JournalLines = (List <ReleasedGenJournalLine>)GenJournalLines; OrdersManager.Current.SaveNavOrder(rOrder); DaoController.Current.CreateReleaseOrder((ReleasedSalesHeader)Order, rOrder.SalesLines, (List <ReleasedPaymentSchedule>)PaymentSchedules, (List <ReleasedGenJournalLine>)GenJournalLines); var oNo = DaoController.Current.GenerateNewKey(App.Current.PosSetting.Settings_SalesHeaderNumberCount); int mt = 0; DaoController.Current.CreateOrder( new SalesHeader { No_ = oNo, DocumentType = 1, PostingDate = DateTime.Now, Sell_toCustomerNo = rOrder.Sell_toCustomerNo, Sell_toCustomerName = rOrder.Sell_toCustomerName, CustomerPriceGroup = rOrder.CustomerPriceGroup, SalespersonCode = App.Current.PosSetting.Settings_SalesPersonCode, SalesLines = new List <SalesLine>(), JournalLines = new List <GenJournalLine>(), PaymentSchedules = new List <PaymentSchedule>(), CurrentCustomer = Order.CurrentCustomer }, ((List <ReleasedSalesLine>)SalesLines).Where(i => i.IsNew).Select(i => new SalesLine { DocumentNo_ = oNo, DocumentType = 1, LineNo_ = ++mt, Type = 2, No_ = i.No_, Description = i.Description, Quantity = i.Quantity, UnitPrice = i.UnitPrice, Sell_toCustomerNo = i.Sell_toCustomerNo, LocationCode = App.Current.PosSetting.Settings_Location, AmountIncludingVAT = i.AmountIncludingVAT, UnitOfMeasureCode = i.UnitOfMeasureCode, OrderType = i.OrderType, LineDiscountAmount = 0, LineDiscountPercent = 0, LargeDescription = i.LargeDescription, Service_Provider = i.Service_Provider, Service_Provider_Name = i.Service_Provider_Name, Customer_Vehicle = i.Customer_Vehicle }).ToList(), new List <PaymentSchedule>(), new List <GenJournalLine>(), _currentDate); res.Add(oNo); } else { rOrder.SalesLines = (List <ReleasedSalesLine>)SalesLines; rOrder.PaymentSchedules = (List <ReleasedPaymentSchedule>)PaymentSchedules; Order.JournalLines = (List <ReleasedGenJournalLine>)GenJournalLines; OrdersManager.Current.SaveNavOrder(rOrder); DaoController.Current.CreateReleaseOrder((ReleasedSalesHeader)Order, (List <ReleasedSalesLine>)SalesLines, (List <ReleasedPaymentSchedule>)PaymentSchedules, (List <ReleasedGenJournalLine>)GenJournalLines); res.Add(Order.No_); } } return(res); }
public Invoice(SalesHeader header, Party party, List <SalesLineItem> lineItems) { Header = header; Party = party; LineItems = lineItems; }
private void detach_SalesHeaders(SalesHeader entity) { this.SendPropertyChanging("SalesHeaders"); entity.Dealer = null; }
private void attach_SalesHeaders(SalesHeader entity) { this.SendPropertyChanging("SalesHeaders"); entity.Warehouse = this; }
private void attach_SalesHeaders(SalesHeader entity) { this.SendPropertyChanging("SalesHeaders"); entity.Customer = this; }
public Boolean GenSaleDailyKingPower(string aYYYYMMDDHHMMSS) { Boolean lbReturn = false; string lsError = "", lsSQL = ""; try { Initial lsIniT = new Initial(); if (lsGdb.Gdb.State == System.Data.ConnectionState.Closed) { lsGdb.ConnectDatabase(); } lsIniT.CreateTblInitial(lsGdb.Gdb); SalesHeader lsSH = new SalesHeader(); SalesDetail lsSD = new SalesDetail(); SaleSPayment lsSPa = new SaleSPayment(); SumPayment lsSPy = new SumPayment(); SumSales lsSSa = new SumSales(); //KingPower lsGen = new KingPower(); double ldoMulti = 0; DateTime ldSaleDate, ldVoidDate, ldReturnDate; Int32 i = 0, j = 0; string lsDataSH1_10 = "", lsDataSH11_20 = "", lsDataSH21_34 = "", lsPlNameE = ""; string lsDataSD1_10 = "", lsDataSD11_23 = ""; string lsDataSPa1_11 = "", lsTime = ""; string lsDataSPy1_8 = ""; string lsDataSSa1_8 = ""; string[] lsDataSH = new string[200]; string[] lsDataSD = new string[200]; string[] lsDataSPa = new string[200]; string[] lsDataSPy = new string[200]; string[] lsDataSSa = new string[200]; string[] lsMaster = new string[2000]; string[] lsData = new string[2000]; //ArrayList lsList = new ArrayList(); string lsFileName = "", lsVouDate = "", lsPath = "D://thahr30//", lsMemID = "", lsVatRate = ""; IniFile lsIni = new IniFile("thahr30.ini"); lsSH.ShopCode = lsIni.GetString("kingpower", "shopcode", "0"); lsSD.ShopCode = lsSH.ShopCode; lsSPa.ShopCode = lsSH.ShopCode; lsSPy.ShopCode = lsSH.ShopCode; lsSSa.ShopCode = lsSH.ShopCode; lsSH.Branch_Code = lsIni.GetString("kingpower", "branch_code", "0"); lsSD.Branch_Code = lsSH.Branch_Code; lsSPa.Branch_Code = lsSH.Branch_Code; lsSPy.Branch_Code = lsSH.Branch_Code; lsSSa.Branch_Code = lsSH.Branch_Code; lsSD.Std_Cate_Code = lsIni.GetString("kingpower", "std_cate_code", "0"); lsSD.Vat_Rate = lsIni.GetString("thahr30", "vatrate", "0"); lsSD.Unit_Code = lsIni.GetString("kingpower", "unit_code", "0"); lsSPa.Currency_Code = lsIni.GetString("kingpower", "currency_code", "THB"); lsSH.Vat_Type = lsIni.GetString("kingpower", "vat_type", "1"); lsSD.Vat_Type = lsSH.Vat_Type; ldoMulti = Convert.ToDouble(lsIni.GetString("kingpower", "ratekingpower", "15.00")); lsSPy.Currency_Code = lsSPa.Currency_Code; lsSPa.Rate = lsIni.GetString("thahr30", "USTOBAHT", "0"); lsSPy.Rate = lsSPa.Rate; string lsServer = lsIni.GetString("thahr30", "serverdatabasename", "localhost"); string lsDatabase = lsIni.GetString("thahr30", "databasename", "thahr3"); string lsUserName = lsIni.GetString("thahr30", "username", "janepop"); string lsPassword = lsIni.GetString("thahr30", "password", "Ekartc2c5"); lsVatRate = lsIni.GetString("thahr30", "vatrate", "7.00"); lsPath = lsIni.GetString("kingpower", "pathtextfilekingpower", "D://thahr30//text//"); lsFileName = lsSH.ShopCode + "_SALES_" + aYYYYMMDDHHMMSS.Substring(0, 4) + aYYYYMMDDHHMMSS.Substring(5, 2) + aYYYYMMDDHHMMSS.Substring(8, 8); MySqlConnection conn = new MySqlConnection("Data Source=" + lsServer + ";Database=" + lsDatabase + ";User ID=" + lsUserName + ";Password="******""); conn.Open(); //conn = lsGdb.Gdb; MySqlConnection conn1 = new MySqlConnection("Data Source=" + lsServer + ";Database=" + lsDatabase + ";User ID=" + lsUserName + ";Password="******""); conn1.Open(); //conn1 = lsGdb.Gdb; string lsDate = aYYYYMMDDHHMMSS.Substring(0, 4) + "-" + aYYYYMMDDHHMMSS.Substring(5, 2) + "-" + aYYYYMMDDHHMMSS.Substring(8, 2); lsSQL = "Select v.vouno, v.staffcode, v.voudate, v.counter1, v.couno, v.shiftcode, v.restime, v.provcode, " //0-7 + "v.hotelcode, v.guestfirstname, v.nationcode, v.roomcode, v.visitt, v.pax, v.roomrate, " //8-14 + "v.statuscode, v.depositamt, v.checkindate, v.checkoutdate, v.confirmperson, v.remark, " // 15-20 + "v.flag, v.resrooms, v.flagsend, v.guestlastname, v.roomno, v.mac, v.flagconfirm, " // 21-27 + "v.confirmremark, v.personintrip, v.prefix, v.roomrate1, v.pay_type, v.currency_code, m.memnamee1, v.memplcode, v.voiddate, v.returndate, v.remarkreturn " // 28-34 + "From voucher v, member m Where v.flag <> '4' and v.voudate = '" + lsDate + "' and m.memid = v.hotelcode and v.memplcode not in ('-','') "; lsSQL = lsSQL + "Union "; lsSQL = lsSQL + "Select v.vouno, v.staffcode, v.voudate, v.counter1, v.couno, v.shiftcode, v.restime, v.provcode, " //0-7 + "v.hotelcode, v.guestfirstname, v.nationcode, v.roomcode, v.visitt, v.pax, v.roomrate, " //8-14 + "v.statuscode, v.depositamt, v.checkindate, v.checkoutdate, v.confirmperson, v.remark, " // 15-20 + "v.flag, v.resrooms, v.flagsend, v.guestlastname, v.roomno, v.mac, v.flagconfirm, " // 21-27 + "v.confirmremark, v.personintrip, v.prefix, v.roomrate1, v.pay_type, v.currency_code, m.memnamee1, v.memplcode, v.voiddate, v.returndate, v.remarkreturn " // 28-34 + "From voucher v, member m Where v.flag = '5' and v.returndate = '" + lsDate + "' and m.memid = v.hotelcode and v.memplcode not in ('-','') "; MySqlCommand lsComm = new MySqlCommand(lsSQL, conn); MySqlDataReader lsRead; lsRead = lsComm.ExecuteReader(); StreamWriter lsSW = new StreamWriter(lsPath + lsFileName + ".Txt"); lsTextSaleFileName = lsPath + lsFileName + ".Txt"; lsDataSH[0] = "[SALESHEADER]"; lsDataSD[0] = "[SALESDETAIL]"; lsDataSPa[0] = "[SALESPAYMENT]"; lsDataSPy[0] = "[SUMPAYMENT]"; lsDataSSa[0] = "[SUMSALES]"; lsSPy.Sale_Date = lsVouDate; lsSSa.Sale_Date = lsSPy.Sale_Date; if (lsRead.HasRows) { //lsVat_Rate = lsMaster.lsVatRate; double ldoAmt_Inv_Vat = 0, ldoAmt_EXC_Vat = 0, ldoVat_Amt = 0, ldoAmt = 0; while (lsRead.Read()) { i++; lsSH.Branch_Code = lsRead["counter1"].ToString(); lsSD.Branch_Code = lsSH.Branch_Code; lsSPa.Branch_Code = lsSH.Branch_Code; lsSPy.Branch_Code = lsSH.Branch_Code; lsSSa.Branch_Code = lsSH.Branch_Code; lsSH.Sale_NO = lsRead["vouno"].ToString(); lsSD.Sale_NO = lsSH.Sale_NO; lsSPa.Sale_NO = lsSH.Sale_NO; lsSH.POS_NO = lsRead["mac"].ToString(); lsSD.POS_NO = lsSH.POS_NO; lsSPa.POS_NO = lsSH.POS_NO; lsSH.Sale_TYPE = "1"; lsSD.Sale_TYPE = lsSH.Sale_TYPE; lsSPa.Sale_TYPE = lsSH.Sale_TYPE; ldSaleDate = Convert.ToDateTime(lsRead["voudate"]); if (lsRead["flag"].ToString() == "3") { //MySqlDbType.Datetime aaa; //aaa = lsRead.GetMySqlDateTime(36); //ldVoidDate = Convert.ToDateTime(lsRead.GetMySqlDateTime(36)); Boolean lbVoid = lsRead.GetMySqlDateTime(36).IsValidDateTime; lsSQL = lsRead.GetMySqlDateTime(36).ToString(); if (lbVoid) { ldVoidDate = Convert.ToDateTime(lsSQL); lsSH.Void_Date = ldVoidDate.Year.ToString("0000") + "-" + ldVoidDate.Month.ToString("00") + "-" + ldVoidDate.Day.ToString("00") + " " + ldVoidDate.Hour.ToString("00") + ":" + ldVoidDate.Minute.ToString("00") + ":" + ldVoidDate.Second.ToString("00"); } else { lsSH.Void_Date = ""; } } else { lsSH.Void_Date = ""; } lsSH.Void_Reason = ""; lsSH.Sale_Date = ldSaleDate.Year.ToString("0000") + "-" + ldSaleDate.Month.ToString("00") + "-" + ldSaleDate.Day.ToString("00"); if (lsRead["flag"].ToString() == "5") { Boolean lbReturnVoucher = lsRead.GetMySqlDateTime(37).IsValidDateTime; if (lbReturnVoucher) { ldReturnDate = Convert.ToDateTime(lsRead["returndate"]); lsSH.Return_Reason = lsRead["remarkreturn"].ToString(); lsSH.Sale_Date = ldReturnDate.Year.ToString("0000") + "-" + ldReturnDate.Month.ToString("00") + "-" + ldReturnDate.Day.ToString("00"); } else { lsSH.Return_Reason = ""; } } else { } lsSD.Sale_Date = lsSH.Sale_Date; lsSPa.Sale_Date = lsSH.Sale_Date; lsSD.SEQ = "1"; lsSH.Shift_NO = lsRead["shiftcode"].ToString(); lsMemID = lsRead["hotelcode"].ToString(); if (lsMemID == lsMem) { j++; } else { lsMem = lsMemID; j = 1; } lsPlNameE = lsRead["memplcode"].ToString(); lsPlNameE = lsIniT.SelectInitial(lsIniT.TblTypeRoom, lsPlNameE.Substring(5, 2), Initial.WhereSelect.aCodetoName); lsSD.Prod_Serv_Name = lsRead.GetValue(34).ToString() + " [" + lsPlNameE + "]"; lsSD.Prod_Serv_code = lsRead["memplcode"].ToString(); lsSD.Prod_Serv_QTY = lsRead.GetValue(13).ToString(); lsSD.Prod_Serv_QTY = "1"; lsTime = ""; lsTime = lsRead["restime"].ToString(); if (lsTime.Length < 5) { lsTime = "00:00"; } lsSH.Doc_Date = lsSH.Sale_Date + " " + lsTime + ":00"; lsSH.Create_Date = lsSH.Doc_Date; lsSH.Trans_Date = lsSH.Doc_Date; lsSH.Member_ID = ""; lsSH.SVC_ID = ""; lsSH.Name = lsRead["guestfirstname"].ToString() + " " + lsRead["guestlastname"].ToString(); lsSH.Flight_NO = ""; lsSH.Flight_Date = ""; lsSH.Nation_Code = lsRead["nationcode"].ToString(); lsSH.Nation_Code = ""; lsSH.PassPort_NO = ""; lsSH.Birth_Date = ""; lsSH.Sex = ""; //lsSH.Vat_Type = "1"; lsSD.Vat_Type = lsSH.Vat_Type; ldoAmt = Convert.ToDouble(lsRead[lsCalAmt]); ldoAmt = (ldoAmt * ldoMulti) / 100; if (lsFlagVAT == "exclude") { ldoAmt_EXC_Vat = ldoAmt; ldoAmt_Inv_Vat = ldoAmt + (ldoAmt * (Convert.ToDouble(lsVatRate) / 100)); } else { ldoAmt_Inv_Vat = ldoAmt; ldoAmt_EXC_Vat = ldoAmt_Inv_Vat / 1.07; } lsError = lsSH.Name; lsSH.AMT_EXC_VAT = ldoAmt_EXC_Vat.ToString("0.00"); lsSD.AMT_EXC_VAT = lsSH.AMT_EXC_VAT; lsSH.AMT_INC_VAT = ldoAmt_Inv_Vat.ToString("0.00"); lsSD.AMT_INC_VAT = lsSH.AMT_INC_VAT; if (lsFlagVAT == "exclude") { lsSPa.Amount = lsSH.AMT_EXC_VAT; lsSPa.Baht_AMT = lsSH.AMT_EXC_VAT; } else { lsSPa.Amount = lsSH.AMT_INC_VAT; lsSPa.Baht_AMT = lsSH.AMT_INC_VAT; } lsSD.AOT_Price_Inc_VAT = lsSD.AMT_INC_VAT; lsSD.AOT_Price_Exc_VAT = lsSD.AMT_EXC_VAT; ldoVat_Amt = ldoAmt_Inv_Vat - ldoAmt_EXC_Vat; lsSH.VAT_AMT = ldoVat_Amt.ToString("0.00"); lsSD.VAT_AMT = lsSH.VAT_AMT; lsSH.Pro_Code = ""; lsSD.Pro_Code = ""; lsSH.Disc_Vat_AMT = ""; lsSH.Disc_AMT_Exc_Vat = ""; lsSD.Disc_Price_Exc_VAT = lsSH.Disc_AMT_Exc_Vat; lsSH.Disc_AMT_INC_VAT = ""; lsSD.Disc_Price_INC_VAT = lsSH.Disc_AMT_INC_VAT; lsSH.Service_Charge = ""; lsSD.Service_Charge = lsSH.Service_Charge; lsSH.Ref_Sale_NO = ""; lsSH.Ref_POS_NO = ""; lsSH.Ref_Sale_Date = ""; lsSH.Return_Reason = ""; switch (lsRead["hotelcode"].ToString()) { case "01": lsSPa.Pay_TYPE = "1"; break; case "02": lsSPa.Pay_TYPE = "2"; break; case "03": lsSPa.Pay_TYPE = "3"; break; default: lsSPa.Pay_TYPE = "1"; break; } if (lsSD.Sale_NO == "49001000094") { lsSQL = ""; } lsDataSH1_10 = lsSH.ShopCode + "|" + lsSH.Branch_Code + "|" + lsSH.Sale_NO + "|" + lsSH.POS_NO + "|" + lsSH.Sale_TYPE + "|" + lsSH.Sale_Date + "|" + lsSH.Shift_NO + "|" + lsSH.Doc_Date + "|" + lsSH.Create_Date + "|" + lsSH.Trans_Date; lsDataSH11_20 = lsSH.Member_ID + "|" + lsSH.SVC_ID + "|" + lsSH.Name + "|" + lsSH.Flight_NO + "|" + lsSH.Flight_Date + "|" + lsSH.Nation_Code + "|" + lsSH.PassPort_NO + "|" + lsSH.Birth_Date + "|" + lsSH.Sex + "|" + lsSH.Vat_Type; lsDataSH21_34 = lsSH.AMT_EXC_VAT + "|" + lsSH.VAT_AMT + "|" + lsSH.AMT_INC_VAT + "|" + lsSH.Pro_Code + "|" + lsSH.Disc_Vat_AMT + "|" + lsSH.Disc_AMT_Exc_Vat + "|" + lsSH.Disc_AMT_INC_VAT + "|" + lsSH.Service_Charge + "|" + lsSH.Void_Date + "|" + lsSH.Void_Reason + "|" + lsSH.Ref_Sale_NO + "|" + lsSH.Ref_POS_NO + "|" + lsSH.Ref_Sale_Date + "|" + lsSH.Return_Reason; lsDataSH[i] = lsDataSH1_10 + "|" + lsDataSH11_20 + "|" + lsDataSH21_34; lsDataSD1_10 = lsSD.ShopCode + "|" + lsSD.Branch_Code + "|" + lsSD.Sale_NO + "|" + lsSD.POS_NO + "|" + lsSD.Sale_TYPE + "|" + lsSD.Sale_Date + "|" + lsSD.SEQ + "|" + lsSD.Std_Cate_Code + "|" + lsSD.Prod_Serv_code + "|" + lsSD.Prod_Serv_Name; lsDataSD11_23 = lsSD.Vat_Type + "|" + lsSD.Vat_Rate + "|" + lsSD.Prod_Serv_QTY + "|" + lsSD.Unit_Code + "|" + lsSD.AOT_Price_Exc_VAT + "|" + lsSD.AOT_Price_Inc_VAT + "|" + lsSD.AMT_EXC_VAT + "|" + lsSD.VAT_AMT + "|" + lsSD.AMT_INC_VAT + "|" + lsSD.Pro_Code + "|" + lsSD.Disc_Price_Exc_VAT + "|" + lsSD.Disc_Price_INC_VAT + "|" + lsSD.Service_Charge; lsDataSD[i] = lsDataSD1_10 + "|" + lsDataSD11_23; lsDataSPa1_11 = lsSPa.ShopCode + "|" + lsSPa.Branch_Code + "|" + lsSPa.Sale_NO + "|" + lsSPa.POS_NO + "|" + lsSPa.Sale_TYPE + "|" + lsSPa.Sale_Date + "|" + lsSPa.Pay_TYPE + "|" + lsSPa.Currency_Code + "|" + lsSPa.Rate + "|" + lsSPa.Amount + "|" + lsSPa.Baht_AMT; lsDataSPa[i] = lsDataSPa1_11; lsSQL = "Select * From member Where memid = '" + lsSD.Prod_Serv_code + "' and pricestart <> " + ldoAmt_Inv_Vat; MySqlCommand lsCommPrice = new MySqlCommand(lsSQL, conn1); MySqlDataReader lsReadPrice; lsReadPrice = lsCommPrice.ExecuteReader(); lsError = lsRead["vouno"].ToString(); if (lsReadPrice.HasRows) { j++; //lsData = lsGen.GenMasterFileKingPower(lsReadPrice, ldoAmt_Inv_Vat); lsData = GenMasterFileKingPower(lsReadPrice, ldoAmt_Inv_Vat); foreach (string lsD in lsData) { if (lsD != null) { lsMaster[j] = lsD; } } } lsReadPrice.Close(); } } lsRead.Close(); double ldoAmount = 0; lsSQL = "Select pay_type, counter1, currency_code, sum(roomrate) as roomrate, voudate, sum(roomrate1) as roomrate1 From voucher, member " + "Where voudate = '" + lsDate + "' and voucher.flag <> '4' and memplcode not in ('-','') and hotelcode = memid Group By pay_type, currency_code, counter1, voudate "; MySqlCommand lsCommSpy = new MySqlCommand(lsSQL, conn); MySqlDataReader lsReadSpy; lsReadSpy = lsCommSpy.ExecuteReader(); if (lsReadSpy.HasRows) { i = 0; while (lsReadSpy.Read()) { i++; lsSPy.Pay_TYPE = lsReadSpy["pay_type"].ToString(); lsSPy.Currency_Code = lsReadSpy["currency_code"].ToString(); ldSaleDate = Convert.ToDateTime(lsReadSpy["voudate"]); lsSPy.Sale_Date = ldSaleDate.Year.ToString("0000") + "-" + ldSaleDate.Month.ToString("00") + "-" + ldSaleDate.Day.ToString("00"); lsSPy.Branch_Code = lsReadSpy["counter1"].ToString(); //ldoAmount = Convert.ToDouble(lsReadSpy["roomrate"]); //ldoAmount = (ldoAmount * ldoMulti) / 100; ldoAmount = Convert.ToDouble(lsReadSpy[lsCalAmt]); ldoAmount = (ldoAmount * ldoMulti) / 100; if (lsFlagVAT == "exclude") { ldoAmount = ldoAmount; } else { //ldoAmount = ldoAmount / 1.07; ldoAmount = ldoAmount + (ldoAmount * (Convert.ToDouble(lsVatRate) / 100)); } lsSPy.Amount = ldoAmount.ToString("0.00"); lsSPy.Baht_AMT = lsSPy.Amount; lsDataSPy1_8 = lsSPy.ShopCode + "|" + lsSPy.Branch_Code + "|" + lsSPy.Sale_Date + "|" + lsSPy.Pay_TYPE + "|" + lsSPy.Currency_Code.ToUpper() + "|" + lsSPy.Rate + "|" + lsSPy.Amount + "|" + lsSPy.Amount; lsDataSPy[i] = lsDataSPy1_8; } } lsReadSpy.Close(); lsSQL = "Select counter1, sum(roomrate) as roomrate, sum(roomrate1) as roomrate1, voudate From voucher, member " + "Where voucher.flag <> '4' and voudate = '" + lsDate + "' and memplcode not in ('-','') and hotelcode = memid Group By counter1, voudate "; MySqlCommand lsCommSSa = new MySqlCommand(lsSQL, conn); MySqlDataReader lsReadSSa; lsReadSSa = lsCommSSa.ExecuteReader(); if (lsReadSSa.HasRows) { i = 0; while (lsReadSSa.Read()) { i++; lsSSa.Branch_Code = lsReadSSa["counter1"].ToString(); ldSaleDate = Convert.ToDateTime(lsReadSSa["voudate"]); lsSSa.Sale_Date = ldSaleDate.Year.ToString("0000") + "-" + ldSaleDate.Month.ToString("00") + "-" + ldSaleDate.Day.ToString("00"); //ldoAmount = Convert.ToDouble(lsReadSSa["amt"]); //ldoAmount = (ldoAmount * ldoMulti) / 100; ldoAmount = Convert.ToDouble(lsReadSSa[lsCalAmt]); ldoAmount = (ldoAmount * ldoMulti) / 100; if (lsFlagVAT == "exclude") { ldoAmount = ldoAmount; } else { //ldoAmount = ldoAmount / 1.07; ldoAmount = ldoAmount + (ldoAmount * (Convert.ToDouble(lsVatRate) / 100)); } lsSSa.Sale_Header_AMT = ldoAmount.ToString("0.00"); lsSSa.Net_Sale_Header_AMT = ldoAmount.ToString("0.00"); lsSSa.Sale_DTL_AMT = ldoAmount.ToString("0.00"); lsSSa.Net_Sale_DTL_AMT = ldoAmount.ToString("0.00"); lsSSa.Payment_AMT = ldoAmount.ToString("0.00"); lsDataSSa1_8 = lsSSa.ShopCode + "|" + lsSSa.Branch_Code + "|" + lsSSa.Sale_Date + "|" + lsSSa.Sale_Header_AMT + "|" + lsSSa.Net_Sale_Header_AMT + "|" + lsSSa.Sale_DTL_AMT + "|" + lsSSa.Net_Sale_DTL_AMT + "|" + lsSSa.Payment_AMT; lsDataSSa[i] = lsDataSSa1_8; } } lsReadSpy.Close(); //lsSW.WriteLine(lsDataD[0]); foreach (string lsD in lsDataSH) { if (lsD != null) { lsSW.WriteLine(lsD); } } foreach (string lsD in lsDataSD) { if (lsD != null) { lsSW.WriteLine(lsD); } } foreach (string lsD in lsDataSPa) { if (lsD != null) { lsSW.WriteLine(lsD); } } foreach (string lsD in lsDataSPy) { if (lsD != null) { lsSW.WriteLine(lsD); } } foreach (string lsD in lsDataSSa) { if (lsD != null) { lsSW.WriteLine(lsD); } } lsSW.Close(); conn.Close(); conn1.Close(); //KingPower lsGen = new KingPower(); //lsGen.CreateTextFile(lsMaster, aYYYYMMDDHHMMSS); CreateTextProductFile(lsMaster, aYYYYMMDDHHMMSS); lbReturn = true; } catch (Exception e) { string ls = "äÁèÊÒÁÒöàµÃÕÂÁ¢éÍÁÙÅ Print ä´é "; lsGdb.WriteLogError(ls, e, lsError, "GenSaleDailyKingPower "); //MessageBox.Show(ls + " " + eAcc.Message.ToString(), eAcc.Source.ToString(), MessageBoxButtons.OK); } return(lbReturn); }
/// <summary> /// for mouser /// </summary> /// <param name="b"></param> /// <returns></returns> public override string Parse(EdiBatch b, Edi_Customer c, string parserFile) { int _ItemNumber = 1; string _CustomerName = ""; string _Log = ""; SapSalesOrder _SapSalesOrder = new SapSalesOrder(); List <SalesItem> _ItemList = new List <SalesItem>(); List <SalesPartner> _PartnerList = new List <SalesPartner>(); List <SalesSchedule> _ScheduleList = new List <SalesSchedule>(); SalesHeader _Header = new SalesHeader(); _Header.DOC_TYPE = c.DOC_TYPE; //need to discuss _Header.SALES_ORG = c.SALES_ORG; //need to discuss _Header.DISTR_CHAN = c.DISTR_CHAN; //need to discuss _Header.DIVISION = c.DIVISION; //need to discuss try { EdiTrans _PO = b.Interchanges[0].Groups[0].Transactions[0]; EdiSegment _BEG = (EdiSegment)_PO.Content.FirstOrDefault(l => l.Definition.Name == "BEG"); if (_BEG != null) { _Header.PURCH_NO_C = _BEG.Content[2].ToString(); _Header.PURCH_DATE = _BEG.Content[4].ToString(); } _SapSalesOrder.Header = _Header; var listL_N1 = _PO.Content.Where(l => l.Definition.GetType() == typeof(M_850.L_N1)).Select(l => l).ToList(); foreach (EdiLoop n1 in listL_N1) { SalesPartner _Partner = new SalesPartner(); // var _N1Loop = (EdiLoop)n1; EdiSegment _N1 = (EdiSegment)n1.Content.FirstOrDefault(l => l.Definition.Name == "N1"); if (_N1 != null) { if ((_N1.Content[0].ToString() == "BT") || (_N1.Content[0].ToString() == "BY")) { _Partner.PARTN_ROLE = "AG"; } else if (_N1.Content[0].ToString() == "ST") { _Partner.PARTN_ROLE = "WE"; } if (c.EdiType == 1) { _Partner.PARTN_NUMB = c.SapCustomerId; //how to know what code in altw sap ,loop edi table } else { _Partner.PARTN_NUMB = _N1.Content[3].ToString(); } _CustomerName = _N1.Content[1].ToString(); } EdiSegment _N3 = (EdiSegment)n1.Content.FirstOrDefault(l => l.Definition.Name == "N3"); if (_N3 != null) { _Partner.STREET = _N3.Content[0].ToString(); } EdiSegment _N4 = (EdiSegment)n1.Content.FirstOrDefault(l => l.Definition.Name == "N4"); if (_N4 != null) { _Partner.CITY = _N4.Content[0].ToString(); _Partner.POSTL_CODE = _N4.Content[2].ToString(); _Partner.COUNTRY = _N4.Content[3].ToString(); _Partner.REGION = _N4.Content[1].ToString(); } EdiSegment _PER = (EdiSegment)n1.Content.FirstOrDefault(l => l.Definition.Name == "PER"); if (_PER != null) { _Partner.NAME = _PER.Content[1].ToString(); _Partner.TELEPHONE = _PER.Content[3].ToString(); } _PartnerList.Add(_Partner); } _SapSalesOrder.PartnerList = _PartnerList; var listL_PO1 = _PO.Content.Where(l => l.Definition.GetType() == typeof(M_850.L_PO1)).Select(l => l).ToList(); foreach (EdiLoop po1 in listL_PO1) { int _SchedLine = 1; SalesItem _Item = new SalesItem(); // var _PO1Loop = (EdiLoop)po1; EdiSegment _PO1 = (EdiSegment)po1.Content.FirstOrDefault(l => l.Definition.Name == "PO1"); if (_PO1 != null) { _Item.ITM_NUMBER = (_ItemNumber * 10).ToString().PadLeft(6, '0'); //need use altw rule 000010 //mouser special logic PO111 is part number // if(c.SapCustomerId== "0010000136") _Item.MATERIAL = _PO1.Content[10].ToString(); //else _Item.MATERIAL = _PO1.Content[8].ToString(); _Item.MATERIAL = _PO1.Content[Convert.ToInt32(c.PartNumberIndex)].ToString(); _Item.TARGET_QTY = _PO1.Content[1].ToString(); _Item.CUST_MAT35 = _PO1.Content[6].ToString(); _Item.CustomerItemNumber = _PO1.Content[0].ToString(); _Item.CustomerPrice = _PO1.Content[3].ToString(); _Item.CustomerUnit = _PO1.Content[2].ToString(); _Item.CustomerUnitOfPrice = _PO1.Content[4].ToString(); } _ItemList.Add(_Item); var listL_SCH = po1.Content.Where(l => l.Definition.GetType() == typeof(M_850.L_SCH)).Select(l => l).ToList(); foreach (EdiLoop sch in listL_SCH) { SalesSchedule _Schedule = new SalesSchedule(); // var _SCHLoop = (EdiLoop)sch; EdiSegment _SCH = (EdiSegment)sch.Content.FirstOrDefault(l => l.Definition.Name == "SCH"); if (_SCH != null) { _Schedule.REQ_QTY = _SCH.Content[0].ToString(); _Schedule.ITM_NUMBER = _Item.ITM_NUMBER; _Schedule.SCHED_LINE = _SchedLine.ToString().PadLeft(4, '0'); _Schedule.REQ_DATE = _SCH.Content[5].ToString(); } _ScheduleList.Add(_Schedule); _SchedLine++; } _ItemNumber++; } _SapSalesOrder.ItemList = _ItemList; _SapSalesOrder.ScheduleList = _ScheduleList; _SapSalesOrder.CustomerName = _CustomerName; _SapSalesOrder.CreateBy = "Edi"; _SapSalesOrder.SalesEmail = c.SalesEmail; edi.SapSalesOrder = _SapSalesOrder; } catch (Exception ex) { _Log = "\r\n" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + " setSalesOrderByEdi: Customer Id:" + c.SapCustomerId + " File :" + parserFile + "\r\n" + ex.Message; logger.Error(_Log); edi.Log = _Log; } return(_Log); }
private static void SalesDetailPocos(IEnumerable <DataRow> details, DataRow r, SalesHeader i) { foreach (var d in details) { var detail = new SalesDetail { SalesOrderDetailId = (int)d["SalesOrderDetailID"], OrderQty = (short)d["OrderQty"], ProductId = (int)d["ProductID"], SpecialOfferId = (int)d["SpecialOfferID"], UnitPrice = (decimal)d["UnitPrice"], UnitPriceDiscount = (decimal)d["UnitPriceDiscount"], LineTotal = (decimal)d["LineTotal"], Rowguid = r["rowguid"].ToString(), ModifiedDate = (DateTime)r["ModifiedDate"] }; if (!d.IsNull("CarrierTrackingNumber")) { detail.CarrierTrackingNumber = (string)d["CarrierTrackingNumber"]; } if (i.Details == null) { i.Details = new List <SalesDetail>(); } i.Details.Add(detail); } }