public ActionResult Save(SaveVoucherJsonModel model) { var alreadyUsedVoucherNo = _fR.GetAny <Order>(x => x.VoucherNumber == model.VoucherNo && x.Status && !x.IsDeleted); if (alreadyUsedVoucherNo) { return(Json(new Response { Status = false, Message = "Belge no daha önce kullanılmış" }, JsonRequestBehavior.AllowGet)); } using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope()) { try { // //order date parse useable datetime format DateTime voucherDate; try { voucherDate = DateTime.ParseExact(model.VoucherDate, "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture); } catch (Exception ex) { return(Json(new Response { Status = false, Message = "Tarih formatı yanlış Lütfen sayfayı yenileyip tekrar deneyin" }, JsonRequestBehavior.AllowGet)); } // var order = new Order { PlatformCode = model.PlatformCode, CompanyId = model.CustomerId, SupplierId = model.SupplierId, VoucherNumber = model.VoucherNo, VoucherDate = voucherDate, CreatedDate = DateTime.Now, Tax = model.TaxPercent, Status = true }; // //save order _fR.Add(order); _fR.SaveChanges(); var productList = new List <OrderProduct>(); foreach (var item in model.Products) { var op = new OrderProduct { OrderId = order.Id, ProductId = item.ProductId, ProductBarcode = item.Barcode, ProductName = item.ProductName, Discount = item.ProductDiscount, DiscountName = item.ProductDiscountName, Quantity = item.ProductQuantity, Price = string.IsNullOrEmpty(item.ProductPrice) ? 0 : Convert.ToDecimal(item.ProductPrice), }; // op.Total = op.CalculateTotalPrice(); var taxAmount = op.Total * order.Tax / 100; op.Total = op.Total + taxAmount; // productList.Add(op); } // //save order _fR.AddList(productList); _fR.SaveChanges(); // scope.Complete(); return(Json(new Response { Status = true, EntityId = model.VoucherNo + 1, Message = "Belge kayıt edildi." }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { scope.Dispose(); return(Json(new Response { Status = false, EntityId = 0, Message = ex.InnerException?.InnerException.Message ?? ex.Message, TotalCount = 0 })); } } }