public async Task <IActionResult> UpdateMajor(int id, [FromBody] MajorResource majorResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var major = await repository.GetMajor(id); if (major == null) { return(NotFound()); } mapper.Map <MajorResource, Major>(majorResource, major); repository.UpdateLecturers(major, majorResource); repository.UpdateProjects(major, majorResource); repository.UpdateGroups(major, majorResource); repository.UpdateStudents(major, majorResource); await unitOfWork.Complete(); var result = mapper.Map <Major, MajorResource>(major); return(Ok(result)); }
public void UpdateProjects(Major major, MajorResource majorResource) { if (majorResource.Projects != null && majorResource.Projects.Count >= 0) { //remove old projects major.Projects.Clear(); //add new projects var newProjects = context.Projects.Where(e => majorResource.Projects.Any(id => id == e.ProjectId)).ToList(); foreach (var a in newProjects) { major.Projects.Add(a); } } }
public void UpdateLecturers(Major major, MajorResource majorResource) { if (majorResource.Lecturers != null && majorResource.Lecturers.Count >= 0) { //remove old lecturers major.Lecturers.Clear(); //add new lecturers var newLecturers = context.Lecturers.Where(e => majorResource.Lecturers.Any(id => id == e.LecturerId)).ToList(); foreach (var a in newLecturers) { major.Lecturers.Add(a); } } }
public void UpdateGroups(Major major, MajorResource majorResource) { if (majorResource.Groups != null && majorResource.Groups.Count >= 0) { //remove old groups major.Groups.Clear(); //add new groups var newGroups = context.Groups.Where(e => majorResource.Groups.Any(id => id == e.GroupId)).ToList(); foreach (var a in newGroups) { major.Groups.Add(a); } } }
public async Task <IActionResult> CreateMajor([FromBody] MajorResource majorResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var major = mapper.Map <MajorResource, Major>(majorResource); repository.AddMajor(major); await unitOfWork.Complete(); major = await repository.GetMajor(major.MajorId); var result = mapper.Map <Major, MajorResource>(major); return(Ok(result)); }