public void Validate(System.Web.Mvc.ModelStateDictionary modelState)
    {
      ValidationCheck.CheckErrors(this, modelState);

      if (!String.Equals(this.NewPassword, this.ConfirmPassword, StringComparison.Ordinal))
      {
        modelState.AddModelError("NewPassword", "The new password and confirmation password do not match");
        modelState.AddModelError("ConfirmPassword", "");
      }

      SessionUser cuser = AppHelper.CurrentUser;
      if (!ProjectConfig.DataProvider.UserRepository.ValidatePasswordForUser(this.CurrentPassword, cuser != null ? cuser.ID : 0))
      {
        modelState.AddModelError("CurrentPassword", "Current password is invalid");
      }
    }
    public void Validate(System.Web.Mvc.ModelStateDictionary modelState)
    {
      ValidationCheck.CheckErrors(this, modelState);

      if (!ValidationCheck.IsEmpty(this.Email) && ValidationCheck.IsEmail(this.Email))
      {
        IUser user = ProjectConfig.DataProvider.UserRepository.GetUserByEmail(this.Email, true);
        if (user == null)
        {
          modelState.AddModelError("Email", "Sorry, the e-mail address entered was not found.  Please try again.");
        }
        else if (user.IsConfirmed)
        {
          modelState.AddModelError("Email", "Sorry, the e-mail address already confirmed.");
        }
      }
    }
    public void Validate(System.Web.Mvc.ModelStateDictionary modelState)
    {
      ValidationCheck.CheckErrors(this, modelState);

      //check Email
      if (!ValidationCheck.IsEmpty(this.Email) && !ProjectConfig.DataProvider.DifferentRepository.ValidateOuterSubscriptionEmail(this.Email, ID))
      {
        modelState.AddModelError("Email", "This email already present in system");
      }

      if (!(this.Email == this.EmailConfirm))
      {
        modelState.AddModelError("Email", "Email and confirmation email should be match.");
      }

      if (!IsRecievingWeeklySpecials && !IsRecievingUpdates)
      {
        modelState.AddModelError("IsRecievingUpdates", "Select to recieve news and updates or/and weekly specials.");
      }
    }
        public static void CheckErrors(object model, System.Web.Mvc.ModelStateDictionary modelState, bool validateNotUpdateedFields)
        {
            Dictionary<string, List<ValidationRule>> errorRules = ValidationCheck.GetValidationRules(model.GetType());

              foreach (KeyValuePair<string, List<ValidationRule>> item in errorRules)
              {
            object obj = model.GetType().InvokeMember(item.Key, BindingFlags.GetProperty, null, model, null);

            foreach (ValidationRule rule in item.Value)
            {
              if (!rule.IFieldValidation.Validate(obj))
              {
            if (modelState.ContainsKey(rule.FieldName) || validateNotUpdateedFields)
              modelState.AddModelError(rule.FieldName, rule.IFieldValidation.GetErrorMessage(rule.FieldTitle));
            continue;
              }
            }
              }
        }
Example #5
0
        /// <summary>
        /// Проверки при сохранении акта ГПД.
        /// </summary>
        /// <param name="model">Модель.</param>
        /// <param name="ms">Словарь.</param>
        public void CheckFillFieldsForGpdAct(GpdActEditModel model, System.Web.Mvc.ModelStateDictionary ms)
        {
            GetPermission(model);

            if (model.StatusID == 4)
            {
                if (model.DateBegin == null)
                    ms.AddModelError("DateBegin", "Укажите начало периода оплаты!");

                if (model.DateEnd == null)
                    ms.AddModelError("DateEnd", "Укажите конец периода оплаты!");

                return;
            }

            if (model.ActDate == null)
                ms.AddModelError("ActDate", "Укажите дату акта!");
            else
            {
                if (model.ActDate < model.ContractBeginDate || model.ActDate > model.ContractEndDate)
                    ms.AddModelError("ActDate", "Дата акта должна входить в период действия договора!");
            }

            if (model.ChargingDate == null)
                ms.AddModelError("ChargingDate", "Укажите дату начисления!");

            if (model.DateBegin == null)
                ms.AddModelError("DateBegin", "Укажите начало периода оплаты!");

            if (model.DateEnd == null)
                ms.AddModelError("DateEnd", "Укажите конец периода оплаты!");

            if (model.DateBegin != null && model.DateEnd != null)
            {
                if (model.DateBegin < model.ContractBeginDate || model.DateBegin > model.ContractEndDate)
                    ms.AddModelError("DateBegin", "Дата начала срока оплаты должна входить в период действия договора!");

                if (model.DateEnd < model.ContractBeginDate || model.DateEnd > model.ContractEndDate)
                    ms.AddModelError("DateEnd", "Дата конца срока оплаты должна входить в период действия договора!");

                if (model.DateBegin > model.DateEnd)
                    ms.AddModelError("DateBegin", "Дата начала срока оплаты должна быть меньше даты конца срока оплаты!");
            }

            if (model.Amount < 0)
                ms.AddModelError("Amount", "Сумма не должна быть меньше нуля!");
            if (model.Amount == 0)
                ms.AddModelError("Amount", "Сумма не должна быть равна нулю!");

            if (model.PurposePayment == null)
                ms.AddModelError("PurposePayment", "Укажите Назначение договора!");

            if (model.PurposePayment != null && model.PurposePayment.Length > 210)
                ms.AddModelError("PurposePayment", "Первышено количество символов!");

            if (model.ESSSNum == null)
                ms.AddModelError("ESSSNum", "Укажите № заявки ЭССС!");
            else
            {
                try { Convert.ToInt32(model.ESSSNum); }
                catch { ms.AddModelError("ESSSNum", "№ заявки ЭССС является числовым полем!"); }
            }
        }
