public async Task <int> CrearAsync(BodegaResumen bodega, int usuarioId) { var nombre = bodega.Nombre.ToLowerInvariant(); var direccion = bodega.Direccion.ToLowerInvariant(); if (await ExisteBodega(nombre)) { throw new InvalidOperationException($"La bodega '{nombre}' ya existe."); } var nuevaBodega = new Bodega { Nombre = nombre, Direccion = direccion, UsuarioCreacionId = usuarioId, UsuarioModificaId = usuarioId }; db.Bodegas.Add(nuevaBodega); var filasAfectadas = await db.SaveChangesAsync(); if (filasAfectadas > 0) { return(nuevaBodega.Id); } else { return(-1); } }
public async Task <IActionResult> Post([FromBody] BodegaResumen bodega) { if (!ModelState.IsValid) { return(HttpBadRequest(ModelState)); } var usuarioId = User.Id(); var bodegaId = await bodegas.CrearAsync(bodega, usuarioId); var result = await bodegas.ObtenerUnicaAsync(bodegaId); return(CreatedAtRoute("GetBodega", new { id = bodegaId }, result)); }
public async Task <bool> EditarAsync(int id, BodegaResumen bodega, int usuarioId) { var bodegaAEditar = await db.Bodegas.SingleOrDefaultAsync(x => x.Id == id); if (bodegaAEditar == null) { throw new RegistroNoEncontradoException($"No existe la bodega {id} "); } bodegaAEditar.Nombre = bodega.Nombre.Trim(); bodegaAEditar.Direccion = bodega.Direccion.Trim(); bodegaAEditar.UsuarioModificaId = usuarioId; var filasAfectas = await db.SaveChangesAsync(); return(filasAfectas > 0); }
public async Task <IActionResult> Put(int id, [FromBody] BodegaResumen bodega) { if (!ModelState.IsValid) { return(HttpBadRequest(ModelState)); } var usuarioId = User.Id(); var modificado = await bodegas.EditarAsync(id, bodega, usuarioId); if (modificado) { var result = await bodegas.ObtenerUnicaAsync(id); return(Ok(result)); } else { return(new HttpStatusCodeResult((int)HttpStatusCode.NotModified)); } }