public ActionResult MapCreditOfficer(OrgCOMappingViewModel vm) { int branchId = _userHelper.Get().BranchId; if (ModelState.IsValid) { if (_employeeService.GetEmployeeList(filter: x => x.BranchId == branchId && x.Id == vm.CreditOfficerId && x.IsActive && x.IsCreditOfficer).Count == 0) { SystemMessages.Add(CommonStrings.No_Record, true, true); return(RedirectToAction("Index")); } string validationMessage = String.Empty; if (!_orgService.MapCreditOfficer(vm, out validationMessage)) { SystemMessages.Add(validationMessage, true); } else { SystemMessages.Add(OrganizationStrings.Organization_CO_Map_Successfull_Msg, false, true); return(RedirectToAction("Index")); } } ViewBag.CreditOfficerDropDown = new SelectList(_employeeService.GetEmployeeDropDown(x => x.BranchId == branchId && x.IsCreditOfficer && x.IsActive), "Value", "Text"); ViewBag.Title = OrganizationStrings.Organization_Credit_Officer_Title; return(View()); }
public bool MapCreditOfficer(OrgCOMappingViewModel vm, out string validationMessage) { int branchId = _userHelper.Get().BranchId; validationMessage = String.Empty; foreach (var i in vm.MappedOrganizationList) { Organization org = GetOrganization(i.OrganizationId); if (org == null || !org.IsActive) { validationMessage = String.Format(OrganizationStrings.Organization_CO_Validation_InvalidOrg, org.OrganizationName); return(false); } if (i.Checked) { if (org.CreditOfficerId != null && org.CreditOfficerId != vm.CreditOfficerId) { validationMessage = String.Format(OrganizationStrings.Organization_CO_Validation_OrgHasCO, org.OrganizationName); return(false); } org.CreditOfficerId = vm.CreditOfficerId; } else { org.CreditOfficerId = null; } OrgCreditOfficer orgCO = (from c in _uow.OrgCORepository.Get(x => x.BranchId == branchId && x.EmployeeId == vm.CreditOfficerId && x.OrganizationId == i.OrganizationId && x.ReleaseDate == null) select c).SingleOrDefault(); if (orgCO != null) { if (!i.Checked) { orgCO.ReleaseDate = _userHelper.Get().DayOpenClose.SystemDate; orgCO.UserId = _userHelper.Get().UserId; orgCO.SystemDate = _userHelper.Get().DayOpenClose.SystemDate; orgCO.SetDate = DateTime.Now; _uow.OrgCORepository.Update(orgCO); } } else { if (i.Checked) { _uow.OrgCORepository.Insert(new OrgCreditOfficer { BranchId = branchId, EmployeeId = vm.CreditOfficerId, OrganizationId = i.OrganizationId, AssignedDate = _userHelper.Get().DayOpenClose.SystemDate, UserId = _userHelper.Get().UserId, SystemDate = _userHelper.Get().DayOpenClose.SystemDate, SetDate = DateTime.Now }); } } _uow.OrganizationRepository.Update(org); } _uow.Save(); return(true); }