Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }
Exemple #4
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));
            }
        }