public async Task <ActionResult <StudentDTO> > Create([FromBody] StudentDTO studentDto)
        {
            if (string.IsNullOrEmpty(studentDto.Name))
            {
                return(BadRequest());
            }

            var @class = await _dbContext.Class.FindAsync(studentDto.ClassId);

            if (@class == null)
            {
                return(NotFound());
            }

            var existingStudent = await _dbContext.Student.FindAsync(studentDto.Id);

            if (existingStudent != null)
            {
                return(Conflict());
            }

            var studentToAdd = studentDto.ToModel(@class);

            _dbContext.Student.Add(studentToAdd);
            await _dbContext.SaveChangesAsync();

            var updatedStudentDto = studentToAdd.ToDTO();

            return(CreatedAtAction(nameof(Get), new { id = studentDto.Id }, updatedStudentDto));
        }
Ejemplo n.º 2
0
                public async Task <SchoolResponseModel> Handle(CreateSchoolCommand request, CancellationToken cancellationToken)
                {
                    // instantiate the model
                    var result = new Models.School
                    {
                        Name  = request.Name,
                        City  = request.City,
                        State = request.State
                    };

                    //save to database

                    await _context.School.AddAsync(result);

                    await _context.SaveChangesAsync();

                    return(new SchoolResponseModel()
                    {
                        SchoolId = result.SchoolId,
                        City = result.City,
                        Name = result.Name,
                        State = result.State
                    });
                }