Exemple #1
0
        public IActionResult UpsertUser([FromRoute] Guid userId, [FromBody] PutUserDto user)
        {
            if (userId == Guid.Empty || user == null)
            {
                return(BadRequest());
            }

            var userEntity = mapper.Map(user, new UserEntity(userId));

            userRepository.UpdateOrInsert(userEntity, out var isInserted);

            if (!ModelState.IsValid)
            {
                return(UnprocessableEntity(ModelState));
            }

            if (isInserted)
            {
                return(CreatedAtRoute(
                           nameof(GetUserById),
                           new { userId = userEntity.Id },
                           userEntity.Id
                           ));
            }

            return(NoContent());
        }
Exemple #2
0
        public async Task <IActionResult> UpdateUser(PutUserDto putUserDto)
        {
            APIResponse <User> response = new APIResponse <User>();

            try
            {
                var ObjFromDb = _unitOfWork.User.GetFirstOrDefault(i => i.Email == putUserDto.Email);

                if (ObjFromDb == null)
                {
                    response.Message = "Email ID does not exist";
                    response.Success = false;
                    return(BadRequest(response));
                }

                ObjFromDb.PhoneNumber = putUserDto.PhoneNumber;
                ObjFromDb.Address     = putUserDto.Address;
                ObjFromDb.DateOfBirth = putUserDto.DateOfBirth;
                ObjFromDb.Name        = putUserDto.Name;


                _unitOfWork.User.Update(ObjFromDb);
                _unitOfWork.Save();
                response.Message = "User successfully updated";
                response.Data    = _unitOfWork.User.GetFirstOrDefault(c => c.Email.ToLower().Equals(putUserDto.Email.ToLower()));

                return(Ok(response));
            }


            catch (Exception ex)
            {
                response.Message = ex.Message;
                response.Success = false;
                return(BadRequest(response));
            }
        }
Exemple #3
0
        public async Task <IActionResult> Put([FromRoute(Name = "userId")] int userId, [FromBody] PutUserDto putUserDto)
        {
            try
            {
                if (GetUserId() != userId && GetUserRole() != Roles.Administrator)
                {
                    return(Forbid());
                }

                var serviceResult = await _userservice.UpdateUser(userId, putUserDto.Name, putUserDto.Password, putUserDto.UserTypeId);

                if (!serviceResult.Success)
                {
                    return(BadRequest(serviceResult.ValidationMessages));
                }

                var result = _mapper.Map <UserDto>(serviceResult.Result);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }