public void CheckForAOValidation(ClientPartnersModel model, string mode)
        {
            #region Client Partner
            if (String.IsNullOrEmpty(model.ClientPartnerAddress.AddressLine1))
            {
                ModelState.AddModelError("erraddr1", ErrorAndValidationMessages.AOReqAddr1);
            }
            if (String.IsNullOrEmpty(model.ClientPartnerAddress.PIN))
            {
                ModelState.AddModelError("errreqpin", ErrorAndValidationMessages.AOReqPIN);
            }
            if (!String.IsNullOrEmpty(model.ClientPartnerAddress.PIN) && !Regex.IsMatch(model.ClientPartnerAddress.PIN, Constants.REGEXPIN))
            {
                ModelState.AddModelError("errregxpin", ErrorAndValidationMessages.AORegExPIN);
            }


            if (model.ClientPartnerContacts != null)
            {
                List <ContactDetailsDto> contactDetailsDto = model.ClientPartnerContacts.Where(x => x.ContactNo == null).ToList();
                if (contactDetailsDto != null)
                {
                    foreach (ContactDetailsDto contact in contactDetailsDto)
                    {
                        model.ClientPartnerContacts.Remove(contact);
                    }
                }
                if (String.IsNullOrEmpty(Helper.GetMobileNoFromContacts(model.ClientPartnerContacts)))
                {
                    ModelState.AddModelError("erraonomob", ErrorAndValidationMessages.AOPIReqMobNo);
                }
                foreach (ContactDetailsDto contact in model.ClientPartnerContacts)
                {
                    if (!String.IsNullOrEmpty(contact.ContactNo) && (!Regex.IsMatch(contact.ContactNo, Constants.REGEXCONTACTNO)))
                    {
                        ModelState.AddModelError(contact.ContactNo, ErrorAndValidationMessages.AOPIRegExContactNo);
                        break;
                    }
                }
            }

            if (EditorExtension.GetValue <object>(model.dOBnAgeModellist[0].txtDOBnAgeName) == null)
            {
                ModelState.AddModelError("errdob", ErrorAndValidationMessages.AOPIReqCity);
            }

            int cityVillageID = 0;
            if (ComboBoxExtension.GetValue <object>(model.StateDistrictPlacesControlNames[0].PlacesComboName) != null)
            {
                cityVillageID = ComboBoxExtension.GetValue <int>(model.StateDistrictPlacesControlNames[0].PlacesComboName);
                if (cityVillageID <= 0)
                {
                    ModelState.AddModelError("erraocity", ErrorAndValidationMessages.AOPIReqCity);
                }
            }
            else
            {
                ModelState.AddModelError("erraocity", ErrorAndValidationMessages.AOPIReqCity);
            }

            int DesignationId = 0;
            if (ComboBoxExtension.GetValue <object>(model.designationModel[0].DDLDesignations) != null)
            {
                DesignationId = ComboBoxExtension.GetValue <int>(model.designationModel[0].DDLDesignations);
                if (DesignationId <= 0)
                {
                    ModelState.AddModelError("erraodesignation", ErrorAndValidationMessages.AOPIReqDesignation);
                }
            }
            else
            {
                ModelState.AddModelError("erraodesignation", ErrorAndValidationMessages.AOPIReqDesignation);
            }


            DateTime dob;
            if (EditorExtension.GetValue <object>(model.dOBnAgeModellist[0].txtDOBnAgeName) != null)
            {
                dob = EditorExtension.GetValue <DateTime>(model.dOBnAgeModellist[0].txtDOBnAgeName);
                if (dob == null)
                {
                    ModelState.AddModelError("errreqdesignation", ErrorAndValidationMessages.AOPIReqExDOB);
                }
                else
                {
                    if (dob.Year < Convert.ToInt32(Constants.MINVALIDYEAR))
                    {
                        ModelState.AddModelError("errregxdesignation", ErrorAndValidationMessages.AOPIRegXExDOB);
                    }
                }
            }
            else
            {
                ModelState.AddModelError("errreqdesignation", ErrorAndValidationMessages.AOPIReqExDOB);
            }

            ClientRegistrationModel CRModel  = null;
            int      AllowedFarewellYearFrom = 0;
            int      AllowedFarewellYearTo   = 0;
            DateTime FarewellDate            = Convert.ToDateTime(model.RelievingDate);
            if (Session["CompanyProfile"] != null && !String.IsNullOrEmpty(mode) && !String.IsNullOrEmpty(cpmode) &&
                FarewellDate != DateTime.MinValue && FarewellDate != Helper.SetDefaultDate())
            {
                CRModel = (ClientRegistrationModel)Session["CompanyProfile"];
                if (CRModel.ClientSubscription.SubscriptionPeriodFromDate != DateTime.MinValue && CRModel.ClientSubscription.SubscriptionPeriodToDate != DateTime.MinValue && CRModel.ClientSubscription.SubscriptionPeriod > 0)
                {
                    int SubscriptionYearFrom  = Convert.ToDateTime(CRModel.ClientSubscription.SubscriptionPeriodFromDate).Year;
                    int SubscriptionMonthFrom = Convert.ToDateTime(CRModel.ClientSubscription.SubscriptionPeriodFromDate).Month;
                    int SubscriptionYearTo    = Convert.ToDateTime(CRModel.ClientSubscription.SubscriptionPeriodToDate).Year;
                    int SubscriptionMonthTo   = Convert.ToDateTime(CRModel.ClientSubscription.SubscriptionPeriodToDate).Month;
                    int CurrentYear           = DateTime.Now.Year;
                    int CurrentMonth          = DateTime.Now.Month;

                    if (SubscriptionYearFrom > CurrentYear)
                    {
                        AllowedFarewellYearFrom = SubscriptionYearFrom;
                        AllowedFarewellYearTo   = SubscriptionYearFrom + 1;
                    }
                    else if ((SubscriptionYearFrom == CurrentYear && SubscriptionYearTo >= CurrentYear) || (SubscriptionYearFrom < CurrentYear && SubscriptionYearTo >= CurrentYear))
                    {
                        if (CurrentMonth >= 1 && CurrentMonth <= 3)
                        {
                            AllowedFarewellYearFrom = CurrentYear - 1;
                            AllowedFarewellYearTo   = CurrentYear;
                        }
                        else
                        {
                            AllowedFarewellYearFrom = CurrentYear;
                            AllowedFarewellYearTo   = CurrentYear + 1;
                        }
                    }

                    if (!(FarewellDate.Year >= AllowedFarewellYearFrom && FarewellDate.Year <= AllowedFarewellYearTo))
                    {
                        ModelState.AddModelError("errreqdesignation", ErrorAndValidationMessages.AOPIFarewellDateError);
                    }
                }
            }
            #endregion

            #region Client Partner Gardian
            DateTime DOB     = DateTime.MinValue;
            bool     isMinor = false;
            if (model.dOBnAgeModellist[0].BindDate != DateTime.MinValue)
            {
                isMinor = IsMinor(model.dOBnAgeModellist[0].BindDate);
            }
            if (model.ClientPartnerGuardian != null && isMinor)
            {
                BusinessConstitutionModel BCModel = new BusinessConstitutionModel();
                BusinessConstitutionDto   BCDto   = null;
                if (Session["BusinessConstitution"] != null)
                {
                    BCModel = (BusinessConstitutionModel)Session["BusinessConstitution"];
                    BusinessConstitutionServiceReference.BusinessConstitutionServiceClient BCClient = new BusinessConstitutionServiceReference.BusinessConstitutionServiceClient();
                    BCDto = BCClient.GetById(BCModel.BusinessConstitutionId);
                }
                List <ClientPartnerDetailsDto> CPDtos = new List <ClientPartnerDetailsDto>();
                if (Session["ClientPartners"] != null)
                {
                    CPDtos = ((List <ClientPartnerDetailsDto>)Session["ClientPartners"]);
                }

                bool IsMinorAllowed = true;
                if (BCDto != null)
                {
                    if (BCDto.BusinessConstitutionName.Contains("Sole"))
                    {
                        ModelState.AddModelError("errgminors", ErrorAndValidationMessages.ErrorMinorSPClientPartner);
                        IsMinorAllowed = false;
                    }
                    else
                    {
                        int TotalMinorAdded = CPDtos.Where(x => x.ClientPartnerGuardian != null).ToList().Count;

                        if ((BCModel.NoOfClientPartners - TotalMinorAdded) <= 2)
                        {
                            ModelState.AddModelError("errgminors", ErrorAndValidationMessages.ErrorMinorClientPartner);
                            IsMinorAllowed = false;
                        }
                    }
                }

                if (IsMinorAllowed)
                {
                    if (String.IsNullOrEmpty(model.ClientPartnerGuardian.GuardianName))
                    {
                        ModelState.AddModelError("errgnamereq", ErrorAndValidationMessages.GardianReqName);
                    }
                    if (!String.IsNullOrEmpty(model.ClientPartnerGuardian.GuardianName) && !Regex.IsMatch(model.ClientPartnerGuardian.GuardianName, Constants.REGXNAME))
                    {
                        ModelState.AddModelError("errregxgnameregx", ErrorAndValidationMessages.GardianReqgExName);
                    }
                    if (String.IsNullOrEmpty(model.ClientPartnerGuardian.ClientPartnerGuardianAddress.AddressLine1))
                    {
                        ModelState.AddModelError("errreqgaddr1", ErrorAndValidationMessages.AOGReqAddr1);
                    }
                    if (String.IsNullOrEmpty(model.ClientPartnerGuardian.PAN))
                    {
                        ModelState.AddModelError("errreqgPAN", ErrorAndValidationMessages.AOGReqPAN);
                    }
                    if (!String.IsNullOrEmpty(model.ClientPartnerGuardian.PAN) && !Regex.IsMatch(model.ClientPartnerGuardian.PAN, Constants.REGEXPAN))
                    {
                        ModelState.AddModelError("errregxgPAN", ErrorAndValidationMessages.AOGRegExPAN);
                    }

                    if (String.IsNullOrEmpty(model.ClientPartnerGuardian.ClientPartnerGuardianAddress.PIN))
                    {
                        ModelState.AddModelError("errreqgpin", ErrorAndValidationMessages.AOGReqPIN);
                    }

                    if (!String.IsNullOrEmpty(model.ClientPartnerGuardian.ClientPartnerGuardianAddress.PIN) && !Regex.IsMatch(model.ClientPartnerGuardian.ClientPartnerGuardianAddress.PIN, Constants.REGEXPIN))
                    {
                        ModelState.AddModelError("errregxgpin", ErrorAndValidationMessages.AOGRegExPIN);
                    }

                    if (String.IsNullOrEmpty(model.ClientPartnerGuardian.Email1))
                    {
                        ModelState.AddModelError("errreqgemail1", ErrorAndValidationMessages.AOGReqEmail1);
                    }

                    if (!String.IsNullOrEmpty(model.ClientPartnerGuardian.Email1) && !Regex.IsMatch(model.ClientPartnerGuardian.Email1, Constants.REGEXEMAIL))
                    {
                        ModelState.AddModelError("errregxgemail1", ErrorAndValidationMessages.AOGRegExEmail1);
                    }

                    if (!String.IsNullOrEmpty(model.ClientPartnerGuardian.Email2) && !Regex.IsMatch(model.ClientPartnerGuardian.Email2, Constants.REGEXEMAIL))
                    {
                        ModelState.AddModelError("errregxgemail2", ErrorAndValidationMessages.AOGRegExEmail2);
                    }

                    //if (!String.IsNullOrEmpty(model.ClientPartnerGuardian.UID) && !Regex.IsMatch(model.ClientPartnerGuardian.UID, Constants.REGEXUID))
                    //{
                    //    ModelState.AddModelError("errregxguid", ErrorAndValidationMessages.AOGRegExUID);
                    //}

                    if (model.ClientPartnerGuardian.ClientPartnerGuardianContacts != null)
                    {
                        List <ContactDetailsDto> contactDetailsDto = model.ClientPartnerGuardian.ClientPartnerGuardianContacts.Where(x => x.ContactNo == null).ToList();
                        if (contactDetailsDto != null)
                        {
                            foreach (ContactDetailsDto contact in contactDetailsDto)
                            {
                                model.ClientPartnerGuardian.ClientPartnerGuardianContacts.Remove(contact);
                            }
                        }
                        if (String.IsNullOrEmpty(Helper.GetMobileNoFromContacts(model.ClientPartnerGuardian.ClientPartnerGuardianContacts)))
                        {
                            ModelState.AddModelError("errreqgmob", ErrorAndValidationMessages.AOGReqMobNo);
                        }
                        foreach (ContactDetailsDto contact in model.ClientPartnerGuardian.ClientPartnerGuardianContacts)
                        {
                            if (!String.IsNullOrEmpty(contact.ContactNo) && (!Regex.IsMatch(contact.ContactNo, Constants.REGEXCONTACTNO)))
                            {
                                ModelState.AddModelError(contact.ContactNo, ErrorAndValidationMessages.AOPIRegExContactNo);
                                break;
                            }
                        }
                    }

                    if (ComboBoxExtension.GetValue <object>(model.StateDistrictPlacesControlNames[1].PlacesComboName) != null)
                    {
                        cityVillageID = ComboBoxExtension.GetValue <int>(model.StateDistrictPlacesControlNames[1].PlacesComboName);
                        if (cityVillageID <= 0)
                        {
                            ModelState.AddModelError("errreqgcity", ErrorAndValidationMessages.AOGPIReqCity);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("errreqgcity", ErrorAndValidationMessages.AOGPIReqCity);
                    }
                }
            }
            #endregion
        }
Beispiel #2
0
        public ClientRegistrationModel()
        {
            StateDistrictPlacesControlNames = new List <Cams.Web.MVCRazor.Models.Shared.StateDistrictCityControlNamesModel>();
            StateDistrictPlacesControlNames.Add(new Shared.StateDistrictCityControlNamesModel(""));
            designationModel = new List <DesignationModel>();
            dOBnAgeModellist = new List <DOBnAgeModel>();

            if (!IsActive)
            {
                RegistrationDate = null;
            }

            #region Company Profile
            ClientContacts = new List <ContactDetailsDto>();
            ClientContacts.Add(new ContactDetailsDto()
            {
                ContactNoType      = Common.ContactType.MobileNo,
                ContactNo          = "",
                STDCode            = "020",
                CountryCallingCode = "+91"
            });
            #endregion

            #region Initialize Primary Contact Person
            string PCPPrefix = "PCP";
            ClientPrimaryContactPerson = new ClientPrimaryContactPersonDto();
            StateDistrictPlacesControlNames.Add(new Shared.StateDistrictCityControlNamesModel(PCPPrefix));
            StateDistrictPlacesControlNames[1].LeftLabelsClassName = "width100";
            designationModel.Add(new DesignationModel(PCPPrefix));
            dOBnAgeModellist.Add(new DOBnAgeModel(PCPPrefix));
            dOBnAgeModellist[0].MaxDate = DateTime.Today;
            dOBnAgeModellist[0].Width   = 110;
            ClientPrimaryContactPerson.ClientPrimaryContacts = new List <ContactDetailsDto>();
            ClientPrimaryContactPerson.ClientPrimaryContacts.Add(new ContactDetailsDto()
            {
                ContactNoType      = Common.ContactType.MobileNo,
                ContactNo          = "",
                STDCode            = "020",
                CountryCallingCode = "+91"
            });
            #endregion

            #region Client APMC
            ClientAPMC = new APMCDto();
            GetAllCommodities();
            ApmcModel = new APMCModel();
            #endregion

            #region Subscription Details
            SubscriptionMasterList = getSubscriptionMaster();
            ClientSubscription     = new ClientSubscriptionDto();
            ClientSubscription.SubscriptionMaster         = new SubscriptionMasterDto();
            ClientSubscription.SubscriptionPeriodFromDate = DateTime.Now;
            ClientSubscription.SubscriptionPeriodToDate   = DateTime.Now;
            ClientSubscription.ActivationDate             = DateTime.Now;
            #endregion

            #region Business Constitution
            ClientBusinessConstitution = new BusinessConstitutionDto();
            businessConstitutionModel  = new BusinessConstitutionModel();
            businessConstitutionModel.ClientPartners = new List <ClientPartnerDetailsDto>();
            ClientPartners = new List <ClientPartnerDetailsDto>();
            #endregion

            #region ClientSubscriptionPaymentDetails
            ClientSubscriptionPaymentDetailsModel = new List <ClientSubscriptionPaymentDetailsModel>();
            ClientSubscriptionPaymentDetailsModel.Add(new ClientSubscriptionPaymentDetailsModel {
                PaymentMode = PaymentMode.Cash
            });
            ClientSubscriptionPaymentDetailsModel.Add(new ClientSubscriptionPaymentDetailsModel {
                PaymentMode = PaymentMode.Cheque
            });
            ClientSubscriptionPaymentDetailsModel.Add(new ClientSubscriptionPaymentDetailsModel {
                PaymentMode = PaymentMode.Online
            });
            ClientSubscriptionPaymentDetailsModel.Add(new ClientSubscriptionPaymentDetailsModel {
                PaymentMode = PaymentMode.DD
            });
            #endregion

            CompanyAddress          = new AddressReadOnlyViewModel("");
            CompanyContacts         = new ContactsReadOnlyViewModel("");
            PrimaryContactsAddress  = new AddressReadOnlyViewModel("PCP");
            PrimaryContactsContacts = new ContactsReadOnlyViewModel("PCP");
            APMCAddress             = new AddressReadOnlyViewModel("APMC");
            APMCContacts            = new ContactsReadOnlyViewModel("APMC");
            //#region Account Manager
            //accountManagerModel = new AccountManagerModel();
            //#endregion
        }