public Decimal GetPrecio(ProductInfo producto, BatchInfo partida, ETipoFacturacion tipo) { if (Productos == null) { LoadChilds(typeof(ProductoProveedor), false); } return(_base.ProviderBase.GetPrecio(producto, partida, tipo)); }
public Decimal GetPrecio(ProductInfo producto, BatchInfo partida, ETipoFacturacion tipo) { long oid_producto = (producto != null) ? producto.Oid : partida.OidProducto; producto = (producto != null) ? producto : ProductInfo.Get(oid_producto, false, true); ProductoProveedorInfo producto_prov = _producto_proveedores_list.GetItemByProducto(oid_producto); Decimal precio = producto.GetPrecioCompra(producto_prov, partida, tipo); return(precio); }
public virtual bool CheckStock(ETipoFacturacion saleType, long oidProduct, decimal amount, decimal reserved_amount = 0) { Stocks product_stock = Stocks.GetByProductList(oidProduct); switch (saleType) { case ETipoFacturacion.Peso: return(product_stock.TotalKgs() + reserved_amount >= amount); case ETipoFacturacion.Unidad: return(product_stock.TotalUds() + reserved_amount >= amount); case ETipoFacturacion.Unitaria: return(product_stock.TotalUds() + reserved_amount >= amount); } return(false); }
public Decimal GetPrecio(ProductInfo producto, BatchInfo partida, ETipoFacturacion tipo) { if (Productos == null) { LoadChilds(typeof(ProductoCliente), false); } long oid_producto = (producto != null) ? producto.Oid : partida.OidProducto; producto = (producto != null) ? producto : ProductInfo.Get(oid_producto, false, true); ProductoClienteInfo producto_cliente = Productos.GetByProducto(oid_producto); Decimal precio = producto.GetPrecioVenta(producto_cliente, partida, tipo); return(precio); }
public virtual bool CheckStock(ETipoFacturacion saleType, decimal amount, out ProductInfo noStockProduct) { noStockProduct = this; if (IsKit) { ProductInfo product = null; if (Components == null || Components.Count == 0) { LoadChilds(typeof(Kit), false); } foreach (KitInfo item in Components) { product = ProductInfo.Get(item.OidProduct, false); if (!product.CheckStock(saleType, amount * item.Amount, out noStockProduct)) { noStockProduct = product; return(false); } } noStockProduct = null; return(true); } else { noStockProduct = this; StockList stock = StockList.GetListByProducto(Oid, false, false); switch (saleType) { case ETipoFacturacion.Peso: return(stock.TotalKgs() >= amount); case ETipoFacturacion.Unidad: return(stock.TotalUds() >= amount); case ETipoFacturacion.Unitaria: return(stock.TotalUds() >= amount); } return(false); } }
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())); }
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)); }
public virtual Decimal GetPrecioVenta(ProductoClienteInfo productoCliente, BatchInfo batch, ETipoFacturacion tipo) { return(ProductoClienteInfo.GetPrecioCliente(productoCliente, this, batch, tipo)); }
public virtual Decimal GetPrecioCompra(ProductoProveedorInfo productoProveedor, BatchInfo batch, ETipoFacturacion tipo) { return(ProductoProveedorInfo.GetPrecioProveedor(productoProveedor, this, batch, tipo)); }
public static void SetDefaultTipoFacturacionSetting(ETipoFacturacion value) { SettingsMng.Instance.SchemaSettings.SetValue(Settings.Default.SETTING_NAME_DEFAULT_TIPO_FACTURACION, ((long)value).ToString()); }
public static Decimal GetPrecioCliente(ProductoClienteInfo productoCliente, ProductInfo producto, BatchInfo partida, ETipoFacturacion tipo) { return(ClientProductBase.GetPrecioCliente(productoCliente, partida, producto, tipo)); }
public static Decimal GetPrecioProveedor(ProductoProveedorInfo productoProveedor, ProductInfo producto, BatchInfo partida, ETipoFacturacion tipo) { return(ProductoProveedorBase.GetPrecioProveedor(productoProveedor, partida, producto, tipo)); }
public OutputInvoiceLine GetItemByProduct(long oidProduct, ETipoFacturacion saleWay) { return(this.FirstOrDefault(x => x.OidProducto == oidProduct && x.ETipoFacturacion == saleWay)); }
public OutputInvoiceLine GetItemByBatch(long oidBatch, ETipoFacturacion saleWay) { return(this.FirstOrDefault(x => x.OidPartida == oidBatch && x.ETipoFacturacion == saleWay)); }