private void BindGrid(int currentPage)
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgRendiciones, "RendicionAgenciaID", this.CantidadOpciones);

            IRendicionAgencia rendicion = RendicionAgenciaFactory.GetRendicionAgencia();

            if (this.Request.QueryString["Administracion"] != null)
            {
                if (this.Request.QueryString["Administracion"] == "1")
                {
                    if (this.busqAgencia.AgenciaID != "" && this.busqAgencia.RazonSocial != "")
                    {
                        rendicion.Agencia.AgenciaID = Convert.ToInt32(this.busqAgencia.AgenciaID);
                    }
                    else if (this.Request.QueryString["Estado"] == "PendienteDeCierre")
                    {
                        rendicion.Agencia.AgenciaID = Convert.ToInt32(this.Request.QueryString["AgenciaID"]);
                    }
                    else
                    {
                        rendicion.Agencia.AgenciaID = 0;
                    }
                }
            }
            else if (this.Request.QueryString["GestionAgencias"] != null)
            {
                if (this.Request.QueryString["GestionAgencias"] == "1")
                {
                    rendicion.Agencia.AgenciaID = this.AgenciaConectadaID;
                }
            }
            rendicion.FechaDesde = this.txtFechaDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900");
            rendicion.FechaHasta = this.txtFechaHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaHasta.Text) : DateTime.Today;

            rendicion.NroRendicion  = txtNroRendicion.Text;
            rendicion.DiasRecibir   = Utiles.Validaciones.obtieneEntero(txtDiasRecibir.Text);
            rendicion.DiasControlar = Utiles.Validaciones.obtieneEntero(txtDiasControlar.Text);
            DsRendicionesAgencias ds = rendicion.GetRendicionesAgenciasDataSet();

            if (this.Request.QueryString["Estado"] == "PendienteDeCierre")
            {
                this.dtgRendiciones.DataSource = (DsRendicionesAgencias.DatosRow[])ds.Datos.Select("EstadoRendicionID=4", "NroRendicion ASC");
            }
            else
            {
                this.dtgRendiciones.DataSource = ds.Datos;
            }

            this.dtgRendiciones.CurrentPageIndex = currentPage;
            this.dtgRendiciones.DataBind();
            Session["dsRendicionAgencia"] = ds;
        }
 /// <summary>
 /// Procedimiento para cargar los datos en la grilla
 /// </summary>
 private void BindGrid()
 {
     if (Request.QueryString["RendicionAgenciaID"] != null)
     {
         DsReporteRendicionResumido ds;
         IRendicionAgencia          rendionAgencia = RendicionAgenciaFactory.GetRendicionAgencia();
         ds = rendionAgencia.GetReporteResumidoRendicion(int.Parse(Request.QueryString["RendicionAgenciaID"].ToString()));
         // Configuro la grilla
         SisPackController.AdministrarGrillas.Configurar(dtgRendiciones, "ConceptoLiquidacionId", CantidadOpciones);
         dtgRendiciones.Width       = Unit.Pixel(600);
         dtgRendiciones.AllowPaging = false;
         // Cargo los datos en la grilla
         dtgRendiciones.DataSource = ds.Datos;
         dtgRendiciones.DataBind();
     }
 }
        private void BindGrilla()
        {
            //DsRendicionesAgencias ds = new DsRendicionesAgencias();
            //DsRendicionesAgencias dsB = new DsRendicionesAgencias();
            ArrayList admGuias = (ArrayList)Session["AdmGuias"];
            ArrayList guias    = (ArrayList)Session["Guias"];

            this.dtgRendicionEmitidasA.DataSource = admGuias;
            this.dtgRendicionEmitidasA.DataBind();

            IRendicionAgencia     rendicion = RendicionAgenciaFactory.GetRendicionAgencia();
            DsRendicionesAgencias ds        = new DsRendicionesAgencias();

            if (Session["Rendicion"] == null)
            {
                rendicion.Agencia.AgenciaID         = this.AgenciaConectadaID;
                rendicion.FechaDesde                = Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900");
                rendicion.FechaHasta                = DateTime.Today;
                rendicion.IncluirCdoCorporativos    = true;
                rendicion.IncluirCdoEventuales      = true;
                rendicion.IncluirCRCorporativos     = true;
                rendicion.IncluirCtaCteCorporativos = true;
                rendicion.IncluirFPDCorporativos    = true;
                rendicion.IncluirFPDEventuales      = true;
                rendicion.IncluirCREventuales       = true;
                rendicion.IDSesion = Session.SessionID;
                rendicion.Generar();
                //Session["dsRendicionAgencia"] = rendicion.RendicionAgenciaDataSet;
                Session["rendicion"] = rendicion;
            }
            else
            {
                rendicion = (IRendicionAgencia)Session["rendicion"];
            }


            //this.dtgRendicionEmitidasA.DataSource = dsB;
            //this.dtgRendicionEmitidasB.DataBind();
        }
