public void GetNroGuia()
        {
            Agencia agenciaO = new Agencia();

            agenciaO.AgenciaID = AgenciaOrigenID;
            try
            {
                if (agenciaO.ConsultarBasico())
                {
                    //Tengo que pasarle al metodo de buscar el ultimo NRO de guia, el tipo: A, B
                    if (agenciaO.GetProxNroGuia(this.TipoGuia))
                    {
                        //Quizas se puede insertar el proximo, el que tiene que recuperar el proximo, sabe que se trata del tipo "A" o "B".
                        //if(Convert.ToInt32(this.AgentePagoCondicionIVA) == (int)SisPack.CondicionIva.ResponsableInscripto)
                        if (this.TipoGuia == "A")
                        {
                            //this.TipoGuia = "A";
                            this.NroGuia = agenciaO.ProxNroGuiaA;                            //.NroActualGuiaA;
                        }
                        else
                        {
                            ///this.TipoGuia = "B";
                            this.NroGuia = agenciaO.ProxNroGuiaB;                            //.NroActualGuiaB;
                        }

                        this.NroSucursalGuia = agenciaO.SucursalDGI;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public bool Cerrar(IUsuarios usuario, int agenciaAdministracionID)
        {
            Agencia agen = new Agencia();

            agen.AgenciaID = this.AgenciaID;
            agen.ConsultarBasico();

            CalculoListadoConformadas listado = new CalculoListadoConformadas();

            listado.AgenciaID     = agen.AgenciaID;
            listado.LoclAgenciaID = agen.Domicilio.Localidad.LocalidadID;
            listado.DptoAgenciaID = agen.Domicilio.Localidad.Departamento.DepartamentoID;
            listado.PciaAgenciaID = agen.Domicilio.Localidad.Provincia.ProvinciaID;
            listado.PaisAgenciaID = agen.Domicilio.Localidad.Provincia.Pais.PaisID;
            //Falta la sentencia que asigna una zonaId que corresponde a la agencia.
            listado.ListadoConformadasID = this.ListadoConformadasID;
            listado.IDSesion             = this.idSession;
            this.RendicionAgenciaDataSet = listado.Generar();
            //this.hayError = listado.HayError;

            using (SqlConnection conexion = new SqlConnection())
            {
                SqlTransaction transaccion = null;
                conexion.ConnectionString = Config.ConnectionString;
                try
                {
                    conexion.Open();
                    transaccion = conexion.BeginTransaction();
                    foreach (DsRendicionesAgencias.DatosGuiasRow dr in RendicionAgenciaDataSet.DatosGuias)
                    {
                        //Config.Conexion.EjecutarSinResultados(transaccion, "RendicionAgenciaGuiasINS",
                        //	this.rendicionAgenciaID, dr.GuiaID, dr.CondicionGuiaRendidaID);
                        this.ActualizarEstadoGuia(dr.GuiaID, dr.CondicionGuiaRendidaID, "", dr.EstadoGuiaID, transaccion, usuario, agenciaAdministracionID);
                    }
                    foreach (DsRendicionesAgencias.DatosDetaGuiasRow dr in RendicionAgenciaDataSet.DatosDetaGuias)
                    {
                        this.ListadoConformadasDetalleGuiaID = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico(transaccion, "ListadoConformadasDetalleGuiasINS",
                                                                                                                      this.ListadoConformadasID, Utiles.BaseDatos.IntToSql(dr.ConceptoComisionEntidadID),
                                                                                                                      dr.GuiaFacturaDetalleConceptoID, dr.SubConceptoFacturableID, Utiles.BaseDatos.DoubleToSql(dr.PorcentajeAplicado),
                                                                                                                      dr.ImporteCalculado, dr.EstadoRendicionDetalleGuiasID, Utiles.BaseDatos.IntToSql(dr.BaseCalculoID)));
                        if (dr.EntidadComisionID != (int)SisPack.EntidadComision.AgenciaReceptora)                      //Se guardan en la Tabla Ren...GuiasEntidadComision las comi. que no son de agencia emisora o receptora ya que estas se guardan en Ren..DetalleGuias
                        {
                            Config.Conexion.EjecutarSinResultados(transaccion, "ListadoConformadasDetalleGuiasEntidadComisionINS", this.ListadoConformadasID, this.ListadoConformadasDetalleGuiaID, dr.EntidadComisionID, dr.EntidadID);
                        }
                    }
                    this.EstadoListadoConformadas = SisPack.EstadoListadoConformadas.Cerrado;
                    Config.Conexion.EjecutarSinResultados(transaccion, "CambiarEstadoListadoConformadas",
                                                          this.ListadoConformadasID, (int)this.EstadoListadoConformadas);

                    transaccion.Commit();
                    //Remover del cache las agencias. Para poder traer las agencias que tienen nuevos conceptos a cobrar
                    CacheDataManager.RemoveCacheValue(SisPack.CacheObjetos.Agencia.ToString());
                    return(true);
                }
                catch (Exception ex)
                {
                    transaccion.Rollback();
                    throw ex;
                }
            }
        }