Example #6
0
        /// <summary>
        /// Проверяем правильность заполнения полей.
        /// </summary>
        /// <param name="model">Проверяемая модель.</param>
        /// <param name="ms">Словарь для сообщений об ошибках.</param>
        public void CheckFillFieldsForGpdRefDetailDialog(GpdRefDetailDialogModel model, System.Web.Mvc.ModelStateDictionary ms)
        {
            if (model.Name == null)
                ms.AddModelError("Name", "Заполните поле 'Наименование'");
            if (model.Name != null && model.Name.Trim().Length > 150)
                ms.AddModelError("Name", "Превышено допустимое количество символов!");

            if (model.ContractorName == null)
                ms.AddModelError("ContractorName", "Заполните поле 'Наименование'");
            if (model.ContractorName != null && model.ContractorName.Trim().Length > 150)
                ms.AddModelError("ContractorName", "Превышено допустимое количество символов!");

            //if (model.INN == null)
            //    ms.AddModelError("INN", "Заполните поле 'ИНН'");
            //if (model.INN != null && model.INN.Trim().Length > 12)
            //    ms.AddModelError("INN", "Превышено допустимое количество символов!");

            //if (model.KPP == null)
            //    ms.AddModelError("KPP", "Заполните поле 'КПП'");
            //if (model.KPP != null && model.KPP.Trim().Length > 9)
            //    ms.AddModelError("KPP", "Превышено допустимое количество символов!");

            //if (model.Account == null)
            //    ms.AddModelError("Account", "Заполните поле 'Расчетный счет'");
            if (model.Account != null && model.Account.Trim().Length > 23)
                ms.AddModelError("Account", "Превышено допустимое количество символов!");

            //if (model.BankName == null)
            //    ms.AddModelError("BankName", "Заполните поле 'Банк'");
            //if (model.BankName != null && model.BankName.Trim().Length > 100)
            //    ms.AddModelError("BankName", "Превышено допустимое количество символов!");

            //if (model.BankBIK == null)
            //    ms.AddModelError("BankBIK", "Заполните поле 'Банк БИК'");
            //if (model.BankBIK != null && model.BankBIK.Trim().Length > 9)
            //    ms.AddModelError("BankBIK", "Превышено допустимое количество символов!");

            //if (model.CorrAccount == null)
            //    ms.AddModelError("CorrAccount", "Заполните поле 'Банк кор/счет'");
            if (model.CorrAccount != null && model.CorrAccount.Trim().Length > 23)
                ms.AddModelError("Name", "Превышено допустимое количество символов!");

            if (model.PersonAccount != null && model.PersonAccount.Trim().Length > 23)
                ms.AddModelError("PersonAccount", "Превышено допустимое количество символов!");
        }
