예제 #1
0
        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);
            }
        }