public List<Guid> SaveToLocal(OrderExportDocument document,TransactionType type) { var savedIds = new List<Guid>(); var result = 0; using (var db=new AlidiLocalImportDatabaseContext()) { //Find if the ExternalRef is present in local db so that we can mark it as exported in hq, //So that it is never exported again if(db.TransactionImports.Any(p=>p.ExternalRef==document.ExternalRef)) { var confirmListBypass = new List<Guid>(); confirmListBypass.Add(Guid.NewGuid()); return confirmListBypass; } foreach (var lineItem in document.LineItems) { var id = Guid.NewGuid(); var transactionImport = new TransactionImport(); transactionImport.Id = id; transactionImport.OutletCode = document.OutletCode; transactionImport.OutletName = document.OutletName; transactionImport.ExternalRef = document.ExternalRef; transactionImport.GenericRef = document.OrderRef; //var date = Convert.ToDateTime(document.OrderDate); //var date2 = DateTime.Parse(document.OrderDate); transactionImport.TransactionIssueDate = document.OrderDate; transactionImport.TransactionDueDate = document.OrderDueDate; transactionImport.TransactionType = (int)type; //LineItems transactionImport.ProductCode = lineItem.ProductCode; transactionImport.Quantity = lineItem.Quantity; transactionImport.TotalNet = lineItem.LineItemTotalNet; transactionImport.TotalVat = lineItem.VatPerUnit; transactionImport.VatClass = lineItem.VatClass; transactionImport.SalesmanCode = document.SalesmanCode; transactionImport.LineItemValue = lineItem.Price; transactionImport.ExportStatus=(int)ExportStatus.New; db.TransactionImports.Add(transactionImport); savedIds.Add(id); } result=db.SaveChanges(); } if (result > 0) { return savedIds; } return null; }
public void MarkExportedLocal(string externalDocRef, string qbOrderTransactionId) { using (var db = new AlidiLocalImportDatabaseContext()) { try { var orderImport = db.OrderImportLocal.FirstOrDefault(p => p.OrderExternalRef == externalDocRef); if (orderImport != null) { orderImport.QbOrderTransactionId = qbOrderTransactionId; orderImport.ExportStatus = (int) ExportStatus.Exported; orderImport.DateOfExport = DateTime.Now; } db.SaveChanges(); var orderLineItems = db.OrderLineItemLocal.Where(p => p.OrderExternalRef == externalDocRef); foreach (var orderLineItem in orderLineItems) { orderLineItem.ExportStatus = (int)ExportStatus.Exported; orderLineItem.DateOfExport = DateTime.Now; db.SaveChanges(); } } catch (Exception ex) { throw; } } }
public List<Guid> SaveToLocal(OrderExportDocument document, OrderType orderType) { var savedIds = new List<Guid>(); var result = 0; using (var db=new AlidiLocalImportDatabaseContext()) { //Find if the ExternalRef is present in local db so that we can mark it as exported in hq, //So that it is never exported again if (db.OrderImportLocal.Any(p => p.OrderExternalRef == document.ExternalRef)) { var confirmListBypass = new List<Guid>(); confirmListBypass.Add(Guid.NewGuid()); return confirmListBypass; } var orderImport = new OrderImportLocal(); orderImport.OrderExternalRef = document.ExternalRef; orderImport.OrderRef = document.OrderRef; orderImport.OrderType =(int) orderType; orderImport.OutletCode = document.OutletCode; orderImport.OutletName = document.OutletName; orderImport.OrderDate = document.OrderDate; orderImport.OrderDueDate = document.OrderDueDate; orderImport.RouteName = document.RouteName; orderImport.TotalDiscount = document.TotalDiscount; orderImport.TotalGross = document.TotalGross; orderImport.TotalNet = document.TotalNet; orderImport.TotalVat = document.TotalVat; orderImport.ShipToAddress = document.ShipToAddress; orderImport.DateOfImport = DateTime.Now; orderImport.ExportStatus = (int) ExportStatus.New; db.OrderImportLocal.Add(orderImport); db.SaveChanges(); foreach (var item in document.LineItems) { var id = Guid.NewGuid(); var orderItem = new OrderLineItemLocal(); orderItem.LineItemId=id; orderItem.OrderExternalRef = document.ExternalRef; orderItem.LineItemTotalGross = item.LineItemTotalGross; orderItem.LineItemTotalNet = item.LineItemTotalNet; orderItem.LineItemTotalVat = item.LineItemTotalVat; orderItem.Price = item.Price; orderItem.ProductCode = item.ProductCode; orderItem.VatClass = item.VatClass; orderItem.VatPerUnit = item.VatPerUnit; orderItem.DateOfImport = DateTime.Now; orderItem.ExportStatus = (int) ExportStatus.New; db.OrderLineItemLocal.Add(orderItem); savedIds.Add(id); } result = db.SaveChanges(); } if(result>0) { return savedIds; } return null; }
public void MarkExportedLocal(string externalDocRef) { using (var db=new AlidiLocalImportDatabaseContext()) { try { var transactions = db.TransactionImports.Where(p => p.ExternalRef == externalDocRef); foreach (var transactionImport in transactions) { transactionImport.ExportStatus =(int) ExportStatus.Exported; db.SaveChanges(); } } catch (Exception ex) { throw; } } }