public async Task <IActionResult> EditGroup(string id, EditGroupDto groupDto) { if (id != groupDto.Id) { return(BadRequest()); } try { var group = new Group() { Id = groupDto.Id, Name = groupDto.Name, Email = groupDto.Email, Description = groupDto.Description }; await _groupService.EditGroupAsync(group); } catch (AlreadyExistException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(500, new { error = ex.Message })); } return(NoContent()); }
public IHttpActionResult EditGroup(EditGroupDto dto) { if (dto == null) { return(BadRequest()); } var group = db.Groups.Find(dto.Id); if (group == null) { return(NotFound()); } dto.Edit(ref group); db.SaveChanges(); return(Ok(new GroupDto(group))); }
public async Task UpdateGroup(GroupDto oldGroup, EditGroupDto newGroup, IEnumerable <string> newStudentIds) { await SetStudentGroupIdsToNullAsync(oldGroup.Students.Select(s => s.Id)); var students = await InitializeStudents(newStudentIds); await UpdateStudentsAsync(oldGroup.Id, students); var headMan = students.FirstOrDefault(s => s.Id == newGroup.HeadManId); Group group = new() { Id = newGroup.Id, Name = newGroup.Name, Class = newGroup.Class, Students = students, HeadMan = headMan, HeadManId = headMan?.Id, SuperVisorId = newGroup.SuperVisorId }; _groupRepository.Update(group); await _groupRepository.UnitOfWork.SaveChangesAsync(); }