using MailChimp; using MailChimp.Lists; using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Sevomin.Models.Helpers { public class SevominUserValidator : IIdentityValidator { private readonly UserManager manager; public SevominUserValidator() { manager = new UserManager(new UserStore(SevominDbContext.Current)); } public async Task ValidateAsync(User item) { var errors = new List(); if (string.IsNullOrWhiteSpace(item.UserName)) errors.Add("نام کاربری نمی تواند خالی باشد. لطفا ایمیل خود را وارد نمایید."); else if (await (manager.FindByNameAsync(item.UserName)) != null) errors.Add("ایمیل وارد شده قبلا در سایت استفاده شده است. کلمه عبور خود را فراموش کرده اید؟"); return errors.Any() ? IdentityResult.Failed(errors.ToArray()) : IdentityResult.Success; } } }