コード例 #1
0
        public async Task <IHttpActionResult> Get()
        {
            string  email   = User.Identity.Name;
            Student student = await studentRepository.GetByEmailAsync(email);

            if (student == null)
            {
                return(Unauthorized());
            }

            var allTeachers = await teacherRepository.GetAllAsync();

            var editingModel = new StudentEditingModel
            {
                StudentId   = student.Id,
                FirstName   = student.User.FirstName,
                LastName    = student.User.LastName,
                AllTeachers = allTeachers.Select(t => new StudentEditingModel.TeacherInfo
                {
                    Id        = t.Id,
                    FirstName = t.User.FirstName,
                    LastName  = t.User.LastName,
                    Subject   = t.Subject
                }).ToList(),
                VisitedTeacherIds = student.Teachers.Select(t => t.Id).ToList()
            };

            return(Ok(editingModel));
        }
コード例 #2
0
        public async Task <IHttpActionResult> Post([FromBody] StudentEditingModel editingModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                await editingService.EditAsync(editingModel.StudentId, editingModel.FirstName,
                                               editingModel.LastName, editingModel.VisitedTeacherIds);

                return(Ok());
            }
            catch (NotFoundException)
            {
                return(NotFound());
            }
        }