public ActionResult Create(TaxViewModel model) { if (ModelState.IsValid) { var Tax = new Tax(); AutoMapper.Mapper.Map(model, Tax); Tax.IsDeleted = false; Tax.CreatedUserId = WebSecurity.CurrentUserId; Tax.ModifiedUserId = WebSecurity.CurrentUserId; Tax.AssignedUserId = WebSecurity.CurrentUserId; Tax.CreatedDate = DateTime.Now; Tax.ModifiedDate = DateTime.Now; Tax.Status = App_GlobalResources.Wording.Processing; TaxRepository.InsertTax(Tax); //Hiện tại lấy hết nhân viên theo mã thuế var staff_in_tax = taxIncomePersonDetailRepository.GetAllTaxIncomePersonDetail().Where(n => n.TaxIncomePersonId == model.TaxIncomePersonId).ToList(); //Lấy dữ liệu từ bảng lương var salaryReport = salaryTableDetailReportRepository.GetSalaryTableDetailReportBySalaryTableId(model.SalaryTableId.Value).ToList(); //Cate Thu nhập chịu thếu và Giảm trừ var cate = categoryRepository.GetCategoryByCode("TaxCode").ToList(); //Lấy dữ liệu giảm trừ từ người thân var staff_family = staffFamilyRepository.GetAllStaffFamily().Where(n => n.IsDependencies == true).ToList(); for (int a = 0; a < staff_in_tax.Count(); a++) { var tnct = cate.Where(n => n.Description == "TNCT").ToList(); for (int i = 0; i < tnct.Count; i++) { var value = salaryReport.SingleOrDefault(n => n.StaffId == staff_in_tax[a].StaffId && n.ColumName.Equals(tnct[i].Value)); ThuNhapChiuThue thunhapchiuthue = new ThuNhapChiuThue(); thunhapchiuthue.IsDeleted = false; thunhapchiuthue.CreatedUserId = WebSecurity.CurrentUserId; thunhapchiuthue.ModifiedUserId = WebSecurity.CurrentUserId; thunhapchiuthue.AssignedUserId = WebSecurity.CurrentUserId; thunhapchiuthue.CreatedDate = DateTime.Now; thunhapchiuthue.ModifiedDate = DateTime.Now; //Name thunhapchiuthue.TaxId = Tax.Id; thunhapchiuthue.StaffId = staff_in_tax[a].StaffId; thunhapchiuthue.TaxIncomePersonDetailId = staff_in_tax[a].Id; thunhapchiuthue.Name = tnct[i].Name; thunhapchiuthue.Value = value == null ? 0 : decimal.Parse(value.Value); thuNhapChiuThueRepository.InsertThuNhapChiuThue(thunhapchiuthue); } //Thêm thu nhập giảm thuế var gt = cate.Where(n => n.Description == "GT").ToList(); for (int i = 0; i < gt.Count; i++) { var value = salaryReport.SingleOrDefault(n => n.StaffId == staff_in_tax[a].StaffId && n.ColumName.Equals(gt[i].Value)); GiamTruThueTNCN giamtru = new GiamTruThueTNCN(); giamtru.IsDeleted = false; giamtru.CreatedUserId = WebSecurity.CurrentUserId; giamtru.ModifiedUserId = WebSecurity.CurrentUserId; giamtru.AssignedUserId = WebSecurity.CurrentUserId; giamtru.CreatedDate = DateTime.Now; giamtru.ModifiedDate = DateTime.Now; //Name giamtru.TaxId = Tax.Id; giamtru.StaffId = staff_in_tax[a].StaffId; giamtru.TaxIncomePersonDetailId = staff_in_tax[a].Id; giamtru.Name = gt[i].Name; giamtru.Value = value == null ? 0 : decimal.Parse(value.Value); giamTruThueTNCNRepository.InsertGiamTruThueTNCN(giamtru); } //Thêm giảm trừ từ gia đình có thành viên phụ thuộc var gd = staff_family.Where(n => n.StaffId == staff_in_tax[a].StaffId).ToList(); for (int i = 0; i < gd.Count; i++) { GiamTruThueTNCN giamtru = new GiamTruThueTNCN(); giamtru.IsDeleted = false; giamtru.CreatedUserId = WebSecurity.CurrentUserId; giamtru.ModifiedUserId = WebSecurity.CurrentUserId; giamtru.AssignedUserId = WebSecurity.CurrentUserId; giamtru.CreatedDate = DateTime.Now; giamtru.ModifiedDate = DateTime.Now; //Name giamtru.TaxId = Tax.Id; giamtru.StaffId = staff_in_tax[a].StaffId; giamtru.TaxIncomePersonDetailId = staff_in_tax[a].Id; giamtru.Name = string.Format("Người phụ thuộc [{0}]", gd[i].Name); giamtru.Value = 3600000; giamTruThueTNCNRepository.InsertGiamTruThueTNCN(giamtru); } } //Thêm thu nhập chịu thuế TempData[Globals.SuccessMessageKey] = App_GlobalResources.Wording.InsertSuccess; return(RedirectToAction("_ClosePopup", "Home", new { area = "", FunctionCallback = "ClosePopupAndReloadPage" })); } return(View(model)); }
public int InsertTax(TaxModel taxModel) { return(_iTaxRepository.InsertTax(taxModel)); }