Exemple #1
0
        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());
        }
Exemple #2
0
        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);
        }