Example #7
0
        /// <summary>
        /// Проверяем правильность заполнения полей.
        /// </summary>
        /// <param name="model">Проверяемая модель.</param>
        /// <param name="ms">Словарь для сообщений об ошибках.</param>
        /// <param name="flgFromContract">Признак проверки модели заполняемой в договорах.</param>
        public void CheckFillFieldsForGpdRefDetail(GpdRefDetailEditModel model, System.Web.Mvc.ModelStateDictionary ms, bool flgFromContract)
        {
            string ModelName = flgFromContract ? "DetailEdit." : "";
            GetPermission(model);
            if (model.Operation == 1)
            {
                if (model.Name == null)
                    ms.AddModelError(ModelName + "Name", "Заполните поле 'Наименование'!");
                if (model.Name != null && model.Name.Trim().Length > 250)
                    ms.AddModelError(ModelName + "Name", "Превышено допустимое количество символов!");

                if (model.PersonID == 0)
                    ms.AddModelError(ModelName + "PersonID", "Выберите физическое лицо!");

                if (model.PayerID == 0)
                    ms.AddModelError(ModelName + "PayerID", "Укажите плательщика!");

                if (model.PayeeID == 0)
                    ms.AddModelError(ModelName + "PayeeID", "Укажите получателя!");

                if (model.Account == null)
                    ms.AddModelError(ModelName + "Account", "Укажите номер счета получателя!");
                if (model.Account != null && model.Account.Trim().Length > 20)
                    ms.AddModelError(ModelName + "Account", "Превышено допустимое количество символов!");
            }
            else
            {
                //if (model.DetailName == null)
                //    ms.AddModelError(ModelName + "DetailName", "Заполните поле 'Наименование'");
                //if (model.DetailName != null && model.DetailName.Trim().Length > 150)
                //    ms.AddModelError(ModelName + "DetailName", "Превышено допустимое количество символов!");

                //if (model.INN == null)
                //    ms.AddModelError(ModelName + "INN", "Заполните поле 'ИНН'");
                //if (model.INN != null && model.INN.Trim().Length > 12)
                //    ms.AddModelError(ModelName + "INN", "Превышено допустимое количество символов!");

                //if (model.KPP == null)
                //    ms.AddModelError(ModelName + "KPP", "Заполните поле 'КПП'");
                //if (model.KPP != null && model.KPP.Trim().Length > 9)
                //    ms.AddModelError(ModelName + "KPP", "Превышено допустимое количество символов!");

                //if (model.DetailAccount == null)
                //    ms.AddModelError(ModelName + "DetailAccount", "Заполните поле 'Расчетный счет'");
                //if (model.DetailAccount != null && model.DetailAccount.Trim().Length > 20)
                //    ms.AddModelError(ModelName + "DetailAccount", "Превышено допустимое количество символов!");

                //if (model.BankName == null)
                //    ms.AddModelError(ModelName + "BankName", "Заполните поле 'Банк'");
                //if (model.BankName != null && model.BankName.Trim().Length > 100)
                //    ms.AddModelError(ModelName + "BankName", "Превышено допустимое количество символов!");

                //if (model.BankBIK == null)
                //    ms.AddModelError(ModelName + "BankBIK", "Заполните поле 'Банк БИК'");
                //if (model.BankBIK != null && model.BankBIK.Trim().Length > 9)
                //    ms.AddModelError(ModelName + "BankBIK", "Превышено допустимое количество символов!");

                //if (model.CorrAccount == null)
                //    ms.AddModelError(ModelName + "CorrAccount", "Заполните поле 'Банк кор/счет'");
                //if (model.CorrAccount != null && model.CorrAccount.Trim().Length > 20)
                //    ms.AddModelError(ModelName + "Name", "Превышено допустимое количество символов!");
            }

            //if (model.DTID == 2)
            //{
            //    if (model.Code == null)
            //        ms.AddModelError(ModelName + "Code", "Заполните поле 'Код банка'");
            //    if (model.Code != null && model.Code.Trim().Length > 9)
            //        ms.AddModelError(ModelName + "Name", "Превышено допустимое количество символов!");
            //}
            //else
            //    model.Code = null;

            if (ms.Count != 0)
                model.StatusID = 4;

            UserRole role = CurrentUser.UserRole;
            model.DetailTypes = GpdRefDetailDao.GetDetailTypes(role,
                model.DTID,
                model.TypeName);
            //физики
            model.Persons = GpdRefDetailDao.GetPersons(0);
            //плательщики
            //model.PayerInfo = GpdRefDetailDao.GetRefDetail(role, 0, 2);
            //получатели
            //model.PayeerInfo = GpdRefDetailDao.GetRefDetail(role, 0, 1);
            //список реквизитов
            //model.RefDetails = GpdRefDetailDao.GetRefDetail(role, 0, model.DTID);
        }
