Ejemplo n.º 1
0
        private void dtgVentasAgencias_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                //DsVentasPorMes dsVentasPorMes = (DsVentasPorMes) Session["DsVentasAgenciasPorMes"];

                // formateo las columnas
                if (e.Item.Cells.Count > 8)
                {
                    e.Item.Cells[e.Item.Cells.Count - 2].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "FleteNeto")));                    // Total Flete Neto
                    e.Item.Cells[e.Item.Cells.Count - 1].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "Promedio")));                     // Promedio
                    e.Item.Cells[e.Item.Cells.Count - 7].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "FleteBruto")) / cantidadMeses);   // Promedio Bruto
                    e.Item.Cells[e.Item.Cells.Count - 6].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "CreditoAOtorgar")));              // CreditoAOtorgar
                    e.Item.Cells[e.Item.Cells.Count - 5].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "LimiteCredito")));                // LimiteCredito
                    e.Item.Cells[e.Item.Cells.Count - 4].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "MontoActual")));                  // MontoActual
                    e.Item.Cells[e.Item.Cells.Count - 3].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "Porcentaje"))).ToString() + " %"; // MontoActual
                }
                else
                {
                    e.Item.Cells[e.Item.Cells.Count - 2].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "FleteNeto"))); // Total Flete Neto
                    e.Item.Cells[e.Item.Cells.Count - 1].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "Promedio")));  // Promedio
                }

                DsVentas.DatosRow dr = ((DsVentas.DatosRow)((DataRowView)e.Item.DataItem).Row);
                int j;
                if (Convert.ToInt32(Request.QueryString["AgregarColumnaVendedor"]) == 1)
                {
                    j = 1;
                }
                else
                {
                    j = 0;
                }

                for (int i = 1; i <= 12; i++)
                {
                    if (mesesAmostrar[i])
                    {
                        System.Data.DataRow[] drImportes = dsVentasPorMes.Datos.Select("EntidadID = " + dr.EntidadID + " AND Mes = " + i);

                        if (drImportes.Length > 0)
                        {
                            e.Item.Cells[j + 3].Text = "" +
                                                       Utiles.Formatos.Importe(Convert.ToDouble(Convert.ToString(drImportes[0]["FleteNeto"])));

                            e.Item.Cells[j + 4].Text = "" +
                                                       Utiles.Formatos.Importe(Convert.ToDouble(Convert.ToString(drImportes[0]["FleteBruto"])));

                            e.Item.Cells[j + 3].HorizontalAlign = HorizontalAlign.Center;
                            e.Item.Cells[j + 4].HorizontalAlign = HorizontalAlign.Center;
                        }
                        j++;
                        j++;
                    }
                }
            }
            else if (e.Item.ItemType == ListItemType.Footer)
            {
                int            cantMeses           = 0;
                DsVentasPorMes dsVentasPorMes      = (DsVentasPorMes)Session["DsVentasAgenciasPorMes"];
                string         EntidadSeleccionada = string.Empty;
                if (Session["EntidadSeleccionada"] != null)
                {
                    EntidadSeleccionada = Session["EntidadSeleccionada"].ToString();
                }
                int j;
                if (Convert.ToInt32(Request.QueryString["AgregarColumnaVendedor"]) == 1)
                {
                    j = 2;
                }
                else
                {
                    j = 1;
                }

                for (int i = 1; i <= 12; i++)
                {
                    if (mesesAmostrar[i])
                    {
                        e.Item.Cells[2].Text = "Totales";
                        if (EntidadSeleccionada != string.Empty)
                        {
                            e.Item.Cells[j + 2].Text = "" + //"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                                                       Utiles.Formatos.Importe(
                                Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteNeto)", "Mes = " + i + " and EntidadID=" + Utiles.Validaciones.obtieneEntero(EntidadSeleccionada)))));
                            //+ "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                            //Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteBruto)", "Mes = " + i + " and EntidadID=" + Utiles.Validaciones.obtieneEntero(EntidadSeleccionada)))));
                            e.Item.Cells[j + 3].Text = "" + Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteBruto)", "Mes = " + i + " and EntidadID=" + Utiles.Validaciones.obtieneEntero(EntidadSeleccionada)))));
                        }
                        else
                        {
                            e.Item.Cells[j + 2].Text = "" + //"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                                                       Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteNeto)", "Mes = " + i))));
                            // + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                            //Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteBruto)", "Mes = " + i))));

                            e.Item.Cells[j + 3].Text = "" + Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteBruto)", "Mes = " + i))));
                        }
                        e.Item.Cells[j + 2].HorizontalAlign = HorizontalAlign.Center;
                        cantMeses++;
                        j++;
                        j++;
                    }
                }
                // Si no se comenta la siguiente sección, lanza una excepción.
                double fleteNeto;
                if (EntidadSeleccionada != string.Empty)
                {
                    try
                    {
                        // fleteNeto = Convert.ToDouble(dsVentasPorMes.Datos.Compute("SUM(FleteNeto)", "EntidadID=" + Utiles.Validaciones.obtieneEntero(EntidadSeleccionada)));
                        fleteNeto = Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteNeto)", "EntidadID =" + Utiles.Validaciones.obtieneEntero(EntidadSeleccionada))));
                    }
                    catch (Exception ex)
                    {
                        fleteNeto = 0;
                    }
                }
                else
                {
                    fleteNeto = Convert.ToDouble(dsVentasPorMes.Datos.Compute("SUM(FleteNeto)", ""));
                }

                if (e.Item.Cells.Count > 8)
                {
                    e.Item.Cells[e.Item.Cells.Count - 9].Text            = Utiles.Formatos.Importe(fleteNeto); // Total Flete Neto
                    e.Item.Cells[e.Item.Cells.Count - 9].HorizontalAlign = HorizontalAlign.Right;

                    e.Item.Cells[e.Item.Cells.Count - 8].Text            = Utiles.Formatos.Importe(fleteNeto / cantMeses); // Promedio
                    e.Item.Cells[e.Item.Cells.Count - 8].HorizontalAlign = HorizontalAlign.Right;
                }
                else
                {
                    e.Item.Cells[e.Item.Cells.Count - 2].Text            = Utiles.Formatos.Importe(fleteNeto); // Total Flete Neto
                    e.Item.Cells[e.Item.Cells.Count - 2].HorizontalAlign = HorizontalAlign.Right;

                    e.Item.Cells[e.Item.Cells.Count - 1].Text            = Utiles.Formatos.Importe(fleteNeto / cantMeses); // Promedio
                    e.Item.Cells[e.Item.Cells.Count - 1].HorizontalAlign = HorizontalAlign.Right;
                }
            }
        }
        private void dtgVentasAgencias_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                //DsVentasPorMes dsVentasPorMes = (DsVentasPorMes) Session["DsVentasAgenciasPorMes"];

                // formateo las columnas
                if (e.Item.Cells.Count > 8)
                {
                    e.Item.Cells[e.Item.Cells.Count - 9].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "FleteNeto")));                    // Total Flete Neto
                    e.Item.Cells[e.Item.Cells.Count - 8].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "Promedio")));                     // Promedio
                    e.Item.Cells[e.Item.Cells.Count - 7].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "FleteBruto")) / cantidadMeses);   // Promedio Bruto
                    e.Item.Cells[e.Item.Cells.Count - 6].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "CreditoAOtorgar")));              // CreditoAOtorgar
                    e.Item.Cells[e.Item.Cells.Count - 5].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "LimiteCredito")));                // LimiteCredito
                    e.Item.Cells[e.Item.Cells.Count - 4].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "MontoActual")));                  // MontoActual
                    e.Item.Cells[e.Item.Cells.Count - 3].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "Porcentaje"))).ToString() + " %"; // MontoActual
                }
                else
                {
                    e.Item.Cells[e.Item.Cells.Count - 2].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "FleteNeto"))); // Total Flete Neto
                    e.Item.Cells[e.Item.Cells.Count - 1].Text = Utiles.Formatos.Importe(Convert.ToDouble(DataBinder.Eval(e.Item.DataItem, "Promedio")));  // Promedio
                }

                DsVentas.DatosRow dr = ((DsVentas.DatosRow)((DataRowView)e.Item.DataItem).Row);
                int j;
                if (Convert.ToInt32(Request.QueryString["AgregarColumnaVendedor"]) == 1)
                {
                    j = 1;
                }
                else
                {
                    j = 0;
                }

                for (int i = 1; i <= 12; i++)
                {
                    if (mesesAmostrar[i])
                    {
                        System.Data.DataRow[] drImportes = dsVentasPorMes.Datos.Select("EntidadID = " + dr.EntidadID + " AND Mes = " + i);

                        if (drImportes.Length > 0)
                        {
                            /* ORIGINAL
                             * e.Item.Cells[j+3].Text = "" +
                             *      Utiles.Formatos.Importe(Convert.ToDouble(Convert.ToString(drImportes[0]["FleteNeto"]))) +
                             *      "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                             *      Utiles.Formatos.Importe(Convert.ToDouble(Convert.ToString(drImportes[0]["FleteBruto"]))) +
                             *      "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                             *      Convert.ToString(drImportes[0]["EstadoClienteDescrip"]);
                             * e.Item.Cells[j+3].HorizontalAlign = HorizontalAlign.Center;*/

                            e.Item.Cells[j + 3].Text = "" +
                                                       Utiles.Formatos.Importe(Convert.ToDouble(Convert.ToString(drImportes[0]["FleteNeto"])));

                            e.Item.Cells[j + 4].Text = "" +
                                                       Utiles.Formatos.Importe(Convert.ToDouble(Convert.ToString(drImportes[0]["FleteBruto"])));

                            e.Item.Cells[j + 3].HorizontalAlign = HorizontalAlign.Center;
                            e.Item.Cells[j + 4].HorizontalAlign = HorizontalAlign.Center;
                        }
                        j++;
                        j++;
                    }
                }

                /*for (int i = 2; i<e.Item.Cells.Count-2; i++)
                 * {
                 *      string importes = "";
                 *      DsVentas.DatosRow dr = ((DsVentas.DatosRow)((DataRowView)e.Item.DataItem).Row);
                 *      foreach (DsVentas.DatosRow drValores in dsVentasPorMes.Datos.Select("EntidadID = " + dr.EntidadID + " AND Mes = " + i))
                 *      {
                 *
                 *      }
                 *
                 *
                 *
                 *      e.Item.Cells[i] = importes;
                 * }*/


                //DsVentas ds = (DsVentas)((DataGrid)sender).DataSource;

                /*int j = 2;
                 * for (int i=1; i<=12; i++)
                 * {
                 *      if (mesesAmostrar[i])
                 *      {
                 *              DataGrid grd = (DataGrid)e.Item.Cells[j].FindControl("Mes" + i);
                 *
                 *              grd.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.grd_ItemDataBound);
                 *
                 *              //SisPackController.AdministrarGrillas.ConfigurarChica(grd, "EntidadID");
                 *              grd.AllowPaging = false;
                 *              grd.AllowCustomPaging = false;
                 *              grd.AutoGenerateColumns = false;
                 *              grd.CellPadding = 1;
                 *              grd.CellSpacing = 0;
                 *              grd.DataKeyField = "EntidadID";
                 *              grd.GridLines = GridLines.Horizontal;
                 *              //grd.BorderStyle = BorderStyle.Solid;
                 *              grd.BorderWidth = Unit.Pixel(0);
                 *              //grd.BorderColor = System.Drawing.Color.Gray;
                 *              grd.HeaderStyle.CssClass = "TituloGrilla";
                 *              grd.ItemStyle.CssClass = "TextoGrilla";
                 *              grd.ShowHeader = false;
                 *              grd.ShowFooter = false;
                 *              grd.Width = Unit.Pixel(200);
                 *
                 *              DsVentas.DatosRow dr = ((DsVentas.DatosRow)((DataRowView)e.Item.DataItem).Row);
                 *              grd.DataSource = dsVentasPorMes.Datos.Select("EntidadID = " + dr.EntidadID + " AND Mes = " + i);
                 *              grd.DataBind();
                 *              j++;
                 *
                 *      }
                 *      else
                 *              e.Item.Cells[i].Visible = false;
                 * }*/
            }
            else if (e.Item.ItemType == ListItemType.Footer)
            {
                int            cantMeses           = 0;
                DsVentasPorMes dsVentasPorMes      = (DsVentasPorMes)Session["DsVentasAgenciasPorMes"];
                string         EntidadSeleccionada = string.Empty;
                if (Session["EntidadSeleccionada"] != null)
                {
                    EntidadSeleccionada = Session["EntidadSeleccionada"].ToString();
                }
                int j;
                if (Convert.ToInt32(Request.QueryString["AgregarColumnaVendedor"]) == 1)
                {
                    j = 2;
                }
                else
                {
                    j = 1;
                }

                for (int i = 1; i <= 12; i++)
                {
                    if (mesesAmostrar[i])
                    {
                        e.Item.Cells[2].Text = "Totales";
                        if (EntidadSeleccionada != string.Empty)
                        {
                            e.Item.Cells[j + 2].Text = "" + //"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                                                       Utiles.Formatos.Importe(
                                Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteNeto)", "Mes = " + i + " and EntidadID=" + Utiles.Validaciones.obtieneEntero(EntidadSeleccionada)))));
                            //+ "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                            //Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteBruto)", "Mes = " + i + " and EntidadID=" + Utiles.Validaciones.obtieneEntero(EntidadSeleccionada)))));
                            e.Item.Cells[j + 3].Text = "" + Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteBruto)", "Mes = " + i + " and EntidadID=" + Utiles.Validaciones.obtieneEntero(EntidadSeleccionada)))));
                        }
                        else
                        {
                            e.Item.Cells[j + 2].Text = "" + //"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                                                       Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteNeto)", "Mes = " + i))));
                            // + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                            //Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteBruto)", "Mes = " + i))));

                            e.Item.Cells[j + 3].Text = "" + Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteBruto)", "Mes = " + i))));
                        }
                        e.Item.Cells[j + 2].HorizontalAlign = HorizontalAlign.Center;
                        cantMeses++;
                        j++;
                        j++;
                    }
                }
                // Si no se comenta la siguiente sección, lanza una excepción.
                double fleteNeto;
                if (EntidadSeleccionada != string.Empty)
                {
                    try
                    {
                        // fleteNeto = Convert.ToDouble(dsVentasPorMes.Datos.Compute("SUM(FleteNeto)", "EntidadID=" + Utiles.Validaciones.obtieneEntero(EntidadSeleccionada)));
                        fleteNeto = Utiles.Validaciones.obtieneDouble(Convert.ToString(dsVentasPorMes.Datos.Compute("SUM(FleteNeto)", "EntidadID =" + Utiles.Validaciones.obtieneEntero(EntidadSeleccionada))));
                    }
                    catch (Exception ex)
                    {
                        fleteNeto = 0;
                    }
                }
                else
                {
                    fleteNeto = Convert.ToDouble(dsVentasPorMes.Datos.Compute("SUM(FleteNeto)", ""));
                }

                if (e.Item.Cells.Count > 8)
                {
                    e.Item.Cells[e.Item.Cells.Count - 9].Text            = Utiles.Formatos.Importe(fleteNeto); // Total Flete Neto
                    e.Item.Cells[e.Item.Cells.Count - 9].HorizontalAlign = HorizontalAlign.Right;

                    e.Item.Cells[e.Item.Cells.Count - 8].Text            = Utiles.Formatos.Importe(fleteNeto / cantMeses); // Promedio
                    e.Item.Cells[e.Item.Cells.Count - 8].HorizontalAlign = HorizontalAlign.Right;
                }
                else
                {
                    e.Item.Cells[e.Item.Cells.Count - 2].Text            = Utiles.Formatos.Importe(fleteNeto); // Total Flete Neto
                    e.Item.Cells[e.Item.Cells.Count - 2].HorizontalAlign = HorizontalAlign.Right;

                    e.Item.Cells[e.Item.Cells.Count - 1].Text            = Utiles.Formatos.Importe(fleteNeto / cantMeses); // Promedio
                    e.Item.Cells[e.Item.Cells.Count - 1].HorizontalAlign = HorizontalAlign.Right;
                }
            }
        }