public async Task <IActionResult> SyncOrderTaxes() { var errorList = new List <string>(); try { if (_db.Connection.State == System.Data.ConnectionState.Closed) { await _db.Connection.OpenAsync(); } var query = new OrderQueries(_db); var orders = await query.GetAllOrders(); foreach (var order in orders) { decimal taxGst = 0; if (!string.IsNullOrEmpty(order._pos_sale_tax_GST)) { decimal.TryParse(order._pos_sale_tax_GST, out taxGst); } decimal taxPst = 0; if (!string.IsNullOrEmpty(order._pos_sale_tax_PST)) { decimal.TryParse(order._pos_sale_tax_PST, out taxPst); } var found = await _context.OrderTax.FindAsync(int.Parse(order.id.ToString())); if (found == null) { if (taxPst > 0) { var orderTaxGst = new OrderTax { OrderId = int.Parse(order.id.ToString()), TaxAmount = taxGst, TaxId = 1 }; await _context.OrderTax.AddAsync(orderTaxGst); } if (taxPst > 0) { var orderTaxPst = new OrderTax { OrderId = int.Parse(order.id.ToString()), TaxAmount = taxPst, TaxId = 2 }; await _context.OrderTax.AddAsync(orderTaxPst); } await _context.SaveChangesAsync(); } else { // await _context.SaveChangesAsync(); } } _db.Connection.Close(); } catch (Exception ex) { errorList.Add("order taxes:" + ex.ToString()); } return(Ok(errorList)); }
public async Task <IActionResult> SyncOrders() { var errorList = new List <string>(); try { if (_db.Connection.State == System.Data.ConnectionState.Closed) { await _db.Connection.OpenAsync(); } var query = new OrderQueries(_db); var orders = await query.GetAllOrders(); foreach (var order in orders) { //var limit = 0; //int.TryParse(customer._pos_customer_accountlimit, out limit); int customerId = 0; if (!string.IsNullOrEmpty(order._pos_sale_customer_id)) { int.TryParse(order._pos_sale_customer_id, out customerId); } decimal discount = 0; if (!string.IsNullOrEmpty(order._pos_sale_discount)) { decimal.TryParse(order._pos_sale_discount, out discount); } decimal total = 0; if (!string.IsNullOrEmpty(order._pos_sale_total)) { decimal.TryParse(order._pos_sale_total, out total); } decimal subtotal = 0; if (!string.IsNullOrEmpty(order._pos_sale_subtotal)) { decimal.TryParse(order._pos_sale_subtotal, out subtotal); } var location = 1; if (!string.IsNullOrEmpty(order._pos_location_name)) { location = order._pos_location_name.Equals("abbotsford", StringComparison.InvariantCultureIgnoreCase) ? 2 : 1; } var found = await _context.Order.FindAsync(int.Parse(order.id.ToString())); if (found == null) { var newOrder = new Order { CreatedByUserId = order._pos_sale_user, CreatedDate = order.post_date, CustomerId = customerId, TotalDiscount = discount, LocationId = location, Notes = order._pos_sale_note, OrderDate = order.post_date, OriginalOrderId = 0,// order._pos_linkedInvoice, PoNumber = order._pos_po_number, PstNumber = "", Status = order._pos_status, SubTotal = subtotal, OrderId = int.Parse(order.id.ToString()), Total = total }; newOrder.Customer = null; newOrder.Location = null; await _context.Order.AddAsync(newOrder); await _context.SaveChangesAsync(); } else { // await _context.SaveChangesAsync(); } } _db.Connection.Close(); } catch (Exception ex) { errorList.Add("order taxes:" + ex.ToString()); } return(Ok(errorList)); }