private bool BindGrilla() { //levanto todas las guias que tenga el servicio de flete pago o de acuse y que hayan sido conformadas //por la agencia ingresada SisPackController.AdministrarGrillas.Configurar(this.dtgGuiasAsociadas, "GuiaID", this.CantidadOpciones); IGuia guia = GuiaFactory.GetGuia(); IAgencia agencia = AgenciaFactory.GetAgencia(); agencia.SucursalDGI = this.txtNroSucursal.Text; agencia.ConsultarBySucursal(); if (agencia.AgenciaID == 0) { this.txtSucursalAgenciaOrigen.Text = ""; this.txtAgenciaOrigenDescrip.Text = ""; this.txtAgenciaOrigenID.Text = ""; throw new Exception("La agencia ingresada no es válida."); } else { this.txtSucursalAgenciaOrigen.Text = this.txtNroSucursal.Text; this.txtAgenciaOrigenDescrip.Text = agencia.Nombre; this.txtAgenciaOrigenID.Text = agencia.AgenciaID.ToString(); } guia.AgenciaDestinoID = agencia.AgenciaID; //le pasa el parametro en agencia destino, pero es la de origen..... DsGuias ds = guia.GetGuiasPendAsignarGuiaRendicionNoAutomatizadas(); this.dtgGuiasAsociadas.DataSource = ds; this.dtgGuiasAsociadas.DataBind(); return(ds.Datos.Count > 0); }
private void butConfirmar_Click(object sender, System.EventArgs e) { usuario = (IUsuarios)Session["usuario"]; // Obtengo las agencias para verificar si la sucursal de la guía a recibir es válida // en el caso de guías de agencias no automatizadas IAgencia agencia = AgenciaFactory.GetAgencia(); DsAgencias dsAgencias = agencia.GetAgenciasDataSet(); bool ok = true; Hashtable hGuias = new Hashtable(); // Guías que no se pueden recibir, porque son de ag. no automatizadas o no existen Hashtable hGuiasNR = new Hashtable(); // Guías que no están en condiciones de ser recibidas Hashtable hGuiasIncompletas = new Hashtable(); // Guías que se pueden recibir, pero no se completaron los datos (valor declarado, bultos y agencias) // Verifico si el sistema está configurado para utilizar recepción libre bool recepcionLibre = false; IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio(); param.Parametro = NegociosSisPackInterface.SisPack.Parametro.RecepcionLibre; param.UnidadNegocioID = this.UnidadNegocioID; param.Consultar(); if (param.ValorString == "1") { recepcionLibre = true; } int cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text); for (int i = 0; i < cant; i++) { // ANTES DE RECIBIR CADA GUÍA HAY QUE REALIZAR LOS CONTROLES CORRESPONDIENTES // E IR GUARDANDO LAS GUÍAS QUE FALLAN, PARA LUEGO VISUALIZAR UNA LISTA DE ESAS GUÍAS string txt = "txt" + i; string obs = "Obs" + i.ToString() + "$txtObservacionID"; string obsCodigo = "Obs" + i.ToString() + "$txtCodigo"; string obsDescrip = "Obs" + i.ToString() + "$txtObsDescrip"; string ddl = "ddl" + i.ToString(); string nroGuia = Request.Form[txt].ToString(); string observacionID = Request.Form[obs].ToString(); string sObsCodigo = Request.Form[obsCodigo].ToString(); string sObsDescrip = Request.Form[obsDescrip].ToString(); // Lógica para recibir (y observar) guías string tGuia = ""; // if (nroGuia.Substring(0,1) == "3") // tGuia="A"; // else if (nroGuia.Substring(0,1) == "4") // tGuia="B"; // //else // //throw new Exception("Errores.Invalidos.CodigoBarrasLongitud"); tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1)); string nroSucursal = nroGuia.Substring(1, 4); string nGuia = nroGuia.Substring(5); IGuia oGuia = GuiaFactory.GetGuia(); oGuia.NroGuia = Utiles.Validaciones.obtieneEntero(nGuia); oGuia.NroSucursalGuia = nroSucursal; oGuia.TipoGuia = tGuia; oGuia.Consultar(); oGuia.EsRecepcion = 1; oGuia.UnidadNegocioID = this.UnidadNegocioID; //oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.UsuarioID = usuario.UsuarioID; IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura(); oGuiaFactura.UsuarioID = usuario.UsuarioID; // si la guía existe en el sistema, la recibe if (oGuia.GuiaID > 0) { // Obtengo el Id de la agencia administración IParametroUNegocio paramAdm = ParametroUNegocioFactory.GetParametroUNegocio(); paramAdm.Parametro = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion; paramAdm.UnidadNegocioID = this.UnidadNegocioID; paramAdm.Consultar(); int agAdm = Utiles.Validaciones.obtieneEntero(paramAdm.ValorString); paramAdm = null; // Reviso si la guía es recepcionable (si la guía todavia no esta en destino o si esta solicitada para devolución) //if (oGuia.EsRecepcionable || oGuia.RevisarSiTieneEstadoHistoricoBuscado(13, 2, oGuia.AgenciaDestinoID)) // Diego 29/03/2014 // Modificado para que verifique que la guia no este anulada o anulada WEB if ((oGuia.EsRecepcionable || oGuia.RevisarSiTieneEstadoHistoricoBuscado(13, 2, oGuia.AgenciaDestinoID)) && !oGuia.EsGuiaAnulada(oGuia.GuiaID)) { // La guía es recepcionable ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID; /* Diego 09/01/2013 Actualiza el stock de las unidades de logisticas */ if (oGuia.TipoGuia == "X") { IGuiaUnidadLogistica gUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica(); gUnidad.ActualizarStockGuiaUnidadLogistica(oGuia.GuiaID, this.AgenciaConectadaID, usuario.UsuarioID, 1); } if ((this.AgenciaConectadaID == oGuia.AgenciaDestinoID) || ((this.AgenciaConectadaID == oGuia.AgenciaOrigenID /*|| this.AgenciaConectadaID == agAdm*/) && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion)) { if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura && oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito) { //((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario); /*German 28/06/2016 */ if (oGuia.TipoGuia == "X" && EsConformable(oGuia)) { oGuiaFactura.Entregada("Conformada Masivamente", this.AgenciaConectadaID, usuario); } ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } else if (this.AgenciaConectadaID == agAdm && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion) { // La guía se esta recibiendo en administración y es una devolución. La cargo como que queda en archivo if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.IngresadaAArchivo("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.IngresadaAArchivo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } //SFE: Modificado para corregir el bug que no ponia en Agencia de Redespacho en la Recepcion Masiva-- Se agrego el Metodo "EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID)" else if (this.EsGuiaDeAgenciaRedespachoReferenciada(oGuia.AgenciaDestinoID, oGuia.GuiaID) || this.EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID)) { //Guia de redespacho ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Redespacho("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } else { IAgencia ag = AgenciaFactory.GetAgencia(); ag.AgenciaID = oGuia.AgenciaOrigenID; ag.ConsultarBasico(); // si la agencia que recibe en forma libre es la agencia madre, // tengo que insertar los estados correspondientes if (recepcionLibre && this.AgenciaConectadaID == ag.AgenciaMadre) { // insertar los estados de agencia madre... if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.EsRecepcion = 1; oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.UsuarioID = Utiles.Validaciones.obtieneEntero(this.UsuarioConectadoID); oGuia.Observaciones = "Recibida Masivamente"; oGuia.RecepcionAgenciaMadre(this.AgenciaConectadaID); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; //Se agregaron las siguientes dos lineas porque cuando llegaba al metodo para observar //no llegaba ni el usuario ni la observacion. FQuiroga 08/04/2016 ((IGuia)oGuiaFactura).ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); ((IGuia)oGuiaFactura).UsuarioID = (usuario.UsuarioID); oGuiaFactura.RecepcionAgenciaMadre("Recibida Masivamente", this.AgenciaConectadaID, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } else { /*SFE: Agregado para trabajar con envios desde la Web*/ if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) { /**/ /*Esto estaba 16/11/2010*/ // sino, continuar normalmente... if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) { oGuia.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario); } else { oGuia.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario); } ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) { oGuiaFactura.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); } else { oGuiaFactura.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario); } ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } /*Esto estaba 16/11/2010*/ } /*SFE:Agregado para trabajar con envios desde la Web*/ else { // Inserto los estados de "emitida" a la guía que se recibe // ya que se emitió en la web, y cuando se realizó la factura desde SisPack // se insertó el estado "Pendiente de Retiro" IObservacion observacion = ObservacionFactory.GetObservacion(); observacion.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); if (observacion.ObservacionID > 0) { observacion.Buscar(); } if (observacion.ObservacionID > 0 && observacion.TipoObservacionID == (int)NegociosSisPackInterface.SisPack.TipoObservacion.WebYPendienteRetiro) { /* VSA 14-08: Si se ha ingresado una observación del tipo WebYPendienteRetiro --> no se cambia el estado movimiento de la guía.*/ //IGuia oGuia = GuiaFactory.GetGuia(); //oGuia.GuiaID = Utiles.Validaciones.obtieneEntero(txtGuiaID.Text); oGuia.ObservacionID = observacion.ObservacionID; oGuia.UsuarioID = usuario.UsuarioID; oGuia.Observar(); oGuia = null; /********************************************************************************************************************************/ //bOK = true; } else { //bOK = oGuia.IngresoReparto(observacion.ObsDescrip, this.AgenciaConectadaID, usuario); } } /*SFE */ } } } // fin if EsRecepcionable else { // acá debería guardar las que no se pueden recibir y luego mostrarlas en un alert... string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (hGuiasNR.ContainsKey(oGuia.GuiaID) == false) { hGuiasNR.Add(oGuia.GuiaID, guia); } } } else { if (this.txtGuiasDefectuosas.Text == "0") { /*SFE: 12/01/2011. No permitir la recepcion de una guía que no se haya emitido y que la Agencia de Origen sea auto impresora*/ // Si la guía no existe en el sistema, consulto si la Agencia Origen es Autoimpresora // 1ro verifico si la sucursal ingresada es válida DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + nroSucursal + "'"); if (dr.Length > 0) // Si es una sucursal válida, ahora controlo que no este configurada como autoimpresora { DsAgencias.DatosRow drAgencia = dr[0]; string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (drAgencia.TipoImpresionGuiaId != (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) // Caso Buscado: Guia no existe en el sistema y la Agencia Origen es Autoimpresora. No dejar recibir { hGuiasNR.Add(oGuia.GuiaID, guia); } } else { // si la guía no existe en el sistema, ya sea porque fue emitida por una agencia no // automatizada o bien porque se emitió en forma manual por una automatizada // hay que visualizarla nuevamente para que se ingresen los datos correspondientes ok = false; string obsTemp = observacionID + "#" + sObsCodigo + "#" + sObsDescrip; if (hGuias.ContainsKey(nroGuia) == false) { hGuias.Add(nroGuia, obsTemp); } //this.txtGuiasDefectuosas.Text = "1"; } } else { /*SFE: 12/01/2011. No permitir la recepcion de una guía que no se haya emitido y que la Agencia de Origen sea auto impresora*/ // 1ro verifico si la sucursal ingresada es válida DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + nroSucursal + "'"); if (dr.Length > 0) // Si es una sucursal válida, ahora controlo que no este configurada como autoimpresora { DsAgencias.DatosRow drAgencia = dr[0]; if (drAgencia.TipoImpresionGuiaId != (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) // Caso Buscado: Guia no existe en el sistema y la Agencia Origen es Autoimpresora. No dejar recibir { string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (hGuiasNR.ContainsKey(oGuia.GuiaID) == false) { hGuiasNR.Add(oGuia.GuiaID, guia); } } else { string valorDeclarado = "txtValorDeclarado" + i; string bultos = "txtBultos" + i.ToString(); string agenciaDestino = "agDes" + i.ToString() + "$txtAgenciaID"; string clasificacionGuiaID = Request.Form[ddl].ToString(); double vd = Utiles.Validaciones.obtieneDouble(Request.Form[valorDeclarado].ToString()); int bultosTotales = Utiles.Validaciones.obtieneEntero(Request.Form[bultos].ToString()); int agDes = Utiles.Validaciones.obtieneEntero(Request.Form[agenciaDestino].ToString()); if (vd > 0 && bultosTotales > 0 && agDes > 0) { oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura(); ((IGuia)oGuiaFactura).TipoGuia = tGuia; ((IGuia)oGuiaFactura).NroSucursalGuia = nroSucursal; ((IGuia)oGuiaFactura).NroGuia = Utiles.Validaciones.obtieneEntero(nGuia); ((IGuia)oGuiaFactura).UnidadNegocioID = this.UnidadNegocioID; ((IGuia)oGuiaFactura).FechaEmision = new DateTime(1900, 1, 1); ((IGuia)oGuiaFactura).ClasificacionGuiaID = (NegociosSisPackInterface.SisPack.ClasificacionGuia)Utiles.Validaciones.obtieneEntero(clasificacionGuiaID); IAgencia agOrigen = AgenciaFactory.GetAgencia(); agOrigen.SucursalDGI = nroSucursal; agOrigen.ConsultarBySucursal(); ((IGuia)oGuiaFactura).AgenciaOrigenID = agOrigen.AgenciaID; ((IGuia)oGuiaFactura).AgenciaDestinoID = agDes; ((IGuia)oGuiaFactura).Observaciones = ""; ((IGuia)oGuiaFactura).EsRecepcion = 1; //((IGuia) oGuiaFactura).ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); ((IGuia)oGuiaFactura).UsuarioID = usuario.UsuarioID; ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID; oGuiaFactura.ImporteTotalGuia = 0; oGuiaFactura.ValorDeclaradoTotal = vd; oGuiaFactura.CantidadBultosTotal = bultosTotales; if ((this.AgenciaConectadaID == agDes)) { if (Utiles.Validaciones.obtieneEntero(clasificacionGuiaID) != (int)NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { oGuiaFactura.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } else if (this.EsGuiaDeAgenciaRedespachoReferenciada(agDes, oGuia.GuiaID)) { //Guia de redespacho ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Redespacho("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } else { if (Utiles.Validaciones.obtieneEntero(clasificacionGuiaID) != (int)NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.EsRecepcionLibre = recepcionLibre; oGuia.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } } else { ok = false; string obsTemp = observacionID + "#" + sObsCodigo + "#" + sObsDescrip; if (hGuiasIncompletas.ContainsKey(nroGuia) == false) { hGuiasIncompletas.Add(nroGuia, obsTemp); } } } } // fin dr.Length } } } // fin for Session["GuiasNR"] = hGuiasNR; if (ok) { Session["GuiasDefectuosas"] = null; Response.Redirect("RecepcionMasiva.aspx"); } else { if (hGuiasIncompletas != null && hGuiasIncompletas.Count > 0) { hGuias = hGuiasIncompletas; } this.txtGuiasDefectuosas.Text = "1"; Session["GuiasDefectuosas"] = hGuias; Response.Redirect("RecepcionMasiva.aspx?d=1"); } }
private void HGDataBind() { DataSet ds = new DataSet(); SisPackController.AdministrarGrillas.Configurar(this.hgAgencias, "AgenciaID", this.CantidadOpciones); if (Session["DsGuiasPendientesConsul"] == null) { string tipoGuia = this.rbtGuiaA.Checked ? "A" : this.rbtGuiaB.Checked ? "B" : "", sucGuia = this.txtSucGuia.Text != "" ? this.txtSucGuia.Text : string.Empty; DateTime fechaEmiDesde = this.txtFechaEmisionDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaEmisionDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900"), fechaEmiHasta = this.txtFechaEmisionHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaEmisionHasta.Text) : DateTime.Today, fechaRcpDesde = this.txtFechaRecepcionDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaRecepcionDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900"), fechaRcpHasta = this.txtFechaRecepcionHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaRecepcionHasta.Text) : DateTime.Today; int valorEstadia = this.txtDiasEstadia.Text != "" ? Convert.ToInt32(this.txtDiasEstadia.Text) : 0, nroGuia = this.txtNroGuia.Text != "" ? Convert.ToInt32(this.txtNroGuia.Text) : 0; IAgencia agencia = AgenciaFactory.GetAgencia(); DsAgencias dsAgencias = agencia.GetAgenciasConGuiasPendDataSet(fechaEmiDesde, fechaEmiHasta, fechaRcpDesde, fechaRcpHasta, tipoGuia, valorEstadia, nroGuia, sucGuia); DsAgencias.DatosRow[] drAgencias; if (!this.txtSucursalDGI.Text.Equals("")) { drAgencias = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + this.txtSucursalDGI.Text + "'"); } else { drAgencias = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("", "SucursalDGI"); } ds.Tables.Add(dsAgencias.Tables[0].Clone()); ds.Tables[0].TableName = "Agencias"; foreach (System.Data.DataRow row in drAgencias) { ds.Tables["Agencias"].ImportRow(row); } IGuia guia = GuiaFactory.GetGuia(); guia.TipoGuia = tipoGuia; guia.NroGuia = nroGuia; guia.NroSucursalGuia = sucGuia; DsGuias dsGuias = guia.GetGuiasPendientesDataSet(fechaEmiDesde, fechaEmiHasta, fechaRcpDesde, fechaRcpHasta, valorEstadia); DsGuias dsGuiasAux = new DsGuias(); if (!this.txtSucursalDGI.Text.Equals("")) { agencia.SucursalDGI = this.txtSucursalDGI.Text; agencia.ConsultarBySucursal(); DsGuias.DatosRow[] drGuias = (DsGuias.DatosRow[])dsGuias.Datos.Select("AgenciaDestinoID = " + agencia.AgenciaID); foreach (System.Data.DataRow row in drGuias) { dsGuiasAux.Datos.ImportRow(row); } } else { dsGuiasAux = dsGuias; } ds.Tables.Add(dsGuiasAux.Tables[0].Clone()); ds.Tables[1].TableName = "Guias"; //foreach(System.Data.DataRow row in drGuias) // ds.Tables["Guias"].ImportRow(row); DataColumn colSel = ds.Tables[1].Columns.Add(); colSel.ColumnName = "Selec"; colSel.DataType = typeof(bool); colSel.DefaultValue = true; DataColumn colGuiaOrig = ds.Tables[1].Columns.Add(); colGuiaOrig.ColumnName = "GuiaOriginal1"; colGuiaOrig.DataType = typeof(bool); colGuiaOrig.DefaultValue = true; DataColumn colAAdmin = ds.Tables[1].Columns.Add(); colAAdmin.ColumnName = "AAdmin1"; colAAdmin.DataType = typeof(bool); colAAdmin.DefaultValue = true; int index = 0; foreach (System.Data.DataRow row in dsGuiasAux.Datos.Rows) { ds.Tables["Guias"].ImportRow(row); /*SFE: Modificacion para marcar como devueltas las primeras 50 guias de la lista. Solicitado por Fabian.*/ index = ds.Tables["Guias"].Rows.Count; if (index > 50) { ds.Tables["Guias"].Rows[index - 1]["Selec"] = false; } } DataColumn dc1 = ds.Tables["Agencias"].Columns["AgenciaID"], dc2 = ds.Tables["Guias"].Columns["AgenciaDestinoID"]; DataRelation dr = new DataRelation("GuiasAgencia", dc1, dc2, false); ds.Relations.Add(dr); Session["DsGuiasPendientesConsul"] = ds; } else { ds = (DataSet)Session["DsGuiasPendientesConsul"]; } this.hgAgencias.DataSource = ds; this.hgAgencias.DataMember = "Agencias"; this.hgAgencias.DataBind(); }