public async Task <IActionResult> UpdateStocktoStore(Guid IdSucursal, [FromForm] ExistenciaDto existenciadto)
        {
            if (existenciadto.Cantidad == 0)
            {
                ModelState.AddModelError("Descripción",
                                         "Cantidad no valida");
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var sucursal = await _RepositorioSucursal.ObtenerTienda(IdSucursal);

            var existencia = new ExistenciaCustomDto();

            if (sucursal == null)
            {
                ModelState.AddModelError("Descripción",
                                         "Sucursal no identificada");
            }

            else
            {
                existencia = await _RepositorioExistencia.ObtenerExistenciaCustom(IdSucursal, existenciadto.IdProducto);

                if (existencia == null)
                {
                    ModelState.AddModelError("Descripción",
                                             "Producto no identificado");
                }
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            await _RepositorioExistencia.ActualizarExistencia(new Existencia()
            {
                IdSucursal = sucursal.Id,
                IdProducto = existencia.Id,
                Cantidad   = existencia.Cantidad + existenciadto.Cantidad
            },

                                                              new Movimiento()
            {
                IdProducto      = existencia.Id,
                IdSucursal      = sucursal.Id,
                IdTipoTrans     = (int)TipoTransaccion.AGREGAR,
                Cantidad        = existenciadto.Cantidad,
                PrecioOperacion = existencia.Precio
            }
                                                              );

            return(CreatedAtRoute("GetStorewithStock", new { IdSucursal = sucursal.Id }, null));
        }
Esempio n. 2
0
 public async Task <bool> ExisteInventario(ExistenciaDto inventario)
 {
     return(await _context.Existencia.Where(f => (f.IdSucursal == inventario.IdSucursal && f.IdProducto == inventario.IdProducto))
            .ToAsyncEnumerable().Any());
 }