Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
        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);
                }
            }
        }
Esempio n. 4
0
        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);
                }
            }
        }
Esempio n. 5
0
        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));
        }