public ResponseObject <bool> CreateContract(ContractAPIViewModel model) { try { var contractRepo = DependencyUtils.Resolve <IContractRepository>(); var createContract = new Contract(); createContract.CompanyId = model.CompanyId; createContract.ContractName = model.ContractName; createContract.StartDate = model.StartDate.ToDateTime(); createContract.EndDate = model.EndDate.ToDateTime(); createContract.IsDelete = false; createContract.CreateDate = DateTime.UtcNow.AddHours(7); createContract.UpdateDate = DateTime.UtcNow.AddHours(7); createContract.ContractPrice = model.ContractPrice; contractRepo.Add(createContract); contractRepo.Save(); var contractServiceRepo = DependencyUtils.Resolve <IContractServiceITSupportRepository>(); foreach (var item in model.ServiceIdList) { var contractService = new ContractServiceITSupport() { ContractId = createContract.ContractId, ServiceITSupportId = item, IsDelete = false, StartDate = model.StartDate.ToDateTime(), EndDate = model.EndDate.ToDateTime(), CreateDate = DateTime.UtcNow.AddHours(7), UpdateDate = DateTime.UtcNow.AddHours(7) }; contractServiceRepo.Add(contractService); } contractServiceRepo.Save(); return(new ResponseObject <bool> { IsError = false, SuccessMessage = "Thêm hợp đồng thành công", ObjReturn = true }); } catch (Exception ex) { return(new ResponseObject <bool> { IsError = true, WarningMessage = "Thêm hợp đồng thất bại", ErrorMessage = ex.ToString(), ObjReturn = false }); } }
public ResponseObject <bool> UpdateContract(ContractAPIViewModel model) { try { var contractRepo = DependencyUtils.Resolve <IContractRepository>(); var contractServiceRepo = DependencyUtils.Resolve <IContractServiceITSupportRepository>(); var updateContract = contractRepo.GetActive().SingleOrDefault(a => a.ContractId == model.ContractId); var contractService = contractServiceRepo.GetActive().Where(a => a.ContractId == model.ContractId).ToList(); foreach (var itemFE in model.ServiceIdList) { if (!contractService.Select(x => x.ServiceITSupportId).ToList().Contains(itemFE)) { var contractServiceNew = new ContractServiceITSupport() { ContractId = model.ContractId, ServiceITSupportId = itemFE, IsDelete = false, StartDate = model.StartDate.ToDateTime(), EndDate = model.EndDate.ToDateTime(), CreateDate = DateTime.UtcNow.AddHours(7), UpdateDate = DateTime.UtcNow.AddHours(7), }; contractServiceRepo.Add(contractServiceNew); } } foreach (var itemDB in contractService) { if (!model.ServiceIdList.Contains(itemDB.ServiceITSupportId)) { itemDB.UpdateDate = DateTime.UtcNow.AddHours(7); contractServiceRepo.Deactivate(itemDB); } } contractServiceRepo.Save(); if (updateContract != null) { updateContract.ContractName = model.ContractName; updateContract.StartDate = model.StartDate.ToDateTime(); updateContract.EndDate = model.EndDate.ToDateTime(); updateContract.UpdateDate = DateTime.UtcNow.AddHours(7); updateContract.ContractPrice = model.ContractPrice; contractRepo.Edit(updateContract); contractRepo.Save(); return(new ResponseObject <bool> { IsError = false, SuccessMessage = "Chỉnh sửa hợp đồng thành công", ObjReturn = true }); } return(new ResponseObject <bool> { IsError = true, WarningMessage = "Chỉnh sửa hợp đồng thất bại", ObjReturn = false }); } catch (Exception e) { return(new ResponseObject <bool> { IsError = true, WarningMessage = "Chỉnh sửa hợp đồng thất bại", ObjReturn = false, ErrorMessage = e.ToString() }); } }