Esempio n. 4
0
        private void butBuscar_Click(object sender, System.EventArgs e)
        {
            try
            {
                RequiredFieldValidator reqTxtNroRendicion = (RequiredFieldValidator)this.phValidNroRendicion.FindControl("reqTxtNroRendicion");
                reqTxtNroRendicion.Enabled = true;
                reqTxtNroRendicion.Validate();
                if (!reqTxtNroRendicion.IsValid)
                {
                    return;
                }

                BaseValidator valTxtNroRendicion = (BaseValidator)this.phValidNroRendicion.FindControl("validTxtNroRendicion");
                valTxtNroRendicion.Enabled = true;
                valTxtNroRendicion.Validate();
                if (!valTxtNroRendicion.IsValid)
                {
                    return;
                }

                IRendicionAgencia rendicion = RendicionAgenciaFactory.GetRendicionAgencia();
                rendicion.Agencia.AgenciaID = this.AgenciaConectadaID;
                rendicion.NroRendicion      = this.txtNroRendicion.Text;
                DsRendicionesAgencias ds = rendicion.GetRendicionONE();
                if (ds.Datos.Count > 0)
                {
                    DsRendicionesAgencias.DatosRow[] drLista = (DsRendicionesAgencias.DatosRow[])ds.Datos.Select("");
                    int total = drLista.Length;
                    if (total > 0)
                    {
                        DsRendicionesAgencias.DatosRow dr = drLista[0];
                        //Session["GuiaDevueltaID"] =dr.IsGuiaDevueltaIDNull()? 0 : dr.GuiaDevueltaID;//Variable de session para guardar el id de la guia original en las guías devueltas en una guía nueva
                        this.txtFecha.Text              = dr.Fecha.ToShortDateString();
                        this.txtTotalGuiasA.Text        = "$ " + Utiles.Formatos.Importe(dr.TotalRendidoA);
                        this.txtTotalGuiasB.Text        = "$ " + Utiles.Formatos.Importe(dr.TotalRendidoB);
                        this.txtRendicionAgenciaID.Text = dr.RendicionAgenciaID.ToString();


                        this.tblComprobante.Visible = true;
                        this.butConfirmar.Enabled   = true;
                        this.butConfirmar.Visible   = true;
                        this.tblAg.Visible          = true;
                        this.txtFechaBoleta.Text    = DateTime.Today.ToShortDateString();

                        this.BindGrillaComprobantes();
                    }
                    else
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La rendición solicitada no existe para la agencia conectada");
                    }
                }
                else
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La rendición solicitada no existe para la agencia conectada");
                }
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
                try
                {
                    mensaje = this.TraducirTexto(ex.Message);
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }
        }
        private void dtgRendiciones_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "Recibir")
                {
                    IRendicionAgencia rendicion = RendicionAgenciaFactory.GetRendicionAgencia();
                    rendicion.RendicionAgenciaID = Convert.ToInt32(e.Item.Cells[20].Text);
                    // SFE. Registrar la agencia que va a recibir.
                    rendicion.Agencia.AgenciaID = AgenciaConectadaID;
                    IUsuarios usuario = (IUsuarios)Session["Usuario"];
                    rendicion.Recibir(usuario.UsuarioID);
                    BindGrid(0);
                }
                else if (e.CommandName == "Controlar")
                {
                    IRendicionAgencia rendicion = RendicionAgenciaFactory.GetRendicionAgencia();
                    rendicion.RendicionAgenciaID = Convert.ToInt32(e.Item.Cells[20].Text);
                    // SFE. Registrar la agencia que va a recibir.
                    rendicion.Agencia.AgenciaID = AgenciaConectadaID;
                    IUsuarios   usuario = (IUsuarios)Session["Usuario"];
                    TextBox     txtCaja = (TextBox)e.Item.FindControl("txtCaja");
                    PlaceHolder phCaja  = (PlaceHolder)e.Item.FindControl("phCaja");
                    phCaja.Controls.Add(GenerarValidadores.Requerido("txtCaja", "Debe ingresar el número de caja es obligatorio", false, "cajaReq"));
                    phCaja.Controls.Add(GenerarValidadores.EnteroPositivo("txtCaja", "El número de caja debe ser un entero positivo", false, "cajaValid"));
                    BaseValidator bv;
                    bv         = (BaseValidator)e.Item.FindControl("cajaReq");
                    bv.Enabled = true;
                    bv.Validate();
                    if (!bv.IsValid)
                    {
                        return;
                    }
                    bv         = (BaseValidator)e.Item.FindControl("cajaValid");
                    bv.Enabled = true;
                    bv.Validate();
                    if (!bv.IsValid)
                    {
                        return;
                    }
                    rendicion.Controlar(usuario.UsuarioID, Utiles.Validaciones.obtieneEntero(txtCaja.Text));
                    BindGrid(0);
                }
                else if (e.CommandName == "ReporteComisiones")
                {
                    string rendicionAgenciaID = e.Item.Cells[20].Text;
                    Response.Redirect("ComisionAgenciaPorRendicion.aspx?RendicionAgenciaID=" + rendicionAgenciaID, false);
                }
                else if (e.CommandName == "Imprimir")
                {
                    IRendicionAgencia rendicion = RendicionAgenciaFactory.GetRendicionAgencia();
                    rendicion.RendicionAgenciaID = Convert.ToInt32(e.Item.Cells[20].Text);
                    IUsuarios usuario = (IUsuarios)Session["Usuario"];
                    rendicion.Recibir(usuario.UsuarioID);
                    BindGrid(0);

                    DsRendicionesAgencias rendicionSeleccionada = new DsRendicionesAgencias();
                    foreach (DsRendicionesAgencias.DatosRow item in ((DsRendicionesAgencias)Session["dsRendicionAgencia"]).Datos)
                    {
                        if (Utiles.Formatos.CerosIzq(Convert.ToInt32(item.NroRendicion), 5) == e.Item.Cells[0].Text)
                        {
                            DsRendicionesAgencias.DatosRow myRow = rendicionSeleccionada.Datos.NewDatosRow();
                            myRow.AgenciaID          = item.AgenciaID;
                            myRow.AgenciaNombre      = item.AgenciaNombre;
                            myRow.Archivo            = item.Archivo;
                            myRow.Controlada         = item.Controlada;
                            myRow.EstadoRendicionID  = item.EstadoRendicionID;
                            myRow.Fecha              = item.Fecha;
                            myRow.NroRendicion       = item.NroRendicion;
                            myRow.Recibida           = item.Recibida;
                            myRow.RendicionAgenciaID = item.RendicionAgenciaID;
                            myRow.SaldoRendicion     = item.IsSaldoRendicionNull()? 0.00 : item.SaldoRendicion;
                            myRow.SubTotalFleteA     = item.SubTotalFleteA;
                            myRow.SubTotalFleteB     = item.SubTotalFleteB;
                            myRow.SubTotalFleteE     = item.SubTotalFleteE;
                            //SFE: Correccion de Bug 11/01/2011. Visualizacion de Columnas para Guías R
                            myRow.SubTotalFleteR  = item.SubTotalFleteR;
                            myRow.SubTotalSeguroA = item.SubTotalSeguroA;
                            myRow.SubTotalSeguroB = item.SubTotalSeguroB;
                            myRow.SubTotalSeguroE = item.SubTotalSeguroE;
                            //SFE: Correccion de Bug 11/01/2011. Visualizacion de Columnas para Guías R
                            myRow.SubTotalSeguroR = item.SubTotalSeguroR;
                            myRow.TotalRendidoA   = item.TotalRendidoA;
                            myRow.TotalRendidoB   = item.TotalRendidoB;
                            myRow.TotalRendidoE   = item.TotalRendidoE;
                            //SFE: Correccion de Bug 11/01/2011. Visualizacion de Columnas para Guías R
                            myRow.TotalRendidoR = item.TotalRendidoR;
                            myRow.UsuarioCID    = item.IsUsuarioCIDNull() ? 0 : item.UsuarioCID;
                            myRow.UsuarioRID    = item.IsUsuarioRIDNull() ? 0 : item.UsuarioRID;

                            rendicionSeleccionada.Datos.AddDatosRow(myRow);
                            break;
                        }
                    }

                    string codEmpresaRapiPago = System.Configuration.ConfigurationSettings.AppSettings["CodEmpresaRapiPago"].ToString();

                    IParametroUNegocio paramEmpresa = ParametroUNegocioFactory.GetParametroUNegocio();
                    paramEmpresa.UnidadNegocioID = this.UnidadNegocioID;
                    paramEmpresa.Parametro       = NegociosSisPackInterface.SisPack.Parametro.Empresa;
                    paramEmpresa.Consultar();

                    string codEmpresaGrupoA = paramEmpresa.ValorString;

                    IParametroUNegocio paramZona = ParametroUNegocioFactory.GetParametroUNegocio();
                    paramZona.UnidadNegocioID = this.UnidadNegocioID;
                    paramZona.Parametro       = NegociosSisPackInterface.SisPack.Parametro.Zona;
                    paramZona.Consultar();

                    string zona = paramZona.ValorString;

                    /* Obtenemos el Codigo de la Agencia logueada. */
                    IAgencia oAgencia = AgenciaFactory.GetAgencia();
                    oAgencia.AgenciaID = Convert.ToInt32(this.AgenciaConectadaID);
                    oAgencia.ConsultarBasico();
                    /* Utilizamos la funcion útiles para rellenar con ceros. */
                    string codAgencia = Utiles.Formatos.CerosIzq(Convert.ToInt32(oAgencia.SucursalDGI), 7);

                    string compLiquid = Utiles.Formatos.CerosIzq(rendicionSeleccionada.Datos[0].RendicionAgenciaID, 8);
                    string auxiliar   = "00";

                    /* Sumar el total de los dos tipos de guías. */
                    string importe       = "";
                    double totalARendirA = rendicionSeleccionada != null ? rendicionSeleccionada.Datos[0].TotalRendidoA : 0.00;
                    double totalARendirB = rendicionSeleccionada != null ? rendicionSeleccionada.Datos[0].TotalRendidoB : 0.00;
                    double totalARendirE = rendicionSeleccionada != null ? rendicionSeleccionada.Datos[0].TotalRendidoE : 0.00;
                    //SFE: Correccion de Bug 11/01/2011. Visualizacion de Columnas para Guías R
                    double totalARendirR = rendicionSeleccionada != null ? rendicionSeleccionada.Datos[0].TotalRendidoR : 0.00;

                    double totalGuias = totalARendirA + totalARendirB + totalARendirE + totalARendirR;
                    int    entero     = Convert.ToInt32(Math.Floor(totalGuias));
                    double decimales  = totalGuias - Convert.ToDouble(entero);

                    if (decimales == 0.0)
                    {
                        string dec = Utiles.Formatos.CerosIzq(0, 2);
                        importe = Utiles.Formatos.CerosIzq(entero, 6) + dec;
                    }
                    else
                    {
                        importe = Utiles.Formatos.CerosIzq(entero, 6) + decimales.ToString().Substring(2, 2);
                    }

                    /* Formamos la fecha de vencimiento. */
                    string diasVto = Utiles.Formatos.CerosIzq(Convert.ToInt32(rendicionSeleccionada.Datos[0].Fecha.DayOfYear.ToString()), 3);
                    //string diasVto = Utiles.Formatos.CerosIzq(Convert.ToInt32(System.DateTime.Today.AddMonths(1).DayOfYear.ToString()),3);
                    string anioVto  = System.DateTime.Today.Year.ToString().Substring(System.DateTime.Today.Year.ToString().Length - 2, 2);
                    string fechaVto = anioVto + diasVto;

                    string moneda = "0";

                    string secuencia = codEmpresaRapiPago + codEmpresaGrupoA + zona + codAgencia + compLiquid + auxiliar + importe + fechaVto + moneda;

                    IParametroUNegocio paramCadenaVerificadora = ParametroUNegocioFactory.GetParametroUNegocio();
                    paramCadenaVerificadora.UnidadNegocioID = this.UnidadNegocioID;
                    paramCadenaVerificadora.Parametro       = NegociosSisPackInterface.SisPack.Parametro.CadenaVerificadora;
                    paramCadenaVerificadora.Consultar();

                    string secuenciaControl = paramCadenaVerificadora.ValorString;                     //Secuencia fija elegida.

                    /* Obtenemos los dígitos de verificación de nuestra secuencia. */
                    double totalProductos = 0.00;
                    if (secuencia.Length == secuenciaControl.Length)
                    {
                        for (int i = 0; i < secuencia.Length; i++)
                        {
                            totalProductos += (int)(secuencia[i] - '0') * (int)(secuenciaControl[i] - '0');
                        }
                    }
                    int    ultimosDigitos   = (System.Int32)(totalProductos / 2);
                    string codigoValidacion = ultimosDigitos.ToString().Substring(ultimosDigitos.ToString().Length - 2, 2);

                    /* Concatenamos el código validador a nuestra secuencia y la enviamos como parámetro a la página de impresión. */
                    secuencia = secuencia + codigoValidacion;
                    string nroRendicion = rendicionSeleccionada.Datos[0].NroRendicion + " - " + rendicionSeleccionada.Datos[0].Fecha.ToShortDateString();

                    string script = "<script languaje='javascript'>\n";
                    script += "window.showModalDialog('VoucherRapiPago.aspx?secuencia=" + secuencia + "&nroRendicion=" + nroRendicion + "','','center:Yes;status:No;help:No;resizable:No;scroll:Yes;dialogHeight:580px;dialogWidth:610px');\n";
                    script += "</script>";

                    Page.RegisterClientScriptBlock("generarVoucher", script);
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }