Ejemplo n.º 1
0
        /// <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;
            }
        }
Ejemplo n.º 2
0
 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;
     }
 }
Ejemplo n.º 3
0
 public async Task <bool> RegisterUser(Model.Common.IUser user, string password)
 {
     try
     {
         return(await Repository.RegisterUser(user, password));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Ejemplo n.º 4
0
 /// <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;
     }
 }
Ejemplo n.º 5
0
        /// <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;
            }
        }