// ================ // Get Sales Return // ================ public Task GetSalesReturn(String apiUrlHost, String branchCode, String userCode) { try { var stockIns = from d in posdb.TrnStockIns where d.IsReturn == true && d.CollectionId != null && d.PostCode == null && d.IsLocked == true && d.TrnStockInLines.Any() == true select d; if (stockIns.Any()) { var stockIn = stockIns.FirstOrDefault(); Int32 stockInId = stockIn.Id; List <Entities.ISPOSTrnCollectionLines> listCollectionLines = new List <Entities.ISPOSTrnCollectionLines>(); var stockInLines = from d in stockIn.TrnStockInLines select d; foreach (var stockInLine in stockInLines) { listCollectionLines.Add(new Entities.ISPOSTrnCollectionLines() { ItemManualArticleCode = stockInLine.MstItem.BarCode, Particulars = stockInLine.MstItem.ItemDescription, Unit = stockInLine.MstUnit.Unit, Quantity = stockInLine.Quantity * -1, Price = stockInLine.Cost, Discount = "Zero Discount", DiscountAmount = 0, NetPrice = stockInLine.Cost, Amount = (stockInLine.Quantity * -1) * stockInLine.Cost, VAT = stockInLine.MstItem.MstTax.Tax, SalesItemTimeStamp = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture) }); } var collectionData = new Entities.ISPOSTrnCollection() { SIDate = stockIn.StockInDate.ToShortDateString(), BranchCode = branchCode, CustomerManualArticleCode = stockIn.TrnCollection.TrnSale.MstCustomer.CustomerCode, CreatedBy = userCode, Term = stockIn.TrnCollection.TrnSale.MstTerm.Term, DocumentReference = stockIn.StockInNumber, ManualSINumber = "IN-" + stockIn.StockInNumber, Remarks = "Return from Customer, OR-" + stockIn.TrnCollection.CollectionNumber + ", SI-" + stockIn.TrnCollection.TrnSale.SalesNumber, ListPOSIntegrationTrnSalesInvoiceItem = listCollectionLines.ToList() }; String json = new JavaScriptSerializer().Serialize(collectionData); trnIntegrationForm.salesIntegrationLogMessages("Sending Sales Return: " + collectionData.ManualSINumber + "\r\n\n"); trnIntegrationForm.salesIntegrationLogMessages("Amount: " + collectionData.ListPOSIntegrationTrnSalesInvoiceItem.Sum(d => d.Amount).ToString("#,##0.00") + "\r\n\n"); SendSalesReturn(apiUrlHost, json, stockInId); } return(Task.FromResult("")); } catch (Exception e) { trnIntegrationForm.salesIntegrationLogMessages("Sales Return Error: " + e.Message + "\r\n\n"); trnIntegrationForm.salesIntegrationLogMessages("Time Stamp: " + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "\r\n\n"); trnIntegrationForm.salesIntegrationLogMessages("\r\n\n"); return(Task.FromResult("")); } }
// ============== // Get Collection // ============== public Task GetCollection(String apiUrlHost, String branchCode, String userCode) { try { var collections = from d in posdb.TrnCollections where (d.CollectionNumber != "NA" || d.CollectionNumber != "na") && d.SalesId != null && d.PostCode == null && d.IsLocked == true select d; if (collections.Any()) { var collection = collections.FirstOrDefault(); Int32 collectionId = collection.Id; var listPayTypes = new List <String>(); if (collection.TrnCollectionLines.Any()) { foreach (var collectionLine in collection.TrnCollectionLines) { if (collectionLine.Amount > 0) { listPayTypes.Add(collectionLine.MstPayType.PayType + ": " + collectionLine.Amount.ToString("#,##0.00")); } } } String[] payTypes = listPayTypes.ToArray(); List <Entities.ISPOSTrnCollectionLines> listCollectionLines = new List <Entities.ISPOSTrnCollectionLines>(); foreach (var salesLine in collection.TrnSale.TrnSalesLines) { listCollectionLines.Add(new Entities.ISPOSTrnCollectionLines() { ItemManualArticleCode = salesLine.MstItem.BarCode, Particulars = salesLine.MstItem.ItemDescription, Unit = salesLine.MstUnit.Unit, Quantity = salesLine.Quantity, Price = salesLine.Price, Discount = salesLine.MstDiscount.Discount, DiscountAmount = salesLine.DiscountAmount, NetPrice = salesLine.NetPrice, Amount = salesLine.Amount, VAT = salesLine.MstTax.Tax, SalesItemTimeStamp = salesLine.SalesLineTimeStamp.ToString("MM/dd/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture) }); } var collectionData = new Entities.ISPOSTrnCollection() { SIDate = collection.CollectionDate.ToShortDateString(), BranchCode = branchCode, CustomerManualArticleCode = collection.TrnSale.MstCustomer.CustomerCode, CreatedBy = userCode, Term = collection.TrnSale.MstTerm.Term, DocumentReference = collection.CollectionNumber, ManualSINumber = collection.TrnSale.SalesNumber, Remarks = "User: "******", " + String.Join(", ", payTypes), ListPOSIntegrationTrnSalesInvoiceItem = listCollectionLines.ToList() }; String json = new JavaScriptSerializer().Serialize(collectionData); trnIntegrationForm.salesIntegrationLogMessages("Sending Collection: " + collectionData.DocumentReference + "\r\n\n"); trnIntegrationForm.salesIntegrationLogMessages("Amount: " + collectionData.ListPOSIntegrationTrnSalesInvoiceItem.Sum(d => d.Amount).ToString("#,##0.00") + "\r\n\n"); SendCollection(apiUrlHost, json, collectionId); } return(Task.FromResult("")); } catch (Exception e) { trnIntegrationForm.salesIntegrationLogMessages("Collection Error: " + e.Message + "\r\n\n"); trnIntegrationForm.salesIntegrationLogMessages("Time Stamp: " + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "\r\n\n"); trnIntegrationForm.salesIntegrationLogMessages("\r\n\n"); return(Task.FromResult("")); } }