Example #8
0
        /// <summary>
        /// Проверки при сохранении договора.
        /// </summary>
        /// <param name="model"></param>
        /// <param name="ms"></param>
        public void CheckFillFieldsForGpdContract(GpdContractEditModel model, System.Web.Mvc.ModelStateDictionary ms)
        {
            if (model.StatusID == 4)
            {
                if (model.DateBegin == null)
                    ms.AddModelError("DateBegin", "Укажите дату начала действия договора!");

                //if (model.DateBegin < DateTime.Today) //&& model.DateBegin.Value.Month != DateTime.Today.Month)
                //    ms.AddModelError("DateBegin", "Дата начала срока действия договора не должна быть меньше текущей!");

                if (model.DateEnd == null)
                    ms.AddModelError("DateEnd", "Укажите дату окончания действия договора!");

                //if (model.DateEnd < model.DateBegin)
                //    ms.AddModelError("DateEnd", "Дата окончания действия договора должна быть больше, чем дата начала договора!");
            }
            else
            {
                if (model.DepartmentId == 0)
                    ms.AddModelError("DepartmentId", "Выберите подразделение!");
                else
                {
                    //проверяем уровень выбранного подразделения
                    if (GpdContractDao.GetDepLevel(model.DepartmentId) != 7)
                        ms.AddModelError("DepartmentId", "Нужно выбрать подразделение седьмого уровня!");
                }

                if (model.PersonID == 0)
                    ms.AddModelError("PersonID", "Выберите физическое лицо из списка!");

                if (model.PayerID == 0)
                    ms.AddModelError("PayerID", "Укажите плательщика!");

                if (model.PayeeID == 0)
                    ms.AddModelError("PayeeID", "Укажите получателя!");

                if (model.CTID == 0)
                    ms.AddModelError("CTID", "Выберите вид начисления из списка!");

                if (model.NameContract == null)
                    ms.AddModelError("NameContract", "Заполните поле 'Наименование договора'!");

                if (model.NumContract == null)
                    ms.AddModelError("NumContract", "Заполните поле '№ договора'!");

                if (model.DateBegin == null)
                    ms.AddModelError("DateBegin", "Укажите дату начала действия договора!");

                if (!model.DateP.HasValue)
                {
                    if (model.DateBegin.HasValue && model.DateBegin.Value.Year < 2014) //временно разрешили вводить договоры задним числом
                        //if (model.DateBegin < DateTime.Today) //&& model.DateBegin.Value.Month != DateTime.Today.Month)
                        ms.AddModelError("DateBegin", "Дата начала срока действия договора не должна быть меньше текущей!");
                }

                if (model.DateEnd == null)
                    ms.AddModelError("DateEnd", "Укажите дату окончания действия договора!");

                if (model.DateEnd < model.DateBegin)
                    ms.AddModelError("DateEnd", "Дата окончания действия договора должна быть больше, чем дата начала договора!");

                if (model.DateP != null)
                {
                    if (model.DateP <= model.DateEnd)
                        ms.AddModelError("DateP", "Дата пролонгации должна быть больше даты окончания действия договора!");
                }

                if (model.PaymentPeriodID == 0)
                    ms.AddModelError("PaymentPeriodID", "Укажите срок оплаты!");

                //if (model.GPDID == null)
                //    ms.AddModelError("GPDID", "Заполните поле 'ID физического лица (ГПД) в ЭССД'!");

                //if (model.GPDContractID == null)
                //    ms.AddModelError("GPDContractID", "Заполните поле 'ID договора с физ. лицом (ГПД) в ЭССД'!");

                if (model.PurposePayment == null)
                    ms.AddModelError("PurposePayment", "Заполните поле 'Назначение платежа'!");

                if (model.PurposePayment != null)
                {
                    //если при создании жмут сразу на занести, то формируем поле, которое автоматически формируется, если жать на кнопку черновик
                    if (model.PurposePaymentPart == null)
                    {
                        model.PurposePaymentPart = "Договор ГПХ # " + (model.Account != null && model.Account.Trim().Length != 0 ? model.Account : model.PayeeAccount) + " ## " + GpdContractDao.GetPersonName(model.PersonID) + " *";
                    }

                    if (model.PurposePaymentPart.Trim().Length + model.PurposePayment.Trim().Length > 210)
                        ms.AddModelError("PurposePayment", "Превышено количество символов!");
                }

                if (model.Amount == 0)
                    ms.AddModelError("Amount", "Сумма не должна быть равна нулю!");
            }

            SetGpdContractEditDropDowns(model);
        }
