Exemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["lgn_id"] == null)
            {
                Session.Clear();
                String lsScript = "parent.document.location.href = '../../default.aspx?acc=SES';";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "myKey", lsScript, true);
            }
            else
            {
                try
                {
                    string json = new System.IO.StreamReader(Request.InputStream).ReadToEnd();

                    Dictionary <string, string> dataJSON = JsonConvert.DeserializeObject <Dictionary <string, string> >(json);

                    String fechaInicio = dataJSON["FechaInicio"].ToString();
                    String fechaFin    = dataJSON["FechaFin"].ToString();
                    String canal       = dataJSON["Canal"].ToString();
                    if (canal != string.Empty)
                    {
                        canal = canal.Remove(canal.Length - 1);
                    }
                    String zona = dataJSON["Zona"].ToString();
                    if (zona != string.Empty)
                    {
                        zona = zona.Remove(zona.Length - 1);
                    }
                    String tipoActividad = dataJSON["TipoActividad"].ToString();
                    if (tipoActividad != string.Empty)
                    {
                        tipoActividad = tipoActividad.Remove(tipoActividad.Length - 1);
                    }
                    String detalleActividad = dataJSON["DetalleActividad"].ToString();
                    if (detalleActividad != string.Empty)
                    {
                        detalleActividad = detalleActividad.Remove(detalleActividad.Length - 1);
                    }
                    String usuario = dataJSON["Usuario"].ToString();
                    if (usuario != string.Empty)
                    {
                        usuario = usuario.Remove(usuario.Length - 1);
                    }
                    String cliente = dataJSON["Cliente"].ToString();
                    if (cliente != string.Empty)
                    {
                        cliente = cliente.Remove(cliente.Length - 1);
                    }
                    String campo = dataJSON["Campo"].ToString();
                    if (campo != string.Empty)
                    {
                        campo = campo.Remove(campo.Length - 1);
                    }

                    String tipoReporte = dataJSON["TipoReporte"].ToString();
                    String usuaSession = HttpContext.Current.Session["lgn_id"].ToString();
                    //PAG
                    String pagina = dataJSON["pagina"].ToString();
                    String filas  = dataJSON["filas"].ToString();

                    if (campo == string.Empty)
                    {
                        campo = "[Fecha],[Negocio],[Zona],[Tipo Actividad],[Sub Tipo Actividad],[Vendedor],[Cliente]";
                    }

                    var item = new OportunidadBean
                    {
                        FechaInicio      = DateUtils.getStringDateYYMMDDHHMM(fechaInicio),
                        FechaFin         = DateUtils.getStringDateYYMMDDHHMM(fechaFin),
                        Canal            = canal,
                        Zona             = zona,
                        TipoActividad    = tipoActividad,
                        DetalleActividad = detalleActividad,
                        Usuario          = usuario,
                        Cliente          = cliente,
                        Campo            = campo,
                        TipoReporte      = tipoReporte,
                        UsuSession       = usuaSession,

                        page = int.Parse(pagina),
                        rows = int.Parse(filas)
                    };

                    PaginateOportunidadBean paginate = OportunidadController.GetReporteAllPaginate(item);

                    if (tipoReporte == "RESUMIDO")
                    {
                        if ((Int32.Parse(pagina) > 0) && (Int32.Parse(pagina) <= paginate.totalPages))
                        {
                            Utility.ConfiguraPaginacion(this.lbTpaginaTop, this.linkPaginaTop,
                                                        this.lblTFilasTop, this.linkPaginaAnteriorTop, this.linkPaginaSiguienteTop,
                                                        paginate.totalPages.ToString(), pagina, paginate.totalrows.ToString(),
                                                        ddlMostrarTop, filas);

                            Utility.ConfiguraPaginacion(this.lbTpaginaBooton, this.linkPaginaBooton,
                                                        this.lblTFilasBooton, this.linkPaginaAnteriorBooton, this.linkPaginaSiguienteBooton, paginate.totalPages.ToString(), pagina, paginate.totalrows.ToString(),
                                                        ddlMostrarBooton, filas);

                            var lst = paginate.lstResultados;

                            StringBuilder strHTML = new StringBuilder();

                            strHTML.Append("<table class='grilla table' id='Table1' style='width: 100%;'>");
                            strHTML.Append("<thead>");
                            strHTML.Append("<tr>");

                            if (lst.Count > 0)
                            {
                                OportunidadBean headFields = lst[0];
                                for (int i = 0; i < headFields.columnasDinamicas.Count - 1; i++)
                                {
                                    strHTML.Append("<th scope='col'>");
                                    if (i == headFields.columnasDinamicas.Count - 2)
                                    {
                                        strHTML.Append("Detalle");
                                    }
                                    else
                                    {
                                        strHTML.Append(headFields.columnasDinamicas[i].Codigo);
                                    }

                                    strHTML.Append("</th>");
                                }
                                strHTML.Append("</th>");
                            }
                            strHTML.Append("</tr>");
                            strHTML.Append("</thead>");
                            strHTML.Append("<tbody>");

                            foreach (OportunidadBean obj in lst)
                            {
                                strHTML.Append("<tr>");
                                List <ComboBean> data = obj.columnasDinamicas;

                                for (int i = 0; i < data.Count - 1; i++)
                                {
                                    strHTML.Append("<td>");
                                    if (i == data.Count - 2)
                                    {
                                        strHTML.Append("<button type = 'button' class='btn btndetalle nuevo movil' title='Ver Detalle' " +
                                                       "cod='" + (data[i].Nombre) + "'>" +
                                                       "<i class='fas fa-search'></i>" +
                                                       "</button>");
                                    }
                                    else
                                    {
                                        strHTML.Append(data[i].Nombre);
                                    }
                                    strHTML.Append("</td>");
                                }
                                strHTML.Append("</tr>");
                            }

                            strHTML.Append("</tbody>");
                            strHTML.Append("</table>");

                            litGrilla.Text = strHTML.ToString();
                        }
                    }
                    else if (tipoReporte == "DETALLADO")
                    {
                        String idperfil = HttpContext.Current.Session["lgn_perfil"].ToString();
                        if ((Int32.Parse(pagina) > 0) && (Int32.Parse(pagina) <= paginate.totalPages))
                        {
                            Utility.ConfiguraPaginacion(this.lbTpaginaTop, this.linkPaginaTop,
                                                        this.lblTFilasTop, this.linkPaginaAnteriorTop, this.linkPaginaSiguienteTop,
                                                        paginate.totalPages.ToString(), pagina, paginate.totalrows.ToString(),
                                                        ddlMostrarTop, filas);

                            Utility.ConfiguraPaginacion(this.lbTpaginaBooton, this.linkPaginaBooton,
                                                        this.lblTFilasBooton, this.linkPaginaAnteriorBooton, this.linkPaginaSiguienteBooton, paginate.totalPages.ToString(), pagina, paginate.totalrows.ToString(),
                                                        ddlMostrarBooton, filas);

                            var           lst  = paginate.lstResultados;
                            StringBuilder html = new StringBuilder();
                            html.Append("<table class='grilla table' id='Table1' style='width: 100%;'>" +
                                        "<thead>" +
                                        "   <tr>" +
                                        "      <th scope='col'>Fecha</th>" +
                                        "     <th scope='col'>Negocio</th>" +
                                        "     <th scope='col'>Zona</th>" +
                                        "     <th scope='col'>Tipo Actividad</th>" +
                                        "     <th scope='col'>Sub Tipo de Actividad</th>" +
                                        "     <th scope='col'>Vendedor</th>" +
                                        "     <th scope='col'>RUC</th>" +
                                        "     <th scope='col'>Cliente</th>" +
                                        "     <th scope='col'>Contacto</th>" +
                                        "     <th scope='col'>Telefono</th>" +
                                        "     <th scope='col'>Email</th>" +
                                        "     <th scope='col'>Cargo</th>");

                            foreach (var col in lst[0].columnasDinamicas)
                            {
                                html.Append("<th scope='col' >" + col.Codigo.Replace("_IMG_", "") + "</th>");
                            }
                            if (idperfil != "4")
                            {
                                html.Append("<th scope='col'>GPS</th>");
                            }
                            html.Append("</tr>");
                            html.Append("</thead>");
                            html.Append("<tbody>");
                            foreach (var eRepor in lst)
                            {
                                //red
                                html.Append("<tr>" +
                                            "<td align='center'  >" + eRepor.Fecha + "</td>" +
                                            "<td align='center'  >" + eRepor.Canal + "</td>" +
                                            "<td align='center'  >" + eRepor.Zona + "</td>" +
                                            "<td align='center'  >" + eRepor.TipoActividad + "</td>" +
                                            "<td align='center'  >" + eRepor.DetalleActividad + "</td>" +
                                            "<td align='center'  >" + eRepor.Usuario + "</td>" +
                                            "<td align='center'  >" + eRepor.Ruc + "</td>" +
                                            "<td align='center'  >" + eRepor.Cliente + "</td>" +
                                            "<td align='center'  >" + eRepor.Contacto + "</td>" +
                                            "<td align='center'  >" + eRepor.Telefono + "</td>" +
                                            "<td align='center'  >" + eRepor.Email + "</td>" +
                                            "<td align='center'  >" + eRepor.Cargo + "</td>");

                                foreach (var ecd in eRepor.columnasDinamicas)
                                {
                                    if (ecd.Codigo.Contains("_IMG_"))
                                    {
                                        if (ecd.Nombre != null && ecd.Nombre != "")
                                        {
                                            html.Append("<td align='center'><div style='cursor:pointer' onclick='fcVerFoto(\"" + ecd.Nombre + "\");' class='verFoto'><i class='fa fa-camera'></i>Ver Foto</div></td>");
                                        }
                                        else
                                        {
                                            html.Append("<td align='center' ></td>");
                                        }
                                    }
                                    else
                                    {
                                        html.Append("<td align='center' >" + ecd.Nombre + "</td>");
                                    }
                                }
                                if (idperfil != "4")
                                {
                                    if (eRepor.Latitud != null && eRepor.Latitud != "" && eRepor.Latitud != "0" && eRepor.Longitud != null && eRepor.Longitud != "" && eRepor.Longitud != "0")
                                    {
                                        html.Append("<td align='center'  > <a href='https://www.google.com/maps/search/?api=1&query=" + eRepor.Latitud + "," + eRepor.Longitud + "' target='_blank'><img src='../../imagery/all/icons/pin.png' style='width:30px'/></a> </td>");
                                    }
                                    else
                                    {
                                        html.Append("<td align='center'  ></td>");
                                    }
                                }

                                html.Append("</tr>");
                            }

                            html.Append("</tbody>" + "</table>");

                            litGrilla.Text = html.ToString();
                        }
                        else
                        {
                            String htmlNoData = "<div class='gridNoData'><div class='col-sm-12 form-group'>" +
                                                "<img src='../../images/alert/ico_alert.png' style='float: left;height: 32px;'>" +
                                                "<p style='float: left;line-height: 32px;margin-left: 10px!important;'>No se encontraron datos para mostrar</p>" +
                                                "</p></div>";

                            this.divGridView.InnerHtml               = htmlNoData;
                            this.divGridViewPagintatorTop.Visible    = false;
                            this.divGridViewPagintatorBooton.Visible = false;
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogHelper.LogException(ex, "Error :" + this);

                    String htmlNoData = "<div class='gridNoData'><div class='col-sm-12 form-group'>" +
                                        "<img src='../../images/alert/ico_alert.png' style='float: left;height: 32px;'>" +
                                        "<p style='float: left;line-height: 32px;margin-left: 10px!important;'>No se encontraron datos para mostrar</p>" +
                                        "</p></div>";

                    this.divGridView.InnerHtml               = htmlNoData;
                    this.divGridViewPagintatorTop.Visible    = false;
                    this.divGridViewPagintatorBooton.Visible = false;

                    string myScript = "addnotify('notify', \"" + ex.Message + "\", 'registeruser');";
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "myKey", myScript, true);
                }
            }
        }