public async Task <DisciplineVO> UpdateTaskAync(DisciplineVO newDiscipline) { if (!(await _disciplineRepository.FindByDisciplineIdTaskAsync(newDiscipline.DisciplineId) is DisciplineModel discipline)) { return(null); } return(_disciplineConverter.Parse(await _disciplineRepository.UpdateTaskAsync(discipline, _disciplineConverter.Parse(newDiscipline)))); }
public async Task <DisciplineVO> AddTaskAsync(DisciplineVO discipline) { if (!(await _disciplineRepository.AddTaskAsync(_disciplineConverter.Parse(discipline)) is DisciplineModel addedDisci)) { return(null); } return(_disciplineConverter.Parse(addedDisci)); }
public async Task <IActionResult> UpdateTaskAsync([FromBody] DisciplineVO newDiscipline) { if (ModelState.IsValid) { if (!(await _disciplineBusiness.FindByDisciplineIdTaskAsync(newDiscipline.DisciplineId) is DisciplineVO currentDiscipline)) { return(NotFound("Não existe uma disciplina com esse Id")); } CourseVO course = await _courseBusiness.FindByCourseIdTaskAsync(currentDiscipline.CourseId); if (course.CoordinatorId != Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized("Você não tem autorizaçao para alterar uma disciplina de outro curso!")); } newDiscipline.CourseId = course.CourseId; if (await _disciplineBusiness.ExistsByNameAndCourseIdTaskAsync(newDiscipline.Name, newDiscipline.CourseId)) { if (newDiscipline.Name != currentDiscipline.Name) { return(Conflict("Ja existe uma disciplina com esse nome")); } } if (string.IsNullOrEmpty(newDiscipline.Name)) { return(BadRequest("É necessario informar o nome da disciplina!")); } if (string.IsNullOrEmpty(newDiscipline.Teacher)) { return(BadRequest("É necessario informar o nome do professor!")); } if (newDiscipline.Period <= 0) { return(BadRequest("O periodo precisa ser maior que zero!")); } if (newDiscipline.ClassId == Guid.Empty) { return(BadRequest("É necessario informar a sala!")); } if (await _disciplineBusiness.UpdateTaskAync(newDiscipline) is DisciplineVO disciplineUpdated) { return(Created($"/Disciplines/{disciplineUpdated.DisciplineId}", disciplineUpdated)); } } return(BadRequest()); }
public async Task <IActionResult> AddTaskAsync([FromBody] DisciplineVO newDiscipline) { if (ModelState.IsValid) { if (await _disciplineBusiness.ExistsByNameAndCourseIdTaskAsync(newDiscipline.Name, newDiscipline.CourseId)) { return(Conflict("Ja existe uma disciplina com esse nome")); } var coordId = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (await _courseBusiness.FindByCoordIdTaskAsync(coordId) is CourseVO course) { if (course.CourseId != newDiscipline.CourseId) { return(Unauthorized("Você não tem permissão para adicionar aulas em outro curso!")); } } if (string.IsNullOrEmpty(newDiscipline.Name)) { return(BadRequest("É necessario informar o nome da disciplina!")); } if (string.IsNullOrEmpty(newDiscipline.Teacher)) { return(BadRequest("É necessario informar o nome do professor!")); } if (newDiscipline.Period <= 0) { return(BadRequest("O periodo precisa ser maior que zero!")); } if (newDiscipline.ClassId == Guid.Empty) { return(BadRequest("É necessario informar a sala!")); } if (await _disciplineBusiness.AddTaskAsync(newDiscipline) is DisciplineVO addedDiscipline) { return(Created("/disciplines", addedDiscipline)); } return(BadRequest("Algo deu errado, verifique os valores e tente novamente")); } return(BadRequest()); }
public async Task <ResultModel <DisciplineVO> > AddDisciplineTaskAsync(DisciplineVO newDiscipline, string token) { IRestResponse response = await SendRequestTaskAsync(); return(response.StatusCode switch { HttpStatusCode.Created => new ResultModel <DisciplineVO> { Object = JsonSerializer.Deserialize <DisciplineVO>(response.Content, new JsonSerializerOptions { PropertyNameCaseInsensitive = true }), Message = "Disciplina adicionada com sucesso!", StatusCode = response.StatusCode }, _ => new ResultModel <DisciplineVO> { Message = response.Content.Replace("\"", string.Empty), StatusCode = response.StatusCode } });