daily pastebin goal
26%
SHARE
TWEET

Untitled

a guest Apr 21st, 2018 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class AMUserStore : IUserStore<ApplicationUser>,
  2.                                           IUserPasswordStore<ApplicationUser>,
  3.                                           IUserRoleStore<ApplicationUser>,
  4.                                           IUserEmailStore<ApplicationUser>
  5.  
  6.  
  7.     {
  8.         protected AMDbContext _db;
  9.         protected PortalContext _dbPortalContext;
  10.  
  11.         public AMUserStore()
  12.         {
  13.             _db = new AMDbContext();
  14.             _dbPortalContext = new PortalContext();
  15.         }
  16.  
  17.         public void Dispose()
  18.         {
  19.             _db.Dispose();
  20.         }
  21.  
  22.         public async Task<ApplicationUser> FindByIdAsync(string userId)
  23.         {
  24.             ApplicationUser result = null;
  25.  
  26.             Guid userIdGuid = Guid.Parse(userId);
  27.             var user = await _db.Users.Where(p => p.Id == userIdGuid).FirstOrDefaultAsync();
  28.  
  29.             if (user != null)
  30.             {
  31.                 result = new ApplicationUser();
  32.                 result.Id = user.Id.ToString();
  33.                 result.UserName = user.Username;
  34.                 result.PasswordHash = user.Password;
  35.             }
  36.  
  37.             return result;
  38.         }
  39.  
  40.         public async Task<ApplicationUser> FindByNameAsync(string userName)
  41.         {
  42.             ApplicationUser result = null;
  43.  
  44.             var user = await _db.Users.Where(p => p.Username == userName).FirstOrDefaultAsync();
  45.             //var roles = ((IList<string>)_dbPortalContext.UserRoles.Where(x => x.UserId.Equals(userIdGuid)).Select(x => x.Roles.ToString()).ToList());
  46.  
  47.             if (user != null)
  48.             {
  49.                 result = new ApplicationUser();
  50.                 result.Id = user.Id.ToString();
  51.                 result.UserName = user.Username;
  52.                 result.PasswordHash = user.Password;
  53.             }
  54.  
  55.             return result;
  56.         }
  57.  
  58.  
  59.  
  60.         public Task<string> GetPasswordHashAsync(ApplicationUser user)
  61.         {
  62.             return Task.FromResult(user.PasswordHash);
  63.         }
  64.  
  65.         public Task<bool> HasPasswordAsync(ApplicationUser user)
  66.         {
  67.             return Task.FromResult(string.IsNullOrEmpty(user.PasswordHash));
  68.         }
  69.  
  70.         public Task SetPasswordHashAsync(ApplicationUser user, string passwordHash)
  71.         {
  72.             var userId = Guid.Parse(user.Id);
  73.             var selectedUser = _db.Users.FirstOrDefault(u => u.Id.Equals(userId));
  74.  
  75.             selectedUser.Password = passwordHash;
  76.  
  77.             return _db.SaveChangesAsync();
  78.  
  79.         }
  80.  
  81.         public Task UpdateAsync(ApplicationUser user)
  82.         {
  83.             var userId = Guid.Parse(user.Id);
  84.             var selectedUser = _db.Users.FirstOrDefault(u => u.Id.Equals(userId));
  85.             var context = _db;
  86.             context.Entry(selectedUser).State = EntityState.Modified;
  87.             return _db.SaveChangesAsync();
  88.  
  89.         }
  90.         public Task CreateAsync(ApplicationUser user)
  91.         {
  92.             throw new NotImplementedException();
  93.         }
  94.  
  95.         public Task DeleteAsync(ApplicationUser user)
  96.         {
  97.             throw new NotImplementedException();
  98.         }
  99.  
  100.         public Task AddToRoleAsync(ApplicationUser user, string roleName)
  101.         {
  102.             // convert  roleName  to  enum Roles
  103.             Roles roleNameEnum = (Roles)Enum.Parse(typeof(Roles), roleName);
  104.             Guid userIdGuid = Guid.Parse(user.Id);
  105.             var roles = _dbPortalContext.UserRoles.Where(x => x.UserId.Equals(userIdGuid)).Select(x => x.Roles).ToList();
  106.             if (!roles.Contains(roleNameEnum))
  107.             {
  108.                 UserRole userRole = new UserRole
  109.                 {
  110.                     Id = Guid.NewGuid(),
  111.                     UserId = Guid.Parse(user.Id),
  112.                     Roles = roleNameEnum
  113.                 };
  114.  
  115.                 _dbPortalContext.UserRoles.Add(userRole);
  116.  
  117.             }
  118.             return _dbPortalContext.SaveChangesAsync();
  119.  
  120.         }
  121.  
  122.         public Task RemoveFromRoleAsync(ApplicationUser user, string roleName)
  123.         {
  124.             Guid userIdGuid = Guid.Parse(user.Id);
  125.             var roles = _dbPortalContext.UserRoles.Where(x => x.UserId.Equals(userIdGuid)).FirstOrDefault();
  126.             if (roles == null)
  127.             {
  128.  
  129.             }
  130.             _dbPortalContext.UserRoles.Remove(roles);
  131.  
  132.             return _dbPortalContext.SaveChangesAsync();
  133.         }
  134.  
  135.         public Task<IList<string>> GetRolesAsync(ApplicationUser user)
  136.         {
  137.             Guid userIdGuid = Guid.Parse(user.Id);
  138.             var roles = ((IList<string>)_dbPortalContext.UserRoles.Where(x => x.UserId.Equals(userIdGuid)).Select(x => x.Roles.ToString()).ToList());
  139.             return Task.FromResult(roles);
  140.         }
  141.  
  142.         public Task<bool> IsInRoleAsync(ApplicationUser user, string roleName)
  143.         {
  144.             Guid userIdGuid = Guid.Parse(user.Id);
  145.             Roles roleNameEnum = (Roles)Enum.Parse(typeof(Roles), roleName);
  146.             var roles = _dbPortalContext.UserRoles.Where(x => x.UserId.Equals(userIdGuid)).Select(x => x.Roles).ToList();
  147.  
  148.  
  149.             return Task.FromResult(roles.Contains(roleNameEnum));
  150.         }
  151.  
  152.         public Task SetEmailAsync(ApplicationUser user, string email)
  153.         {
  154.             throw new NotImplementedException();
  155.         }
  156.  
  157.         public Task<string> GetEmailAsync(ApplicationUser user)
  158.         {
  159.             var userId = Guid.Parse(user.Id);
  160.             var result = _dbPortalContext.Accounts.Include(a => a.User).FirstOrDefault(a => a.User.Id.Equals(userId));
  161.             string userEmail = null;
  162.             if (result != null)
  163.             {
  164.                 userEmail = result.Sol_Cust_Contact;
  165.                 return Task.FromResult(userEmail);
  166.             }
  167.  
  168.  
  169.             else
  170.                 return Task.FromResult(userEmail);
  171.         }
  172.  
  173.  
  174.         public Task<bool> GetEmailConfirmedAsync(ApplicationUser user)
  175.         {
  176.             var userId = Guid.Parse(user.Id);
  177.             var selectedUser = _dbPortalContext.Users.Where(u => u.Id.Equals(userId)).FirstOrDefault();
  178.             return Task.FromResult(selectedUser.EmailValidated);
  179.         }
  180.  
  181.         public Task SetEmailConfirmedAsync(ApplicationUser user, bool confirmed)
  182.         {
  183.             throw new NotImplementedException();
  184.         }
  185.  
  186.         public Task<ApplicationUser> FindByEmailAsync(string email)
  187.         {
  188.             ApplicationUser result = null;
  189.             var user = _db.Users.Where(u => u.Email.Equals(email)).FirstOrDefault();
  190.             if (user != null)
  191.             {
  192.                 result = new ApplicationUser();
  193.                 result.Id = user.Id.ToString();
  194.                 result.UserName = user.Username;
  195.                 result.Email = user.Email;
  196.  
  197.             }
  198.  
  199.             return Task.FromResult(result);
  200.         }
  201.     }
  202.    
  203. public Task<string> GetEmailAsync(ApplicationUser user)
  204. {
  205.     var userId = Guid.Parse(user.Id);
  206.     var result = _dbPortalContext.Accounts.Include(a => a.User).FirstOrDefault(a => a.User.Id.Equals(userId));
  207.     string userEmail = null;
  208.     if (result != null)
  209.     {
  210.         userEmail = result.Sol_Cust_Contact;
  211.         return Task.FromResult(userEmail);
  212.     }
  213.  
  214.  
  215.     else
  216.         return Task.FromResult(userEmail);
  217. }
  218.    
  219. public Task<string> GetEmailAsync(ApplicationUser user)
  220. {
  221.     var userId = Guid.Parse(user.Id);
  222.     var result = _dbPortalContext.Accounts.Include(a => a.User).FirstOrDefault(a => a.User.Id.Equals(userId));
  223.     string userEmail = null;
  224.     if (result != null)
  225.     {
  226.         userEmail = result.Sol_Cust_Contact;
  227.     }
  228.     return Task.FromResult(userEmail);
  229. }
  230.    
  231. public Task RemoveFromRoleAsync(ApplicationUser user, string roleName)
  232. {
  233.     Guid userIdGuid = Guid.Parse(user.Id);
  234.     var roles = _dbPortalContext.UserRoles.Where(x => x.UserId.Equals(userIdGuid)).FirstOrDefault();
  235.     if (roles == null)
  236.     {
  237.  
  238.     }
  239.     _dbPortalContext.UserRoles.Remove(roles);
  240.  
  241.     return _dbPortalContext.SaveChangesAsync();
  242. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top