public static Decimal GetPrecioProveedor(ProductoProveedorInfo productoProveedor, ProductInfo producto, BatchInfo partida, ETipoFacturacion tipo) { return(ProductoProveedorBase.GetPrecioProveedor(productoProveedor, partida, producto, tipo)); }
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())); }
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)); }