Example #1
0
        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());
        }
Example #2
0
        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)));
        }
Example #3
0
        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();
        }