Esempio n. 1
0
 /// <summary>
 /// Función para obtener el reporte de comisiones asignadas a agencias y vendedores
 /// </summary>
 /// <param name="UnidadesDeVentas">Unidades de venta para las cuales se quiere ver las comisiones asignadas</param>
 /// <param name="Agencias">Agencias para las cuales se quieren ver las comisiones asignadas</param>
 /// <param name="Vendedores">Vendedores para los cuales se quieren ver las comisiones asignadas</param>
 /// <returns>Devuelve un Dataset del tipo DsReporteComisiones con las comisiones asignadas a la agencia y los vendedores</returns>
 public DsReporteComisiones ObtenerComisionesAsignadasAAgenciasYVendedores(string UnidadesDeVentas, string Agencias, string Vendedores, DateTime FechaDesde, DateTime FechaHasta)
 {
     try
     {
         DsReporteComisiones ds = new DsReporteComisiones();
         // Cargo los parametros
         SqlParameter pUnidadesDeVenta = new SqlParameter("@UnidadesDeVentas", UnidadesDeVentas);
         SqlParameter pAgencias        = new SqlParameter("@Agencias", Agencias);
         SqlParameter pVendedores      = new SqlParameter("@Vendedores", Vendedores);
         SqlParameter pFechaDesde      = new SqlParameter("@DesdeFecha", FechaDesde);
         SqlParameter pFechaHasta      = new SqlParameter("@HastaFecha", FechaHasta);
         // Cargo las agencias
         Config.Conexion.LlenarTypeDataSet(ds.Agencias, System.Data.CommandType.StoredProcedure, "AgenciaSelByListadosAgenciaId", pAgencias);
         // Cargo los vendedores
         Config.Conexion.LlenarTypeDataSet(ds.Vendedores, System.Data.CommandType.StoredProcedure, "VendedorSelByListadoVendedorId", pVendedores);
         // Obtengo las comisiones asignadas a las agencias
         Config.Conexion.LlenarTypeDataSet(ds.ComisionesAsignadasAAgencias, System.Data.CommandType.StoredProcedure, "ComisionesAsignadasAAgencias", pUnidadesDeVenta, pAgencias, pFechaDesde, pFechaHasta);
         // Obtengo las comisiones asignadas a los vendedores
         Config.Conexion.LlenarTypeDataSet(ds.ComisionesAsignadasAVendedores, System.Data.CommandType.StoredProcedure, "ComisionesAsignadasAVendedores", pUnidadesDeVenta, pVendedores, pFechaDesde, pFechaHasta);
         // Devuelvo los datos encontrados
         return(ds);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 private void dtgComisionesAVendedores_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
 {
     // Reviso en que sección de la grilla estoy
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
     {
         double subtotalBaseDeCalculo = 0, subtotalComisionLiquidada = 0, subtotalComisionPagada = 0, subtotalimporteFijo = 0;
         // Estoy en el detalle de items. Obtengo los totales de la agencia
         if (Session["DsReporteComisionesVendedores"] != null)
         {
             DsReporteComisiones ds = (DsReporteComisiones)Session["DsReporteComisionesVendedores"];
             // Total base de calculo
             subtotalBaseDeCalculo = Validaciones.obtieneDouble(ds.ComisionesLiquidadasYPagadas.Compute("sum(ImporteBaseCalculo)", "EntidadId = " + e.Item.Cells[1].Text).ToString());
             // Total Comision Liquidada
             subtotalComisionLiquidada = Validaciones.obtieneDouble(ds.ComisionesLiquidadasYPagadas.Compute("sum(ComisionLiquidada)", "EntidadId = " + e.Item.Cells[1].Text).ToString());
             // Total Comision Pagada
             subtotalComisionPagada = Validaciones.obtieneDouble(ds.ComisionesLiquidadasYPagadas.Compute("sum(ComisionPagada)", "EntidadId = " + e.Item.Cells[1].Text).ToString());
             // Total Importe Fijo
             subtotalimporteFijo = Validaciones.obtieneDouble(ds.ComisionesLiquidadasYPagadas.Compute("sum(ImporteFijo)", "EntidadId = " + e.Item.Cells[1].Text).ToString());
         }
         // Cargo los totales en la grilla
         // Base de cálculo
         e.Item.Cells[3].Text = string.Format("$ {0:#,###0.00}", subtotalBaseDeCalculo);
         // Comision liquidada
         e.Item.Cells[4].Text = string.Format("$ {0:#,###0.00}", subtotalComisionLiquidada);
         // Comision pagada
         e.Item.Cells[5].Text = string.Format("$ {0:#,###0.00}", subtotalComisionPagada);
         // Importe Fijo
         e.Item.Cells[6].Text = string.Format("$ {0:#,###0.00}", subtotalimporteFijo);
     }
     if (e.Item.ItemType == ListItemType.Footer)
     {
         // Estoy en el pie del reporte
         double totalBaseDeCalculo = 0, totalComisionLiquidada = 0, totalComisionPagada = 0, totalimporteFijo = 0;
         // Obtengo los datos a cargar en el pie
         if (Session["DsReporteComisionesVendedores"] != null)
         {
             DsReporteComisiones ds = (DsReporteComisiones)Session["DsReporteComisionesVendedores"];
             // Total base de calculo
             totalBaseDeCalculo = Validaciones.obtieneDouble(ds.ComisionesLiquidadasYPagadas.Compute("sum(ImporteBaseCalculo)", "").ToString());
             // Total Comision Liquidada
             totalComisionLiquidada = Validaciones.obtieneDouble(ds.ComisionesLiquidadasYPagadas.Compute("sum(ComisionLiquidada)", "").ToString());
             // Total Comision Pagada
             totalComisionPagada = Validaciones.obtieneDouble(ds.ComisionesLiquidadasYPagadas.Compute("sum(ComisionPagada)", "").ToString());
             // Total Importe Fijo
             totalimporteFijo = Validaciones.obtieneDouble(ds.ComisionesLiquidadasYPagadas.Compute("sum(ImporteFijo)", "").ToString());
         }
         // Cargo los totales
         e.Item.Cells[0].ColumnSpan = 2;
         e.Item.Cells[0].Text       = "Totales";
         // Base de cálculo
         e.Item.Cells[2].Text = string.Format("$ {0:#,###0.00}", totalBaseDeCalculo);
         // Comision liquidada
         e.Item.Cells[3].Text = string.Format("$ {0:#,###0.00}", totalComisionLiquidada);
         // Comision pagada
         e.Item.Cells[4].Text = string.Format("$ {0:#,###0.00}", totalComisionPagada);
         // Importe Fijo
         e.Item.Cells[5].Text = string.Format("$ {0:#,###0.00}", totalimporteFijo);
         e.Item.Cells.Remove(e.Item.Cells[6]);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Funciones para obtener el reporte global de comisiones liquidadas
 /// </summary>
 /// <param name="DesdeFecha">Desde que fecha se quiere consultar</param>
 /// <param name="HastaFecha">Hasta que Fecha se quiere consultar</param>
 /// <param name="Agencias">Listado de agencias que se quiere consultar</param>
 /// <param name="IdSesion">ID de la sesión del usuario</param>
 /// <returns>Devuelve un DataSet del tipo DsReporteComisiones con el reporte global de comisiones liquidadas</returns>
 public DsReporteComisiones ObtenerReporteGlobalDeComisionesLiquidadas(DateTime DesdeFecha, DateTime HastaFecha, string Agencias, string IdSesion)
 {
     try
     {
         DsReporteComisiones ds = new DsReporteComisiones();
         // Cargo los parametros
         SqlParameter paramDesdeFecha  = new SqlParameter("@DesdeFecha", DesdeFecha);
         SqlParameter paramHastaFecha  = new SqlParameter("@HastaFecha", HastaFecha);
         SqlParameter paramAgencias    = new SqlParameter("@Agencias", Agencias);
         SqlParameter paramSesion      = new SqlParameter("@IDSesion", IdSesion);
         SqlParameter paramTipoEntidad = new SqlParameter("@TipoEntidadID", 1);
         // Obtengo las comisiones liquidadas y pagadas
         Config.Conexion.LlenarTypeDataSet(ds.ComisionesGlobalesLiquidadas, System.Data.CommandType.StoredProcedure, "ReporteGlobalComisionesLiquidadas", paramDesdeFecha, paramHastaFecha, paramAgencias, paramSesion, paramTipoEntidad);
         // Devuelvo los datos encontrados
         return(ds);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Funciones para obtener el reporte de comisiones mensuales liquidadas y pagadas
        /// </summary>
        /// <param name="DesdeFecha">Desde que fecha se quiere consultar</param>
        /// <param name="HastaFecha">Hasta que Fecha se quiere consultar</param>
        /// <param name="Entidades">Listado de entidades (agencias o vendedores) que se quiere consultar</param>
        /// <param name="UnidadesDeVentas">Listado de unidades de ventas que se quiere consultar</param>
        /// <param name="IdSesion">ID de la sesión del usuario</param>
        /// <param name="TipoEntidad">Tipo de entidad que se esta procesando. 1->Agencias; 2->Vendedores</param>
        /// <returns>Devuelve un DataSet del tipo DsReporteComisiones con el reporte de comisiones mensuales liquidadas y pagadas</returns>
        public DsReporteComisiones ObtenerComisionesMensualesLiquidadasYPagadas(DateTime DesdeFecha, DateTime HastaFecha, string Entidades, string UnidadesDeVentas, string IdSesion, int TipoEntidad, string conceptos)
        {
            try
            {
                DsReporteComisiones ds = new DsReporteComisiones();
                // Cargo los parametros
                SqlParameter paramDesdeFecha       = new SqlParameter("@DesdeFecha", DesdeFecha);
                SqlParameter paramHastaFecha       = new SqlParameter("@HastaFecha", HastaFecha);
                SqlParameter paramEntidades        = new SqlParameter("@Entidades", Entidades);
                SqlParameter paramAgencias         = new SqlParameter("@Agencias", Entidades);
                SqlParameter paramVendedores       = new SqlParameter("@Vendedores", Entidades);
                SqlParameter paramUnidadesDeVentas = new SqlParameter("@UnidadesDeVentas", UnidadesDeVentas);
                SqlParameter paramSesion           = new SqlParameter("@IDSesion", IdSesion);
                SqlParameter paramTipoEntidad      = new SqlParameter("@TipoEntidadID", TipoEntidad);
                SqlParameter paramConceptos        = new SqlParameter("@ConceptosFacturables", conceptos);

                // Reviso cual es el tipo de entidad que se esta procesando
                switch (TipoEntidad)
                {
                case 1:                         // Agencia
                                                // Cargo las agencias
                    Config.Conexion.LlenarTypeDataSet(ds.Agencias, System.Data.CommandType.StoredProcedure, "AgenciaSelByListadosAgenciaId", paramAgencias);
                    break;

                case 2:                         // Vendedores
                                                // Cargo los vendedores
                    Config.Conexion.LlenarTypeDataSet(ds.Vendedores, System.Data.CommandType.StoredProcedure, "VendedorSelByListadoVendedorId", paramVendedores);
                    break;
                }
                // Obtengo las comisiones liquidadas y pagadas
                Config.Conexion.LlenarTypeDataSet(ds.ComisionesLiquidadasYPagadas, System.Data.CommandType.StoredProcedure, "ComisionesLiquidadasYPagadasPorAgenciaYUnidadVenta", paramDesdeFecha, paramHastaFecha, paramEntidades, paramSesion, paramTipoEntidad, paramUnidadesDeVentas, paramConceptos);
                // Devuelvo los datos encontrados
                return(ds);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Procedimiento para cargar la tabla UnidadesDeVentas en el dataset del tipo DsReportesComisiones
        /// </summary>
        /// <param name="ds">DataSet en el cual hay que cargar las unidades de venta</param>
        /// <param name="TipoEntidad">Indica el tipo de entidad que se esta procesando: 1->Agencia; 2->Vendedores</param>
        private void CargarUnidadesDeVentasEnDataSet(DsReporteComisiones ds, int TipoEntidad)
        {
            int UnidadVentaId_AgenciaId = 0;

            // Cargo las unidades de ventas
            foreach (DsReporteComisiones.ComisionesLiquidadasYPagadasRow row in ds.ComisionesLiquidadasYPagadas)
            {
                if (row.IsUnidadVentaIdNull() == false)
                {
                    DataRow[] registroAuxiliar = ds.UnidadesDeVentas.Select("EntidadId = " + row.EntidadId.ToString() + " And UnidadVentaId = " + row.UnidadVentaId.ToString() + " And NumeroLiquidacion = " + row.NumeroLiquidacion.ToString());
                    // Reviso si ya se ha cargado la unidad de venta y agencia que se esta procesando
                    if (registroAuxiliar.Length == 0)
                    {
                        // No ha sido cargado la agencia y la unidad de venta. Agrego el registro
                        UnidadVentaId_AgenciaId++;
                        DsReporteComisiones.UnidadesDeVentasRow nuevoRegistro = ds.UnidadesDeVentas.NewUnidadesDeVentasRow();
                        nuevoRegistro.UnidadVentaId_AgenciaId = UnidadVentaId_AgenciaId;
                        nuevoRegistro.EntidadId              = row.EntidadId;
                        nuevoRegistro.UnidadVentaId          = row.UnidadVentaId;
                        nuevoRegistro.UnidadVentaDescripcion = row.UnidadVentaDescripcion;
                        nuevoRegistro.NumeroLiquidacion      = row.NumeroLiquidacion;
                        nuevoRegistro.SoloCorporativo        = row.SoloCorporativo;
                        ds.UnidadesDeVentas.AddUnidadesDeVentasRow(nuevoRegistro);
                        // Cargo el id de vinculo con la tabla de comisiones liquidadas
                        row.UnidadVentaId_AgenciaId = UnidadVentaId_AgenciaId;
                    }
                    else
                    {
                        // El registro ya se ha cargado
                        // Cargo el id de vinculo con la tabla de comisiones liquidadas
                        row.UnidadVentaId_AgenciaId = int.Parse(registroAuxiliar[0]["UnidadVentaId_AgenciaId"].ToString());
                    }
                }

                if (row.IsConceptoFacturacionIDNull() == false)
                {
                    DataRow[] registroAuxiliar = ds.ConceptosFacturacion.Select("EntidadId = " + row.EntidadId.ToString() + " And ConceptoFacturacionId = " + row.ConceptoFacturacionID.ToString() + " And NumeroLiquidacion = " + row.NumeroLiquidacion.ToString());
                    // Reviso si ya se ha cargado la unidad de venta y agencia que se esta procesando
                    if (registroAuxiliar.Length == 0)
                    {
                        // No ha sido cargado la agencia y la unidad de venta. Agrego el registro
                        UnidadVentaId_AgenciaId++;
                        DsReporteComisiones.UnidadesDeVentasRow nuevoRegistro = ds.UnidadesDeVentas.NewUnidadesDeVentasRow();
                        nuevoRegistro.UnidadVentaId_AgenciaId = UnidadVentaId_AgenciaId;
                        nuevoRegistro.EntidadId              = row.EntidadId;
                        nuevoRegistro.UnidadVentaId          = row.ConceptoFacturacionID * -1;
                        nuevoRegistro.UnidadVentaDescripcion = row.ConceptoFacturacionDescrip;
                        nuevoRegistro.NumeroLiquidacion      = row.NumeroLiquidacion;
                        ds.UnidadesDeVentas.AddUnidadesDeVentasRow(nuevoRegistro);
                        // Cargo el id de vinculo con la tabla de comisiones liquidadas
                        row.UnidadVentaId_AgenciaId = UnidadVentaId_AgenciaId;
                    }
                    else
                    {
                        // El registro ya se ha cargado
                        // Cargo el id de vinculo con la tabla de comisiones liquidadas
                        row.UnidadVentaId_AgenciaId = int.Parse(registroAuxiliar[0]["UnidadVentaId_AgenciaId"].ToString());
                    }
                }
            }
            // Reviso cual es el tipo de entidad que se esta procesando
            switch (TipoEntidad)
            {
            case 1:         // Agencias
                // Creo la relación entre las tablas agencia y UnidadesDeVentas
                DataColumn   dc1      = ds.Tables["Agencias"].Columns["AgenciaId"];
                DataColumn   dc2      = ds.Tables["UnidadesDeVentas"].Columns["EntidadId"];
                DataRelation relacion = new DataRelation("Agencias_UnidadesDeVentas", dc1, dc2);
                ds.Relations.Add(relacion);
                break;

            case 2:         // Vendedores
                // Creo la relación entre las tablas Vendedores y UnidadesDeVentas
                DataColumn   dc3       = ds.Tables["Vendedores"].Columns["VendedorId"];
                DataColumn   dc4       = ds.Tables["UnidadesDeVentas"].Columns["EntidadId"];
                DataRelation relacion2 = new DataRelation("Agencias_UnidadesDeVentas", dc3, dc4);
                ds.Relations.Add(relacion2);
                break;
            }
            // Creo la relación entrega las tablas UnidadesDeVentas y ComisionesLiquidadasYPagadas
            DataColumn   dc5       = ds.Tables["UnidadesDeVentas"].Columns["UnidadVentaId_AgenciaId"];
            DataColumn   dc6       = ds.Tables["ComisionesLiquidadasYPagadas"].Columns["UnidadVentaId_AgenciaId"];
            DataRelation relacion3 = new DataRelation("UnidadesDeVentas_ComisionesLiquidadasYPagadas", dc5, dc6);

            ds.Relations.Add(relacion3);
        }