Example #1
0
        public void ActualizarPagos()
        {
            foreach (VentaItem ventaItems in VentaItems)
            {
                ventaItems.QuitarPagos();
            }

            foreach (VentaPago pago in Pagos)
            {
                pago.ActualizarMontoRestante(pago.MontoPago.Monto);
                pago.ActualizarIva(0);
                pago.ActualizarDescuento(0);

                foreach (VentaItem ventaItems in VentaItems.Where(x => x.PorcentajePago < 1))
                {
                    decimal montoRestante = ventaItems.AgregarPago(pago, pago.PorcentajeRecargo, PorcentajeFacturacion, TipoCliente);
                    ventaItems.ActualizarPorcentajePago();

                    if (montoRestante == 0)
                    {
                        break;
                    }
                }
            }
        }
Example #2
0
        public void AgregaPago(Pago pago)
        {
            if (VentaItems.Count == 0)
            {
                throw new NegocioException("Error al registrar el pago. No se encuentran productos registrados en la venta.");
            }
            if (EstaPaga)
            {
                throw new NegocioException("Error al registrar el pago. La venta ya cuenta con el/los pagos necesarios para ser finalizada.");
            }

            decimal montoPago = pago.MontoPago.Total;

            foreach (VentaItem ventaItem in VentaItems.Where(x => x.PorcentajePago != 1))
            {
                montoPago = ventaItem.Pagar(montoPago);
            }

            Pagos.Add(pago);
            ActualizarTotalesPago();
        }
Example #3
0
        private async Task <ModeloVenta.Producto> BuscarProducto()
        {
            if (string.IsNullOrWhiteSpace(CodigoDescripcion))
            {
                throw new NegocioException(Resources.productoNoExiste);
            }

            VentaItem ventaItem = VentaItems.Where(x => x.Codigo == CodigoDescripcion || x.Descripcion == CodigoDescripcion).FirstOrDefault();

            if (ventaItem != null)
            {
                return(ventaItem.Producto);
            }

            ModeloVenta.Producto producto = await ProductoService.Obtener(CodigoDescripcion);

            if (producto == null)
            {
                throw new NegocioException(Resources.productoNoExiste);
            }

            return(producto);
        }