public async Task <IActionResult> UpdateQuarter(int id, [FromBody] QuarterResource QuarterResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var Quarter = await repository.GetQuarter(id); if (Quarter == null) { return(NotFound()); } mapper.Map <QuarterResource, Quarter>(QuarterResource, Quarter); repository.UpdateGroups(Quarter, QuarterResource); repository.UpdateEnrollments(Quarter, QuarterResource); await unitOfWork.Complete(); var result = mapper.Map <Quarter, QuarterResource>(Quarter); return(Ok(result)); }
public void UpdateGroups(Quarter quarter, QuarterResource quarterResource) { if (quarterResource.Groups != null && quarterResource.Groups.Count >= 0) { quarter.Groups.Clear(); //add new groups var newGroups = context.Groups.Where(e => quarterResource.Groups.Any(id => id == e.GroupId)).ToList(); foreach (var a in newGroups) { quarter.Groups.Add(a); } } }
public async Task <IActionResult> CreateQuarter([FromBody] QuarterResource QuarterResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var Quarter = mapper.Map <QuarterResource, Quarter>(QuarterResource); repository.AddQuarter(Quarter); await unitOfWork.Complete(); Quarter = await repository.GetQuarter(Quarter.QuarterId); var result = mapper.Map <Quarter, QuarterResource>(Quarter); return(Ok(result)); }