/// <summary> /// Updates only username or email /// </summary> /// <param name="user">UserToUpdate</param> /// <param name="password">User password</param> /// <returns>IUser</returns> public async Task <Model.Common.IUser> UpdateUserEmailOrUsernameAsync(Model.Common.IUser user, string password) { try { IUnitOfWork uow = repository.CreateUnitOfWork(); bool passwordValid = false; Task <User> result = null; // Check if user is valid using (UserManager <User> UserManager = createUserManager()) { User userToCheck = await UserManager.FindByIdAsync(user.Id); passwordValid = await UserManager.CheckPasswordAsync(userToCheck, password); } if (passwordValid) { result = uow.UpdateAsync <User>(Mapper.Map <User>(user), u => u.Email, u => u.UserName); } await uow.CommitAsync(); return(await Task.FromResult(Mapper.Map <Model.Common.IUser>(result.Result) as Model.Common.IUser)); } catch (Exception) { throw; } }
public async Task <Model.Common.IUser> UpdateEmailOrUsernameAsync(Model.Common.IUser user, string password) { try { return(await Repository.UpdateUserEmailOrUsernameAsync(user, password)); } catch (Exception e) { throw e; } }
public async Task <bool> RegisterUser(Model.Common.IUser user, string password) { try { return(await Repository.RegisterUser(user, password)); } catch (Exception e) { throw e; } }
/// <summary> /// Add user /// </summary> public async Task <int> AddAsync(Model.Common.IUser user) { try { return(await repository.AddAsync <User>(Mapper.Map <User>(user))); } catch (Exception ex) { throw ex; } }
/// <summary> /// Registers adds user /// </summary> /// <param name="user"></param> /// <returns>True if success, false otherwise</returns> public async Task <bool> RegisterUser(Model.Common.IUser user, string password) { try { using (UserManager <User> userManager = createUserManager()) { IdentityResult result = await userManager.CreateAsync(Mapper.Map <User>(user), password); return(result.Succeeded); } } catch (Exception ex) { throw ex.InnerException; } }