Esempio n. 1
0
        public async Task <IHttpActionResult> ForgetPassword(string email)
        {
            if (string.IsNullOrEmpty(email) || string.IsNullOrWhiteSpace(email))
            {
                ModelState.AddModelError("Email", GenericError.INVALID_GIVEN_PARAMETER);
                return(BadRequest(ModelState));
            }
            var mailUnescape = Uri.UnescapeDataString(email);

            if (!MailValid.IsValid(mailUnescape))
            {
                ModelState.AddModelError("Email", GenericError.INVALID_GIVEN_PARAMETER);
                return(BadRequest(ModelState));
            }
            var client = await Manager.FindByEmailAsync(mailUnescape);

            if (client == null)
            {
                ModelState.AddModelError("Email", GenericError.FORBIDDEN_RESOURCE_OR_DOES_NO_EXIST);
                return(BadRequest(ModelState));
            }
            var TokenForgetPassword = await Manager.GeneratePasswordResetTokenAsync(client.Id);

            var token = Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format("{0}:{1}", client.Id, TokenForgetPassword)));
            var CallbackURLForgetPassword = new Uri(string.Format("{0}forgot-password/{1}", WebApiApplication.MANAGER_URL, token));

            await sendForgetPasswordWithTemplate(CallbackURLForgetPassword, client);

            return(Ok());
        }
Esempio n. 2
0
 public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
 {
     // If it's not an email
     if (Email != null && !MailValid.IsValid(Email))
     {
         yield return(new ValidationResult(GenericError.DOES_NOT_MEET_REQUIREMENTS, new string[] { "Email" }));
     }
     // smtpPort must be between 0 and 65535
     if (SmtpPort < 0 || SmtpPort > LIMIT_PORT)
     {
         yield return(new ValidationResult(GenericError.DOES_NOT_MEET_REQUIREMENTS, new string[] { "SmtpPort" }));
     }
 }
Esempio n. 3
0
 public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
 {
     // If email is an email
     if (Email != null && !MailValid.IsValid(Email))
     {
         yield return(new ValidationResult(GenericError.WRONG_DATA, new[] { "Email" }));
     }
     // Phone must contain only digits
     if (Phone1 != null && !Regex.IsMatch(Phone1, GenericNames.ONLY_NUMBER_REGEX))
     {
         yield return(new ValidationResult(GenericError.WRONG_DATA, new[] { "Phone1" }));
     }
     // Phone must contain only digits
     if (Phone2 != null && !Regex.IsMatch(Phone2, GenericNames.ONLY_NUMBER_REGEX))
     {
         yield return(new ValidationResult(GenericError.WRONG_DATA, new[] { "Phone2" }));
     }
 }
Esempio n. 4
0
 public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
 {
     // If datebirth > UtcNow
     if (DateBirth > DateTime.UtcNow)
     {
         yield return(new ValidationResult(GenericError.WRONG_DATA, new[] { "DateBirth" }));
     }
     // If email is not an email
     if (Email != null && !MailValid.IsValid(Email))
     {
         yield return(new ValidationResult(GenericError.WRONG_DATA, new[] { "Email" }));
     }
     // If acceptMailing is at true you must provide an email
     if (Email == null && AcceptMailing == true)
     {
         yield return(new ValidationResult(GenericError.CANNOT_BE_NULL_OR_EMPTY, new[] { "Email" }));
     }
 }