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