Example #9
0
        /// <summary>
        /// Validates the model.
        /// </summary>
        /// <param name="modelState">Controller.ModelState</param>
        /// <param name="outboundCommuteStart">If the model is valid, will contain the start time of the outbound commute.</param>
        /// <param name="returnCommuteStart">If the model is valid, will contain the start time of the return commute.</param>
        public void Validate(System.Web.Mvc.ModelStateDictionary modelState, out DateTime outboundCommuteStart, out DateTime returnCommuteStart)
        {
            if (d == 0)
            {
                modelState.AddModelError("WorkingDays", "Please select at least one workday.");
            }

            if (!y.HasValue || !x.HasValue)
            {
                modelState.AddModelError("Location", "Sorry, we couldn't figure out your location."); // TODO: Actually this is kind of a fatal error
            }

            var today = DateTime.Now.Date;

            if (UIHelpers.TryGetTime(h, out outboundCommuteStart))
            {
                today.AddHours(outboundCommuteStart.Hour).AddMinutes(outboundCommuteStart.Minute);
            }

            if (UIHelpers.TryGetTime(w, out returnCommuteStart))
            {
                today.AddHours(returnCommuteStart.Hour).AddMinutes(returnCommuteStart.Minute);
            }

            if (Utils.GetTimeOfDayDifference(outboundCommuteStart, returnCommuteStart) <= new TimeSpan(0, j, 0))
            {
                modelState.AddModelError("JourneysOverlap", "Your journeys overlap one another. That can't be right.");
            }
        }
    public void Validate(System.Web.Mvc.ModelStateDictionary modelState)
    {
      ValidationCheck.CheckErrors(this, modelState);

      //check Login
      if (!ValidationCheck.IsEmpty(this.Login) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateLogin(this.Login, ID))
      {
        modelState.AddModelError("Login", "This login already present in system");
      }

      //check Email
      if (!ValidationCheck.IsEmpty(this.Email) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateEmail(this.Email, ID))
      {
        modelState.AddModelError("Email", "This email already present in system");
      }

      if (!String.Equals(this.Password, this.ConfirmPassword, StringComparison.Ordinal))
      {
        modelState.AddModelError("Password", "The password and confirmation password do not match.");
        modelState.AddModelError("ConfirmPassword", "");
      }

      if (!String.Equals(this.Email, this.ConfirmEmail, StringComparison.Ordinal))
      {
        modelState.AddModelError("Email", "The email and confirmation email do not match.");
        modelState.AddModelError("ConfirmEmail", "");
      }

      if (this.BillingState=="--" && this.BillingCountry == 1)
      {
        modelState.AddModelError("BillingState", "'State' is required");
      }

      if (this.ShippingState=="--" && this.ShippingCountry == 1 && !this.BillingLikeShipping)
      {
        modelState.AddModelError("ShippingState", "'State' is required");
      }

      if (this.BillingState!="--" && this.BillingCountry > 1)
      {
        modelState.AddModelError("BillingState", "'State' must have value '--'");
      }

      if (this.ShippingState!="--" && this.ShippingCountry > 1 && !this.BillingLikeShipping)
      {
        modelState.AddModelError("ShippingState", "'State' must have value '--'");
      }
      if (this.BillingState=="--" && this.BillingCountry > 1 && String.IsNullOrEmpty(this.BillingInternationalState))
      {
        modelState.AddModelError("BillingInternationalState", "'International State' is required");
      }
      if (this.ShippingState=="--" && this.ShippingCountry > 1 && String.IsNullOrEmpty(this.ShippingInternationalState) && !this.BillingLikeShipping)
      {
        modelState.AddModelError("ShippingInternationalState", "'International State' is required");
      }

    }
