public async Task <IActionResult> SyncOrderPayments() { 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.GetAllOrderPayments(); foreach (var order in orders) { try { var found = _context.OrderPayment.FirstOrDefault(o => o.OrderId == int.Parse(order._pos_payment_order_id.ToString()) && o.PaymentAmount == decimal.Parse(order._pos_payment_amount.ToString()) && o.AuthCode == order._pos_payment_AuthCode.ToString()); if (found == null) { var newOrder = new OrderPayment { CreatedByUserId = order.post_author.ToString(), CreatedDate = order.post_date, CreditCard = order._pos_payment_lastFour, OrderId = int.Parse(order._pos_payment_order_id.ToString()), PaymentAmount = decimal.Parse(order._pos_payment_amount), PaymentDate = order.post_date, PaymentTypeId = int.Parse(order._pos_payment_paymentType_id.ToString()), AuthCode = order._pos_payment_AuthCode, Notes = order._pos_payment_comment, ChequeNo = order._pos_payment_chequeNo }; newOrder.PaymentType = null; await _context.OrderPayment.AddAsync(newOrder); await _context.SaveChangesAsync(); } else { // await _context.SaveChangesAsync(); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } _db.Connection.Close(); } catch (Exception ex) { errorList.Add("order taxes:" + ex.ToString()); } return(Ok(errorList)); }