public async Task <ResponseDTO> EditAdmin(Admin existingAdmin, EditAdministrationDTO editAdminDTO) { if (editAdminDTO.Password != null) { string password = BCrypt.Net.BCrypt.HashPassword(editAdminDTO.Password); editAdminDTO.Password = password; } context.Entry(existingAdmin).CurrentValues.SetValues(editAdminDTO); int count = await context.SaveChangesAsync(); if (count > 0) { cache.Set(existingAdmin.Id, existingAdmin, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(5))); } return(new ResponseDTO() { Message = "Информация пользователя изменена успешно", Status = true }); }
public async Task <IActionResult> EditAdmin(Guid Id, [FromBody] EditAdministrationDTO adminDTO) { try { if (!ModelState.IsValid) { return(BadRequest()); } Admin existingAdmin = await adminsCrudService.CheckAdminExist(Id); if (existingAdmin == null) { return(NotFound(new ResponseDTO() { Message = "Данный пользователь не найден", Status = false })); } ResponseDTO check = await adminsCrudService.EditAdmin(existingAdmin, adminDTO); logger.LogInformation($"Данные админа: {existingAdmin.Login} были изменены"); return(Ok(new { check })); } catch (ObjectNotFoundException ex) { logger.LogError(ex.Message); return(StatusCode(404, new ResponseDTO() { Message = "Данный пользователь не найден", Status = false })); } catch (Exception ex) { logger.LogError(ex.Message); return(StatusCode(500, new ResponseDTO() { Status = false })); } }