Ejemplo n.º 1
0
        public async Task <ActionResult <Autor> > PostAutor(AutorVM modelo)
        {
            if (ModelState.IsValid)
            {
                var autor = new Autor
                {
                    Nombre        = modelo.Nombre,
                    FechaRegistro = modelo.FechaRegistro.Value,
                    Activo        = modelo.Activo,
                    FotoPerfil    = modelo.FotoPerfil
                };

                await _repository.AddAsync(autor);

                return(CreatedAtAction("GetAutor", new { id = autor.Id }, autor));
            }
            return(ValidationProblem(ModelState));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> PutAutor(int id, AutorVM modelo)
        {
            if (id != modelo.Id)
            {
                return(BadRequest());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var autor = await _repository.GetByIdAsync(id);

                    autor.Nombre        = modelo.Nombre;
                    autor.FechaRegistro = modelo.FechaRegistro.Value;
                    autor.Activo        = modelo.Activo;
                    autor.FotoPerfil    = modelo.FotoPerfil;

                    await _repository.UpdateAsync(autor);

                    return(NoContent());
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!await _repository.ExistsById(id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
            }

            return(ValidationProblem(ModelState));
        }