Exemplo n.º 1
0
        public async Task <DirectorPutDTO> PutDirector(int id, DirectorPutDTO directorPutDTO)
        {
            if (directorPutDTO == null)
            {
                throw new ArgumentNullException(nameof(directorPutDTO));
            }

            // DTO objects don't exist in the context class and won't be recognized by EF so the code below will not work!!!
            //_context.Entry(address).State = EntityState.Modified;

            try
            {
                Director director = await _context.Directors.FirstOrDefaultAsync(a => a.Id == id).ConfigureAwait(false);

                director.Name        = directorPutDTO.Name;
                director.DateOfBirth = directorPutDTO.DateOfBirth;

                await _context.SaveChangesAsync().ConfigureAwait(false);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DirectorExists(id))
                {
                    return(null);
                }
                else
                {
                    throw;
                }
            }

            return(directorPutDTO);
        }
Exemplo n.º 2
0
        public async Task <DirectorPutDTO> PostDirector(DirectorPutDTO directorsPostDTO)
        {
            if (directorsPostDTO == null)
            {
                throw new ArgumentNullException(nameof(directorsPostDTO));
            }

            var directorResult = _context.Directors.Add(new Director()
            {
                Name        = directorsPostDTO.Name,
                DateOfBirth = directorsPostDTO.DateOfBirth
            });

            await _context.SaveChangesAsync().ConfigureAwait(false);

            directorsPostDTO.Id = directorResult.Entity.Id;

            return(directorsPostDTO);
        }
Exemplo n.º 3
0
        public async Task <IActionResult> PutDirector(int id, DirectorPutDTO directorPutDTO)
        {
            if (directorPutDTO == null)
            {
                throw new ArgumentNullException(nameof(directorPutDTO));
            }

            if (id != directorPutDTO.Id)
            {
                return(BadRequest());
            }

            var directorResult = await _directorRepository.PutDirector(id, directorPutDTO).ConfigureAwait(false);

            if (directorResult == null)
            {
                return(NotFound());
            }

            return(NoContent());
        }
Exemplo n.º 4
0
        public async Task <ActionResult <DirectorDTO> > PostDirector(DirectorPutDTO directorPutDTO)
        {
            var directorResult = await _directorRepository.PostDirector(directorPutDTO).ConfigureAwait(false);

            return(CreatedAtAction("GetDirector", new { id = directorResult.Id }, directorResult));
        }