コード例 #1
0
        public async Task UpdateGroupAsync([FromBody] GroupIdViewModel group)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var newGroup = await groupRepository.Get(group.Id);

                    if (newGroup == null)
                    {
                        throw new Exception("Группа не найдена!");
                    }

                    newGroup.Number   = group.Number.Value;
                    newGroup.CourseId = group.CourseId;

                    await groupRepository.Update(newGroup);

                    var records = GroupSubjectMappingModelRepository.Get(r => r.GroupId == newGroup.Id).ToList();

                    if (records != null && records.Count() > 0)
                    {
                        foreach (var record in records)
                        {
                            await GroupSubjectMappingModelRepository.Delete(record);
                        }
                    }

                    if (group.Subject != null && group.Subject.Count() > 0)
                    {
                        foreach (var subject in group.Subject)
                        {
                            var tmpSb = await subjectRepository.Get(subject.Id);

                            if (tmpSb != null)
                            {
                                GroupSubjectMappingModel newGroupSubject = new GroupSubjectMappingModel()
                                {
                                    GroupId   = newGroup.Id,
                                    SubjectId = subject.Id
                                };

                                await GroupSubjectMappingModelRepository.Insert(newGroupSubject);
                            }
                        }
                    }

                    string msg = String.Format("Группа '{0}' успешно изменена!", newGroup.Number);
                    Response.StatusCode = StatusCodes.Status200OK;
                    await Response.WriteAsync(JsonConvert.SerializeObject(new { success = msg },
                                                                          new JsonSerializerSettings {
                        Formatting = Formatting.Indented
                    }));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("error", e.Message);
                    await Response.BadRequestHelper(ModelState.Values);
                }

                Response.StatusCode = StatusCodes.Status200OK;
                await Response.WriteAsync("Ok");
            }
            else
            {
                await Response.BadRequestHelper(ModelState.Values);
            }
        }
コード例 #2
0
        public async Task CreateGroupAsync([FromBody] GroupViewModel group)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var exists = groupRepository.Get(r => r.Number == group.Number).SingleOrDefault();
                    if ((exists != null) && (exists.CourseId == group.CourseId))
                    {
                        throw new Exception(String.Format("Группа номер {0} уже существует на этом курсе!", exists.Number));
                    }

                    var course = await courseRepository.Get(group.CourseId);

                    if (course == null)
                    {
                        throw new Exception("Группа не найдена!");
                    }

                    Group newGroup = new Group()
                    {
                        Number   = group.Number.Value,
                        CourseId = group.CourseId
                    };

                    await groupRepository.Insert(newGroup);

                    if ((group.Subject != null) && (group.Subject.Count() > 0))
                    {
                        foreach (var sb in group.Subject)
                        {
                            var tmpSb = await subjectRepository.Get(sb.Id);

                            if (tmpSb != null)
                            {
                                GroupSubjectMappingModel newGroupSubject = new GroupSubjectMappingModel()
                                {
                                    GroupId   = newGroup.Id,
                                    SubjectId = sb.Id
                                };

                                await GroupSubjectMappingModelRepository.Insert(newGroupSubject);
                            }
                        }
                    }

                    string msg = String.Format("Группа '{0}' успешно создана!", newGroup.Number);
                    Response.StatusCode = StatusCodes.Status200OK;
                    await Response.WriteAsync(JsonConvert.SerializeObject(new { success = msg },
                                                                          new JsonSerializerSettings {
                        Formatting = Formatting.Indented
                    }));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("error", e.Message);
                    await Response.BadRequestHelper(ModelState.Values);
                }
            }
            else
            {
                await Response.BadRequestHelper(ModelState.Values);
            }
        }