Exemplo n.º 1
0
 public static Decimal GetPrecioProveedor(ProductoProveedorInfo productoProveedor, ProductInfo producto, BatchInfo partida, ETipoFacturacion tipo)
 {
     return(ProductoProveedorBase.GetPrecioProveedor(productoProveedor, partida, producto, tipo));
 }
Exemplo n.º 2
0
        internal static Decimal GetPrecioCliente(ProductoClienteInfo productoCliente, BatchInfo partida, ProductInfo producto, ETipoFacturacion tipo)
        {
            Decimal          precio          = 0;
            ETipoFacturacion tipoFacturacion = tipo;

            if (productoCliente != null)
            {
                precio          = (productoCliente.ETipoDescuento == ETipoDescuento.Precio) ? productoCliente.Precio : producto.PrecioVenta;
                tipoFacturacion = productoCliente.ETipoFacturacion;
            }
            else
            {
                precio          = producto.PrecioVenta;
                tipoFacturacion = producto.ETipoFacturacion;
            }

            Decimal kilosBulto = (partida != null) ? partida.KilosPorBulto : producto.KilosBulto;

            kilosBulto = (kilosBulto == 0) ? 1 : kilosBulto;

            switch (tipo)
            {
            case ETipoFacturacion.Peso:

                if (tipoFacturacion != ETipoFacturacion.Peso)
                {
                    precio = precio * kilosBulto;
                }

                break;

            default:

                if (tipoFacturacion == ETipoFacturacion.Peso)
                {
                    precio = precio / kilosBulto;
                }

                break;
            }

            return(Decimal.Round(precio, Common.ModulePrincipal.GetNDecimalesPreciosSetting()));
        }
Exemplo n.º 3
0
 public static Decimal GetPrecioCliente(ProductoCliente productoCliente, ProductInfo producto, BatchInfo partida, ETipoFacturacion tipo)
 {
     return(ClientProductBase.GetPrecioCliente(productoCliente.GetInfo(), partida, producto, tipo));
 }
        internal static Decimal GetPrecioProveedor(ProductoProveedorInfo productoProveedor, BatchInfo partida, ProductInfo producto, ETipoFacturacion tipo)
        {
            Decimal          precio          = 0;
            ETipoFacturacion tipoFacturacion = tipo;

            if (productoProveedor != null)
            {
                precio          = (productoProveedor.ETipoDescuento == ETipoDescuento.Precio) ? productoProveedor.Precio : producto.PrecioCompra;
                tipoFacturacion = productoProveedor.ETipoFacturacion;
            }
            else
            {
                precio          = producto.PrecioCompra;
                tipoFacturacion = producto.ETipoFacturacion;
            }

            Decimal kilosBulto = (partida != null) ? partida.KilosPorBulto : producto.KilosBulto;

            kilosBulto = (kilosBulto == 0) ? 1 : kilosBulto;

            switch (tipo)
            {
            case ETipoFacturacion.Peso:

                if (tipoFacturacion != ETipoFacturacion.Peso)
                {
                    precio = precio * kilosBulto;
                }

                break;

            default:

                if (tipoFacturacion == ETipoFacturacion.Peso)
                {
                    precio = precio / kilosBulto;
                }

                break;
            }

            return(Decimal.Round(precio, 2));
        }