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 })); } }
public async Task <IActionResult> AddModerator([FromBody] ModeratorDTO addModeratorDTO) { try { if (!ModelState.IsValid) { return(BadRequest()); } ResponseDTO check = await moderatorsCrudService.CheckModeratorExistForAdd(addModeratorDTO.Login); if (check.Status == false) { return(Conflict(check)); } check = await adminsCrudService.CheckAdminExistForAdd(addModeratorDTO.Login); if (check.Status == false) { return(Conflict(check)); } Admin admin = await adminsCrudService.CheckAdminExist(addModeratorDTO.AdminId); ResponseDTO answer = await moderatorsCrudService.AddModerator(admin, addModeratorDTO); logger.LogInformation($"Модератор: {addModeratorDTO.Login}, был добавлен Админом {admin.Login}"); Moderator moderator = await moderatorsCrudService.CheckModeratorExist(answer.ResponseData.Id); moderator = moderator.ModeratorWithoutPassword(); return(Ok(new { answer, moderator })); } catch (Exception ex) { logger.LogError(ex.Message); return(StatusCode(500, new ResponseDTO() { Status = false })); } }
public async Task <IActionResult> AdministartionAuthenticate([FromBody] AdministartionAuthDTO adminAuthDTO) { try { if (!ModelState.IsValid) { return(BadRequest()); } Admin existingAdmin = await adminCrudService.CheckAdminExist(adminAuthDTO.Login); Moderator existingModerator = await moderatorsCrudService.CheckModeratorExist(adminAuthDTO.Login); if (existingModerator == null && existingAdmin == null) { return(NotFound(new ResponseDTO() { Message = "Данный пользователь не найден или даннные авторизаций не верны", Status = false })); } else if (existingModerator != null && existingAdmin == null) { Moderator moderator = administrationAuthService.ModeratorsAuthenticate(existingModerator, adminAuthDTO.Password); if (moderator == null) { return(NotFound(new ResponseDTO() { Message = "Данный пользователь не найден или даннные авторизаций не верны", Status = false })); } return(Ok(new { moderator })); } else if (existingModerator == null && existingAdmin != null) { Admin admin = administrationAuthService.AdminAuthenticate(existingAdmin, adminAuthDTO.Password); if (admin == null) { return(NotFound(new ResponseDTO() { Message = "Данный пользователь не найден или даннные авторизаций не верны", Status = false })); } return(Ok(new { admin })); } else { return(NotFound(new ResponseDTO() { Message = "Сообщите о проблеме администратору, данных пользователей было найдено двое.", Status = false })); } } catch (ObjectNotFoundException ex) { logger.LogError(ex.Message); return(NotFound(new ResponseDTO() { Message = "Данный пользователь не найден", Status = false })); } catch (Exception ex) { logger.LogError(ex.Message); return(StatusCode(500, new ResponseDTO() { Status = false })); } }