Exemple #1
0
        public Inventario Actualizar(Inventario algoParaActualizar)
        {
            var resultado = _inventarioRepository.Actualizar(algoParaActualizar);

            if (resultado == null)
            {
                return(null);
            }
            _inventarioRepository.SaveChanges();

            return(resultado);
        }
        public bool AplicaAcciónDeInventario(AcciónDeInventario acción)
        {
            var transacción = _context.Database.BeginTransaction();

            try
            {
                foreach (AcciónDeInventarioDetalle Tupla in acción.AcciónDeInventarioDetalles)
                {
                    var respuesta = _inventarioRepository.TraerUnoAsync(a => a.BodegaId == acción.BodegaId && a.ArtículoId == Tupla.ArtículoId);
                    respuesta.Result.Cantidad += Tupla.Cantidad * acción.Signo;
                    _inventarioRepository.Actualizar(respuesta.Result);
                }

                _acciónDeInventarioRepository.ActualizaEstado(acción.AcciónDeInventarioId, EstadoAcciónDeInventarioEnum.Aplicada);

                transacción.Commit();
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                transacción.Rollback();
                return(false);
            }

            return(true);
        }