Exemplo n.º 1
0
        public void Rentabilidad_Producto(int idEmpresa, int codigoUsuario, DateTime fechaInicio, DateTime fechaFinal,
                                          ref List <DocVenta_RentaProdBE> lstRentaProd, ref gsConfigIndicadores_RentabilidadResult objConfigIndRenta)
        {
            DocVentaBL objDocVentaBL             = new DocVentaBL();
            List <DocVenta_RentaProdBE> lstRenta = new List <DocVenta_RentaProdBE>();

            try
            {
                ConfigIndicadoresBL objConfigIndicadoresBL = new ConfigIndicadoresBL();
                objConfigIndRenta = objConfigIndicadoresBL.ConfigIndicadores_Rentabilidad(idEmpresa, codigoUsuario, fechaFinal);

                gsDocVenta_ReporteVenta_MesResult mes = objDocVentaBL.DocVenta_ReporteVenta_Mes(idEmpresa, codigoUsuario, fechaInicio, fechaFinal).Single();
                List <gsDocVenta_ReporteVenta_MarcaProductoResult> lstProductos = objDocVentaBL.DocVenta_ReporteVenta_MarcaProducto(idEmpresa, codigoUsuario, null, null, null, fechaInicio, fechaFinal).FindAll(x => !string.IsNullOrEmpty(x.Descripcion));

                foreach (gsDocVenta_ReporteVenta_MarcaProductoResult producto in lstProductos)
                {
                    DocVenta_RentaProdBE objProductoBE = new DocVenta_RentaProdBE();
                    objProductoBE.Kardex       = Convert.ToInt32(producto.Kardex);
                    objProductoBE.Descripcion  = producto.Descripcion.Replace('\n', ' ');
                    objProductoBE.Rentabilidad = (decimal)producto.Rentabilidad;
                    if ((decimal)mes.ValorVenta > 0)
                    {
                        objProductoBE.PorcVenta = (decimal)producto.ValorVenta / (decimal)mes.ValorVenta * 100;
                    }
                    else
                    {
                        objProductoBE.PorcVenta = 0;
                    }
                    if (objProductoBE.Rentabilidad >= objConfigIndRenta.rentabilidadAlta)
                    {
                        if (objProductoBE.PorcVenta >= objConfigIndRenta.ventaAlta)
                        {
                            objProductoBE.Categoria = "VARA";
                        }
                        else
                        {
                            objProductoBE.Categoria = "VBRA";
                        }
                    }
                    else
                    {
                        if (objProductoBE.PorcVenta >= objConfigIndRenta.ventaAlta)
                        {
                            objProductoBE.Categoria = "VARB";
                        }
                        else
                        {
                            objProductoBE.Categoria = "VBRB";
                        }
                    }
                    objProductoBE.ValorVenta = (decimal)producto.ValorVenta;
                    lstRenta.Add(objProductoBE);
                }
                lstRentaProd = lstRenta;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        public List <gsDocVenta_ReporteVenta_MarcaProductoResult> DocVenta_ReporteVenta_MarcaProducto(int idEmpresa, int codigoUsuario, int?ID_Marca, int?ID_Zona, string ID_Cliente, DateTime fechaInicio, DateTime fechaFinal)
        {
            DocVentaBL objDocVentaBL = new DocVentaBL();

            try
            {
                return(objDocVentaBL.DocVenta_ReporteVenta_MarcaProducto(idEmpresa, codigoUsuario, ID_Marca, ID_Zona, ID_Cliente, fechaInicio, fechaFinal));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }