public async Task <IActionResult> CreateExportBill() { // create export bill List <ExportProductPageViewModel> lstProducts = HttpContext.Session.GetComplexData <List <ExportProductPageViewModel> >("lstExportProduct"); if (lstProducts != null) { var model = new ExportProductViewModel(); foreach (var item in lstProducts) { model.SubsidiaryAgent = new User() { Id = item.SAID, UserType = UserType.SubsidiaryAgent }; model.ExportManager = new User() { Id = 1, UserType = UserType.StockExportManager }; var exportProduct = item.Product; exportProduct.ExportNumber = item.ExportNumber; exportProduct.ExportPrice = item.ExportPrice; model.ExportProducts.Add(exportProduct); model.TotalMoney += (item.ExportNumber * item.ExportPrice); model.ExportDate = DateTime.UtcNow; } await _exportProductServices.AddExportProduct(model); HttpContext.Session.Remove("lstExportProduct"); return(RedirectToAction("ListAllExportProducts")); } return(View(new List <ExportProductPageViewModel>())); }
public async Task <bool> AddExportProduct(ExportProductViewModel exportProductViewModel) { try { ExportProductBill exportProductBill = new ExportProductBill(); // add exportProductBill exportProductBill.TotalMoney = exportProductViewModel.TotalMoney; exportProductBill.ExportDate = DateTime.UtcNow; exportProductBill.ExportManagerId = exportProductViewModel.ExportManager.Id; exportProductBill.UserId = exportProductViewModel.SubsidiaryAgent.Id; int NewestID = _unitOfWork.ExportProductBillRepositorys.getNewId().Equals(null) ? 0 : (int)_unitOfWork.ExportProductBillRepositorys.getNewId(); exportProductBill.Code = $"EPB_{NewestID + 1}"; exportProductBill.CreatedDate = DateTime.UtcNow; exportProductBill.ModifiedDate = DateTime.UtcNow; _unitOfWork.ExportProductBillRepositorys.Add(exportProductBill); await _unitOfWork.Commit(); int ProductBillId = exportProductBill.Id; foreach (var item in exportProductViewModel.ExportProducts) { // add exportProductBillDetail ExportListDetail product = new ExportListDetail(); product.ProductId = item.Id; product.ExportNumber = item.ExportNumber; product.ExportPrice = item.ExportPrice; product.ExportProductBillId = ProductBillId; product.CreatedDate = DateTime.UtcNow; product.ModifiedDate = DateTime.UtcNow; product.ExportDate = DateTime.UtcNow; _unitOfWork.ExportListDetailRepositorys.Add(product); await _unitOfWork.Commit(); } return(true); } catch (Exception e) { return(false); } }