Example #11
0
        /// <inheritDoc/>
        public virtual void ValidateProfileData(ProfileEditViewModel viewModel, System.Web.Mvc.ModelStateDictionary modelState)
        {
            List<ProfileBindingsContract> profileBindingsList = this.GetDeserializedProfileBindings();

            foreach (var profile in this.SelectedUserProfiles)
            {
                var profileBindings = profileBindingsList.SingleOrDefault(p=>p.ProfileType == profile.GetType().FullName);
                if (profileBindings != null)
                {
                    var requiredProperties = profileBindings.Properties.Where(p => p.Required);

                    foreach (var prop in requiredProperties)
                    {
                        string propValue;

                        if (!viewModel.Profile.TryGetValue(prop.Name, out propValue) || string.IsNullOrWhiteSpace(propValue))
                        {
                            modelState.AddModelError(string.Format("Profile[{0}]", prop.Name), string.Format(Res.Get<ProfileResources>().RequiredProfileField, prop.Name));
                        }
                    }
                }
            }

            var minPassLength = UserManager.GetManager(this.MembershipProvider).MinRequiredPasswordLength;
            if (!string.IsNullOrEmpty(viewModel.OldPassword) && !string.IsNullOrEmpty(viewModel.NewPassword) && !string.IsNullOrEmpty(viewModel.RepeatPassword))
            {
                if (viewModel.NewPassword.Length < minPassLength)
                {
                    modelState.AddModelError("NewPassword", string.Format(Res.Get<ProfileResources>().MinimumPasswordLength, minPassLength));
                }

                if (viewModel.RepeatPassword.Length < minPassLength)
                {
                    modelState.AddModelError("RepeatPassword", string.Format(Res.Get<ProfileResources>().MinimumPasswordLength, minPassLength));
                }
            }
        }
Example #12
0
 public virtual void CopyErrorsToModelState(System.Web.Mvc.ModelStateDictionary ModelState)
 {
     if (Errors.Any())
     {
         foreach (var err in Errors)
         {
             ModelState.AddModelError(err.PropertyName, err.ErrorMessage);
         }
     }
 }
    //ValidateWithoutConfim
    public void ValidateWithoutConfim(System.Web.Mvc.ModelStateDictionary modelState)
    {
      ValidationCheck.CheckErrors(this, modelState, true);

      //check Login
      if (!ValidationCheck.IsEmpty(this.Login) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateLogin(this.Login, ID))
      {
        modelState.AddModelError("Login", "Login already exists. Please enter a different user name.");
      }

      //check Email
      if (!ValidationCheck.IsEmpty(this.Email) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateEmail(this.Email, ID))
      {
        modelState.AddModelError("Email", "A username for that e-mail address already exists. Please enter a different e-mail address.");
      }      
    }
    //ValidateWithConfim (Email, Password)
    public void ValidateWithConfim(System.Web.Mvc.ModelStateDictionary modelState)
    {
      ValidationCheck.CheckErrors(this, modelState, true);

      //check Login
      if (!ValidationCheck.IsEmpty(this.Login) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateLogin(this.Login, ID))
      {
        modelState.AddModelError("Login", "Login already exists. Please enter a different user name.");
      }

      //check Email
      if (!ValidationCheck.IsEmpty(this.Email) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateEmail(this.Email, ID))
      {
        modelState.AddModelError("Email", "A username for that e-mail address already exists. Please enter a different e-mail address.");
      }
      // check Email and Confirm Email
      if (!String.Equals(this.Email, this.ConfirmEmail, StringComparison.Ordinal))
      {
        modelState.AddModelError("Email", "The Email and confirmation Email do not match.");
        modelState.AddModelError("ConfirmEmail", "");
      }
      // check Password and Confirm Password
      if (!String.Equals(this.Password, this.ConfirmPassword, StringComparison.Ordinal))
      {
        modelState.AddModelError("Password", "The password and confirmation password do not match.");
        modelState.AddModelError("ConfirmPassword", "");
      }
    }
        /// <summary>
        ///     Updates the PostalCode Model error to be more specific if possible
        /// </summary>
        /// <param name="modelState">
        ///     The ModelStateDictionary to be modified
        /// </param>
        public void UpdatePostalCodeModelError(System.Web.Mvc.ModelStateDictionary modelState)
        {
            if (!modelState.IsValidField(nameof(PostalCode)) &&
                !string.IsNullOrWhiteSpace(CountryCode))
            {
                // Remove the default validation message to provide a more specific one.
                modelState.Remove(nameof(PostalCode));

                modelState.AddModelError(
                    nameof(PostalCode),
                    CountryCode == "CA"
                        ? "You must provide a valid Canadian postal code in the format A0A 0A0"
                        : "You must provide a valid Zip Code in the format 12345 or 12345-6789");
            }
        }