Esempio n. 1
0
        public Model.Users Update(int id, UsersUpdateRequest request)
        {
            var entity = _context.Users.Find(id);

            _context.Users.Attach(entity);
            _context.Users.Update(entity);
            if (!string.IsNullOrWhiteSpace(request.Password))
            {
                if (request.Password != request.PasswordConfirmation)
                {
                    throw new UserException("Passwords do not match.");
                }

                entity.PasswordSalt = GenerateSalt();
                entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password);
            }
            if (entity.Username != request.Username && CheckUsernameExists(request.Username))
            {
                throw new UserException("Username is already taken.");
            }
            if (entity.Email != request.Email && CheckEmailExists(request.Email))
            {
                throw new UserException("Email is already taken.");
            }

            _mapper.Map(request, entity);

            _context.SaveChanges();

            return(_mapper.Map <Model.Users>(entity));
        }
Esempio n. 2
0
        public UserUpdateResponse UpdateUser(UsersUpdateRequest request, int id)
        {
            var sqlProvider = new SqlService();
            var s3Ser       = new S3Service();

            var sliceImgUrl = "";

            if (request.ImgFileType != null)
            {
                sliceImgUrl = s3Ser.SignedUrlWithNoExpire(null);
            }

            sqlProvider.AddParameter("@UserId", id);
            sqlProvider.AddParameter("@Name", request.Name);
            sqlProvider.AddParameter("@Email", request.Email);
            sqlProvider.AddParameter("@ImageUrl", sliceImgUrl);

            sqlProvider.ExecuteNonQuery("Users_Update");

            var user = new UserUpdateResponse
            {
                Id             = id,
                ImageSignedUrl = s3Ser.GeneratePreSignedURL("UI" + id.ToString(), request.ImgFileType)
            };

            return(user);
        }
Esempio n. 3
0
        public bool PasswordReset(UsersUpdateRequest request)
        {
            var sql = new SqlService();

            sql.AddParameter("@UserId", request.Id);
            sql.AddParameter("@Password", request.Password);
            bool ret = sql.ExecuteScalar("Users_ResetPassword") == DBNull.Value ? false : true;

            return(ret);
        }
Esempio n. 4
0
        public bool UpdatePassword(UsersUpdateRequest request)
        {
            var sqlProvider = new SqlService();

            sqlProvider.AddParameter("@UserId", request.Id);
            sqlProvider.AddParameter("@Password", request.Password);
            sqlProvider.AddParameter("@NewPassword", request.NewPassword);

            return((bool)sqlProvider.ExecuteScalar("User_Update_Password"));
        }
Esempio n. 5
0
 public void LockUser(UsersUpdateRequest model)
 {
     DataProvider.ExecuteNonQuery("dbo.UserBase_LockUser"
                                  , inputParamMapper : delegate(SqlParameterCollection paramCollection)
     {
         paramCollection.AddWithValue("@Id", model.Id);
         paramCollection.AddWithValue("@Lock", model.Lock);
     }
                                  );
 }
Esempio n. 6
0
 public void AdminAccess(UsersUpdateRequest model)
 {
     DataProvider.ExecuteNonQuery("dbo.UserRoles_AdminAccess"
                                  , inputParamMapper : delegate(SqlParameterCollection paramCollection)
     {
         paramCollection.AddWithValue("@Id", model.Id);
         paramCollection.AddWithValue("@Role", model.Role);
     }
                                  );
 }
Esempio n. 7
0
        public HttpResponseMessage UpdatePassword(UsersUpdateRequest request)
        {
            var result = _usersProvider.UpdatePassword(request);

            if (!result)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "User or Password does not match current data."));
            }
            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
Esempio n. 8
0
        public HttpResponseMessage PasswordReset(UsersUpdateRequest request)
        {
            var result = _usersProvider.PasswordReset(request);

            if (!result)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "User Not found, please log out and try again."));
            }
            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
Esempio n. 9
0
 public void Update(UsersUpdateRequest model)
 {
     DataProvider.ExecuteNonQuery("dbo.UserBase_Update"
                                  , inputParamMapper : delegate(SqlParameterCollection paramCollection)
     {
         paramCollection.AddWithValue("@Id", model.Id);
         paramCollection.AddWithValue("@Role", model.Role);
         paramCollection.AddWithValue("@EmailConfirmed", model.EmailConfirmed);
         paramCollection.AddWithValue("@Lock", model.Lock);
     }
                                  );
 }
Esempio n. 10
0
 // PUT api/admin/users/lock/id
 public HttpResponseMessage LockUser(UsersUpdateRequest model)
 {
     if (!ModelState.IsValid)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
     }
     try
     {
         _AdminUserService.LockUser(model);
         return(Request.CreateResponse(HttpStatusCode.OK, new SuccessResponse()));
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
Esempio n. 11
0
        public async Task <ApiResponse> Update(Guid id, [FromBody] UsersUpdateRequest request)
        {
            try
            {
                var result = await _objControllerHelper.Update(id, request);

                if (result.Status == UsersUpdateStatus.Success)
                {
                    return(new ApiResponse("The record has been updated successfully"));
                }
                return(new ApiResponse(400, result.Error));
            }
            catch (Exception ex)
            {
                throw new ApiException(ex);
            }
        }
Esempio n. 12
0
        public async Task <ResultDto <Guid, UsersUpdateStatus> > Update(Guid id, UsersUpdateRequest request)
        {
            var model = _mapper.Map <UsersUpdateRequest, Users>(request);

            model.Id = id;

            try
            {
                var result = await _repository.Update(model);

                return(result);
            }
            catch (DbUpdateConcurrencyException)
            {
                return(new ResultDto <Guid, UsersUpdateStatus>(UsersUpdateStatus.InternalServerError));
            }
            catch (Exception ex)
            {
                return(new ResultDto <Guid, UsersUpdateStatus>(UsersUpdateStatus.InternalServerError));
            }
        }
Esempio n. 13
0
        public HttpResponseMessage UpdateById(UsersUpdateRequest request, int id)
        {
            var resp = _usersProvider.UpdateUser(request, id);

            return(Request.CreateResponse(HttpStatusCode.OK, resp));
        }