/// <summary>
        /// Procedimiento para validar los datos del número de factura. Devuelve una exepción si los datos no son válidos
        /// </summary>
        private void ValidarDatosNumeroFactura()
        {
            // Reviso si se selecciono un tipo de guía
            if (ddlTipoFactura.SelectedIndex == -1)
            {
                // No se selecciono
                throw new Exception("Debe seleccionar un tipo de factura");
            }

            // Reviso si se ingreso un número de sucursal
            if (txtNroSucursalFactura.Text == "")
            {
                // No se ingreso
                throw new Exception("Debe ingresar un número de sucursal de la factura");
            }
            // Reviso si el número de sucursal es válido
            if (Validaciones.obtieneEntero(txtNroSucursalFactura.Text) == 0)
            {
                // El número de sucursal es inválido
                throw new Exception("El número de sucursal de la factura es inválido");
            }

            // Reviso si se ingreso un número de factura
            if (txtNroFactura.Text == "")
            {
                // No se ingreso
                throw new Exception("Debe ingresar un número de factura");
            }
            // Reviso si el número de factura es válido
            if (Validaciones.obtieneEntero(txtNroFactura.Text) == 0)
            {
                // El número de sucursal es inválido
                throw new Exception("El número de factura es inválido");
            }
            // Valido que el número de factura no se haya ingresado en las guías
            IGuia guia = GuiaFactory.GetGuia();

            guia.TipoGuia        = ddlTipoFactura.SelectedValue;
            guia.NroSucursalGuia = txtNroSucursalFactura.Text;
            guia.NroGuia         = Validaciones.obtieneEntero(txtNroFactura.Text);
            guia.Consultar();
            if (guia.GuiaID > 0)
            {
                // En número de factura ya se ingreso
                throw new Exception("El número de factura ya se ingreso");
            }
            // Valido que el número de factura no se haya ingresado en las facturas
            IFactura factura = FacturaFactory.GetFactura();

            factura.TipoGuia        = ddlTipoFactura.SelectedValue;
            factura.NroSucursalGuia = txtNroSucursalFactura.Text;
            factura.NroGuia         = Validaciones.obtieneEntero(txtNroFactura.Text);
            DsFactura dsFac = factura.GetByNroFactura();

            if (dsFac.Datos.Count > 0)
            {
                // En número de factura ya se ingreso
                throw new Exception("El número de factura ya se ingreso");
            }
        }
Example #2
0
        protected void cvNroGuia2_ServerValidate(object source, ServerValidateEventArgs args)
        {
            // Reviso si se trata de una guía válida
            args.IsValid = false;
            if (ddlTipoGuia.SelectedIndex > 0 && txtNroSucursalGuia.Text != "" && txtNroGuia.Text != "")
            {
                IGuia datosGuia = GuiaFactory.GetGuia();
                datosGuia.TipoGuia        = ddlTipoGuia.SelectedValue;
                datosGuia.NroSucursalGuia = txtNroSucursalGuia.Text;
                Int32 _auxNroGuia;
                if (Int32.TryParse(txtNroGuia.Text, out _auxNroGuia))
                {
                    datosGuia.NroGuia = _auxNroGuia;
                }
                datosGuia.Consultar();

                if (datosGuia.GuiaID > 0)
                {
                    // Se trata de una guía válida
                    args.IsValid = true;
                    GuiaID       = datosGuia.GuiaID;
                }
            }
        }
Example #3
0
        private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            usuario = (IUsuarios)Session["usuario"];

            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 conformadas
            Hashtable hGuiasIncompletas          = new Hashtable(); // Guías que se pueden recibir, pero no se completaron los datos (valor declarado, bultos y agencias)
            Hashtable hRemitosFaltaIngresarDatos = new Hashtable(); // Remitos que no se pueden conformar por que le falta ingresar los datos para facturar

            DsFacturaImpresion.DatosRow drFac;
            Hashtable hGuiasSinCompletar = new Hashtable(); // Guías que pertenecen a la HRepartidor original pero que no se ingresaron en la conformacion/observacion masiva.
            Hashtable hGuiasIngresadas   = new Hashtable(); // Guías que se ingresaron, lo utilizo para hacer una validacion al final

            // Busco los datos de la agencia
            IAgencia datosAgencia = AgenciaFactory.GetAgencia();

            datosAgencia.AgenciaID = usuario.AgenciaID;
            datosAgencia.Consultar();

            DsDatosGenerarFactura dsDatosFacturasAGenerar;

            if (Session["DatosFacturasARealizarConformacionMasivaCB"] != null)
            {
                dsDatosFacturasAGenerar = (DsDatosGenerarFactura)Session["DatosFacturasARealizarConformacionMasivaCB"];
            }
            else
            {
                dsDatosFacturasAGenerar = new DsDatosGenerarFactura();
            }
            DsFacturaImpresion          dsFAImprimir = new DsFacturaImpresion();
            DsDetalleHojaRutaRepartidor dsDetalle    = new DsDetalleHojaRutaRepartidor();
            DsHojaRutaRepartidor        dsHR         = (DsHojaRutaRepartidor)Session["dsHojaRutaRepartidor"];

            if (Session["DsDetalleHojaRutaRepartidor"] != null)
            {
                dsDetalle = (DsDetalleHojaRutaRepartidor)Session["DsDetalleHojaRutaRepartidor"];
            }

            if (Session["hGuiasIngresadas"] != null)
            {
                hGuiasIngresadas = (Hashtable)Session["hGuiasIngresadas"];
            }

            int cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text);

            for (int i = 0; i < cant; i++)
            {
                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 = "";

                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.UsuarioID       = usuario.UsuarioID;

                IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                oGuiaFactura.UsuarioID = usuario.UsuarioID;

                // si la guía existe en el sistema, verifco si está en condiciones de conformarse y si es así la conformo
                if (oGuia.GuiaID > 0)
                {
                    //SFE: 22/08/2012. Guardo las guias ingresadas para al final del foreach realizar una validacion.
                    hGuiasIngresadas.Add(oGuia.GuiaID, nroSucursal + "-" + nGuia + "-" + tGuia);

                    // Reviso si la guía esta en condiciones de ser conformada (tanto por que tiene los estados necesarios
                    // en la cabecera de la guía o en los estados historicos)
                    if (EsConformable(oGuia))
                    {
                        // Reviso si se trata de un remito por un flete pago en destino y si es asi, si esta o no facturado
                        if (tGuia == "R" && oGuia.GuiaTieneFPD() && oGuia.RemitoEstaFacturado() == false)
                        {
                            // Se trata de un remito.
                            // Reviso si tengo que observar la guía o conformarla
                            if (Utiles.Validaciones.obtieneEntero(observacionID) > 0)
                            {
                                // tengo que observar la guía
                                oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                            }

                            // Tengo que conformar la guía
                            // Reviso si la agencia es autoimpresora
                            if (datosAgencia.TipoImpresionGuiaId == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa)
                            {
                                // la agencia no es autoimpresora. marco como que no se puede conformar la guía
                                hGuiasNR.Add(oGuia.GuiaID, nroSucursal + "-" + nGuia + "-" + tGuia);
                            }
                            else
                            {
                                // La agencia es autoimpresora
                                // Reviso si se ingreso la información para facturar el remito
                                if (Validaciones.obtieneEntero(dsDatosFacturasAGenerar.Datos.Compute("count(guiaid)", "guiaid=" + oGuia.GuiaID.ToString()).ToString()) == 0)
                                {
                                    dsDatosFacturasAGenerar.Datos.Select("guiaid =" + oGuia.GuiaID.ToString());
                                    // No se ingreso la información de la factura.
                                    if (hRemitosFaltaIngresarDatos.ContainsKey(oGuia.GuiaID) == false)
                                    {
                                        hRemitosFaltaIngresarDatos.Add(oGuia.GuiaID, nroGuia);//Validaciones.obtieneEntero(nroSucursal).ToString("0000") + " - " + Validaciones.obtieneEntero(nroGuia).ToString("00000000") + "-" + tGuia);
                                        ok = false;
                                    }
                                }
                                else
                                {
                                    // Si se ingreso la información de la factura
                                    ((IGuia)oGuiaFactura).GuiaID    = oGuia.GuiaID;
                                    ((IGuia)oGuiaFactura).UsuarioID = usuario.UsuarioID;

                                    // Cargo la información para realizar la factura
                                    IFactura oFactura = CargarDatosFactura(((IGuia)oGuiaFactura).GuiaID);
                                    ((IGuia)oGuiaFactura).OFactura = oFactura;

                                    DsDetalleHojaRutaRepartidor.DatosRow dr = (DsDetalleHojaRutaRepartidor.DatosRow)dsDetalle.Datos.NewRow();
                                    dr.GuiaID        = oGuia.GuiaID;
                                    dr.ObservacionID = oGuia.ObservacionID;
                                    dr.Observaciones = sObsDescrip;
                                    dsDetalle.Datos.AddDatosRow(dr);
                                    dsDetalle.Datos.AcceptChanges();
                                }
                            }
                        }
                        else
                        {
                            // Se trata de una guía normal o de un remito de un cliente coorporativo. No de un remito por Flete pago en destino. O el remito ya esta facturado
                            ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID;

                            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;

                            // Si la agencia conectada es igual a la agencia de destino, le permito conformar
                            if ((this.AgenciaConectadaID == oGuia.AgenciaDestinoID ||
                                 ((this.AgenciaConectadaID != oGuia.AgenciaDestinoID || this.AgenciaConectadaID == agAdm) && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion) ||
                                 (this.EsGuiaDeAgenciaRedespachoReferenciada(oGuia)) ||
                                 (this.EsGuiaDePuntoRecepcionReferenciado(oGuia))))
                            {
                                oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);

                                DsDetalleHojaRutaRepartidor.DatosRow dr = (DsDetalleHojaRutaRepartidor.DatosRow)dsDetalle.Datos.NewRow();
                                //DsDetalleHojaRutaRepartidor.DatosRow dr = (DsDetalleHojaRutaRepartidor.DatosRow)dsDetalle.Datos.NewRow();
                                dr.GuiaID        = oGuia.GuiaID;
                                dr.ObservacionID = oGuia.ObservacionID;
                                dr.Observaciones = sObsDescrip;
                                dsDetalle.Datos.AddDatosRow(dr);
                                dsDetalle.Datos.AcceptChanges();
                            }
                            else
                            {
                                // No se puede conformar...
                                string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                                if (!hGuiasNR.ContainsKey(oGuia.GuiaID))
                                {
                                    hGuiasNR.Add(oGuia.GuiaID, guia);
                                    // SFE
                                    ok = false;
                                }
                            }
                        }
                    } // fin if EsConformable
                    else
                    {
                        // La guía no existe... no se puede conformar...
                        string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                        if (!hGuiasNR.ContainsKey(oGuia.GuiaID))
                        {
                            hGuiasNR.Add(oGuia.GuiaID, guia);
                        }
                        ok = false;
                    }
                }
                else
                {
                    // La guía no existe... no se puede conformar...
                    string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                    if (!hGuiasNR.ContainsKey(oGuia.GuiaID))
                    {
                        hGuiasNR.Add(oGuia.GuiaID, guia);
                    }
                    ok = false;
                }
            } // fin for


            //SFE: 22/08/2012. Recorro el detalle de las guias que componen la Hoja de Ruta del Repartidor
            foreach (DsHojaRutaRepartidor.GuiasRow item in dsHR.Guias)
            {
                //SFE: 22/08/2012. Valido que las guias que se ingresaron se correspondan y esten todas con las guias de la HRepartidor
                // Es decir verifico que en el HashTable de guias ingresadas exista el item que compone la HR, sino existe la coloco en el Hash de guias sin completar para mostrarla nuevamente.
                if (hGuiasIngresadas.ContainsKey(item.GuiaID) == false)
                {
                    ok = false;
                    hGuiasSinCompletar.Add(item.GuiaID, item.NroCompletoGuia);
                }
            }
            //SFE: 22/08/2012. Fin

            // Este dsDetalle contiene las guias ingresadas y que pertenecen a la HRepartidor, va a servir para marcarlas en la pagina de atras (la que llama).
            Session["DsDetalleHojaRutaRepartidor"] = dsDetalle;
            Session["GuiasNR"] = hGuiasNR;
            Session["hRemitosFaltaIngresarDatos"] = hRemitosFaltaIngresarDatos;
            Session["hGuiasSinCompletar"]         = hGuiasSinCompletar;
            Session["hGuiasIngresadas"]           = hGuiasIngresadas;

            StringBuilder scriptRedirect = new StringBuilder();

            if (ok)
            {
                Session["GuiasDefectuosas"]   = null;
                Session["hGuiasIngresadas"]   = null;
                Session["hGuiasSinCompletar"] = null;

                StringBuilder scriptFinal = new StringBuilder();
                scriptFinal.Append("<script type=\"text/javascript\">\n");
                scriptFinal.Append("window.close();\n");
                scriptFinal.Append("</script>");
                Page.RegisterStartupScript("DatosRegistrados", scriptFinal.ToString());
            }
            else
            {
                if (hGuiasIncompletas != null && hGuiasIncompletas.Count > 0)
                {
                    hGuias = hGuiasIncompletas;
                }

                this.txtGuiasDefectuosas.Text = "1";
                Session["GuiasDefectuosas"]   = hGuias;;

                Hashtable hGuiasNr = new Hashtable();
                if (Session["GuiasNR"] != null)
                {
                    hGuiasNr = (Hashtable)Session["GuiasNR"];

                    if (hGuiasNr.Count > 0)
                    {
                        MostrarGuiasNoConformables(hGuiasNr);
                    }
                }
                else
                {
                    this.lblMensaje.Visible = false;
                }

                if (Session["hRemitosFaltaIngresarDatos"] != null && ((Hashtable)Session["hRemitosFaltaIngresarDatos"]).Count > 0)
                {
                    // Si hay remitos que no se conformaron por falta de ingreso de datos. Muetro el mensaje de error y vuelvo a cargar los datos de estos remitos
                    MostrarRemitosSinConformarPorFaltaDatos();
                }
                if (Session["hGuiasSinCompletar"] != null && ((Hashtable)Session["hGuiasSinCompletar"]).Count > 0)
                {
                    // Si hay guias que pertenecen a la HRepartidor y no se ingresaron. Muetro el mensaje de error y vuelvo a cargar los datos de estos remitos
                    MostrarGuiasNoIngresadas();
                }
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            if (User.Identity.IsAuthenticated)
            {
                //this.SetCultura();
                string sOpcion = "consultarGuiasEmitidas";
                Menu   oMenu   = (Menu)this.FindControl("Menu1");
                this.ValidarSeguridad(oMenu, sOpcion);
            }

            volverAseguimiento = Request.QueryString["VolverA"] != null && Request.QueryString["VolverA"].ToString() == "Seguimiento";
            if (volverAseguimiento)
            {
                this.butVolver.Visible = false;
                /*Diego M  Mostra boton cerrar*/
                this.butCerrar.Visible                = true;
                this.butAtras.Visible                 = false;
                this.lblAgenciaEmisora.Visible        = true;
                this.lblAgenciaEmisoraDescrip.Visible = true;
            }
            else
            {
                this.butVolver.Visible = true;
                /*Diego M  Ocultar boton cerrar*/
                this.butCerrar.Visible                = false;
                this.butAtras.Visible                 = false;
                this.lblAgenciaEmisora.Visible        = false;
                this.lblAgenciaEmisoraDescrip.Visible = false;
            }

            if (!IsPostBack)
            {
                this.txtGuiaID.Text      = this.Request.QueryString["GuiaID"] == null ? "0" : this.Request.QueryString["GuiaID"];
                this.lblFechaActual.Text = DateTime.Today.ToString("dd/MM/yyyy");

                IAgencia oAgencia = AgenciaFactory.GetAgencia();
                oAgencia.AgenciaID = Convert.ToInt32(this.AgenciaConectadaID);
                oAgencia.ConsultarBasico();
                this.lblAgenciaConectada.Text = oAgencia.RazonSocial;
            }

            if (this.txtGuiaID.Text != "")
            {
                guiaID = Convert.ToInt32(this.txtGuiaID.Text);
                IGuia guia = GuiaFactory.GetGuia();
                guia.GuiaID = guiaID;
                guia.Consultar();
                lblSiniestro.Text  = guia.TipoSiniestroID == 1 ? "Número de siniestro:" : "Acta de infracción:";
                txtSiniestro.Text  = guia.SiniestroDescrip;
                lblFechaDigit.Text = guia.FechaDigitalizacionReal > DateTime.MinValue ? guia.FechaDigitalizacionReal.ToShortDateString() : "Guía no digitalizada aún";
                IGuiaFactura guiaConsul = GuiaFacturaFactory.GetGuiaFactura();
                ((IGuia)guiaConsul).GuiaID = guiaID;
                this.estadoGuia            = guiaConsul.ConsultarEstadoGuia();

                if ((DsGuiasFacturas)Session["DsGuiasConsul"] != null)
                {
                    dsGuiasConsul = (DsGuiasFacturas)Session["DsGuiasConsul"];
                }
                else
                {                       //viene de la consulta de seguimiento
                    dsGuiasConsul            = (DsGuiasFacturas)guiaConsul.GetGuiaFacturaOneDataSet();
                    Session["DsGuiasConsul"] = null;
                }
                this.Editar();
                this.VisualizarImagen();
                BindGridConceptosFacturacion();
            }
        }
        protected void btnFinRetencion_Click(object sender, EventArgs e)
        {
            int cant = 0;

            lblMensajeConfirma.Text         = "";
            lblMensajeConfirma.Visible      = false;
            this.lblMensajeConfirma.Visible = false;
            this.trError.Visible            = false;

            IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>();

            usuario = (IUsuarios)Session["usuario"];                                     //cargo el usuario
            cant    = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndexConfirma.Text); //la cantidad de guias cargadas
            string     Errores = "", ObDetalle = "";
            List <int> GuiasBien = new List <int>();
            string     txtFecha  = "";

            for (int i = 0; i < cant; i++)
            {
                string txt = "txtConfirma" + i;                                                //cargo el numero de la guia
                string ddl = "ddl" + i.ToString();
                string txtFechaConfirma          = "txtFechaConfirma" + i.ToString();          //cargo la fecha
                string txtDetalleUsuarioConfirma = "txtDetalleUsuarioConfirma" + i.ToString(); //cargo el detalle ingresado

                txtFecha = Request.Form[txtFechaConfirma].ToString();

                string nroGuia = Request.Form[txt].ToString();
                ObDetalle = Request.Form[txtDetalleUsuarioConfirma].ToString();
                string tGuia = "";

                //separo el numero de la guia
                tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                string nroSucursal = nroGuia.Substring(1, 4);
                string nGuia       = nroGuia.Substring(5);

                //traigo el guiaid
                IGuia oGuia = GuiaFactory.GetGuia();
                oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                oGuia.NroSucursalGuia = nroSucursal;
                oGuia.TipoGuia        = tGuia;
                oGuia.Consultar();

                //cargo el guiaid para guardar en una tabla para que ya se sepa que guia se pidio turno
                guiaidST = oGuia.GuiaID;

                try
                {
                    //valido que lo ingresado sea una fecha.
                    Convert.ToDateTime(txtFecha);
                    //valida que la fecha no sea menor a la fecha actual

                    //if (Convert.ToDateTime(txtFecha) < hoy)
                    //    if (Errores == "")
                    //    {
                    //        Errores = "Fecha mal ingresada " + txtFecha + "para la guia " + tGuia + "-" + nroSucursal + nGuia;
                    //    }
                    //    else
                    //    {
                    //        Errores = Errores + "Fecha mal ingresada " + txtFecha + "para la guia " + tGuia + "-" + nroSucursal + nGuia;
                    //    }
                }
                catch
                {
                    if (Errores == "")
                    {
                        Errores = "Debe ingresar una Fecha para la guia " + tGuia + "-" + nroSucursal + nGuia;
                    }
                    else
                    {
                        Errores = Errores + "Debe ingresar una Fecha para la guia " + tGuia + "-" + nroSucursal + nGuia;
                    }
                }
                //si tiene error que no entre que directamente muestre el error

                if (Errores == "")
                {
                    if (_guiasDominio.ValidaGuiaRetenidas(guiaidST) != 0)//quiere decir que se envio el mail esta cargado en la tabla verificar si esta en estado 1
                    {
                        if (Errores == "")
                        {
                            Errores = tGuia + "-" + nroSucursal + "-" + nGuia;
                        }
                        else
                        {
                            Errores = Errores + tGuia + "-" + nroSucursal + "-" + nGuia;
                        }
                    }
                }
                if (Errores == "")
                {
                    //guarda las guias que no traen ningun error
                    GuiasBien.Add(guiaidST);
                }
            }
            //recorre para actualizar las guias que estan bien
            try
            {
                for (int i2 = 0; i2 < GuiasBien.Count; i2++)
                {
                    _guiasDominio.ActualizaEstadoFechaRetenida(guiaidST, Convert.ToDateTime(txtFecha), usuario.UsuarioID, ObDetalle);//actualiza el estado y carga la fecha
                }
            }
            catch
            {
                string scriptString = "<script language=JavaScript>\n";
                scriptString += "alert('Error al intentar finalizar la retencion');\n";
                scriptString += "</script>";
                Page.RegisterStartupScript("scrip", scriptString);
            }
            if (Errores == "")
            {
                this.txtGuiaIndexConfirma.Text = "0";
                string scriptString = "<script language=JavaScript>\n";
                scriptString += "alert('Retención finalizada.');\n";
                scriptString += "</script>";
                Page.RegisterStartupScript("scrip", scriptString);
            }

            else
            {
                this.txtGuiaIndexConfirma.Text  = "0";
                lblMensajeConfirma.Text         = "Las siguientes guias tienen problemas para ser retenidas: " + Errores;
                lblMensajeConfirma.Visible      = true;
                this.lblMensajeConfirma.Visible = true;
                this.trError.Visible            = true;
            }
        }
        protected void btnRetencion_Click(object sender, EventArgs e)
        {
            lblMensaje.Text             = "";
            lblMensaje.Visible          = false;
            this.trMensajeError.Visible = false;

            string GuiasError = "";
            int    cant       = 0;


            IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>();

            List <Int32?> lstDatosIngresados = new List <Int32?>();//datos ya cargados
            List <Dominio.Entidades.ClienteSolicitaTurno> _datosCliente = new List <Dominio.Entidades.ClienteSolicitaTurno>();
            DsDatosMailTurnos dst = new DsDatosMailTurnos();

            usuario = (IUsuarios)Session["usuario"];                             //cargo el usuario
            cant    = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text); //la cantidad de guias cargadas

            try
            {
                if (cant == 0)
                {
                    throw new Exception("Debe ingresar al menos una guia, para realizar una retención");
                }
                else
                {
                    for (int i = 0; i < cant; i++)
                    {
                        string txt        = "txt" + i;                                 //cargo el numero de la guia
                        string ddl        = "ddl" + i.ToString();
                        string txtNroCaso = "txtnroCaso2" + i.ToString();              //cargo el numero de caso

                        string txtDetalleUsuario = "txtDetalleUsuario" + i.ToString(); //cargo el detalle ingresado
                        string observacionManual = "txtDetalleUsuarioManual" + i.ToString();
                        string Nrocaso           = Request.Form[txtNroCaso].ToString();
                        string nroGuia           = Request.Form[txt].ToString();

                        string ObDetalle = Request.Form[txtDetalleUsuario].ToString();
                        string ObservacionManualUsuario = Request.Form[observacionManual].ToString();


                        string tGuia = "";

                        //separo el numero de la guia
                        tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                        string nroSucursal = nroGuia.Substring(1, 4);
                        string nGuia       = nroGuia.Substring(5);

                        //traigo el guiaid
                        IGuia oGuia = GuiaFactory.GetGuia();
                        oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                        oGuia.NroSucursalGuia = nroSucursal;
                        oGuia.TipoGuia        = tGuia;
                        oGuia.Consultar();

                        //cargo el guiaid para guardar en una tabla para que ya se sepa que guia se pidio turno
                        guiaidST = oGuia.GuiaID;

                        try{
                            Convert.ToInt32(ObDetalle);
                        }
                        catch {
                            ObDetalle = "0";
                        }//Esto es para el caso que no ingresen numero
                         //valida la observacion
                         //ValidaaObservacionTRF


                        int EsObservacion = Convert.ToInt32(_guiasDominio.ValidaObservacionTRF(Convert.ToInt32(ObDetalle)));

                        if (EsObservacion == 1)    //quiere decir que si existe la observacion ingresada
                        {
                            //valida que este en estado en destino para que se pueda solicitar turno y que sea de la agencia
                            if (_guiasDominio.ValidaGuia(guiaidST) == "PendienteDeEntrega" || _guiasDominio.ValidaGuia(guiaidST) == "EnDestino")//trae los estados en destino o pedneinte de entrega
                            {
                                if (_guiasDominio.GuiaRetenidaEstados(guiaidST) == 1)
                                {//se puede retener
                                    IAgencia ag = AgenciaFactory.GetAgencia();
                                    ag.AgenciaID = this.AgenciaConectadaID;
                                    ag.Consultar();

                                    if (oGuia.AgenciaDestinoID != ag.AgenciaID)
                                    {//por si se intenta solicitar turno de una agencia la cual
                                        //no es el destino real.
                                        if (GuiasError == "")
                                        {
                                            GuiasError = tGuia + "-" + nroSucursal + "-" + nGuia;
                                        }
                                        else
                                        {
                                            GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia;
                                        }
                                    }
                                }
                                else
                                {//la guia ya tiene un turno, o no se encuentra en el estado correspondiente
                                    //para solicitar turno.
                                    if (GuiasError == "")
                                    {
                                        GuiasError = tGuia + "-" + nroSucursal + "-" + nGuia;
                                    }
                                    else
                                    {
                                        GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia;
                                    }
                                }

                                if (GuiasError == "")
                                {
                                    try
                                    {
                                        //guarda en la tabla de guias retenidas retencion
                                        //el clienteid va en 0, porque se penso guardar por cliente por las dudas, pero dp se cambio Fquiroga
                                        Int32?datos = _guiasDominio.InsertarGuiaEnRetencion(guiaidST, 0, Nrocaso, usuario.UsuarioID, ObDetalle, ObservacionManualUsuario);
                                        lstDatosIngresados.Add(datos);
                                    }
                                    catch (Exception ex)
                                    {
                                        ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje((ex.Message));
                                    }
                                }
                            }
                            else
                            {
                                GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia;
                            }
                        }
                        else
                        {
                            GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia + "Código de Observación Incorrecto";//no existe la observacion ingresada
                        }
                    }//termina de ver las guias que estan cargando


                    if (GuiasError == "")//si alguna guia tiene algun error
                    {
                        this.txtGuiaIndex.Text = "0";

                        string scriptString = "<script language=JavaScript>\n";
                        scriptString += "alert('Retención Exitosa');\n";
                        scriptString += "</script>";
                        Page.RegisterStartupScript("scrip", scriptString);
                    }
                    else
                    {
                        this.txtGuiaIndex.Text      = "0";
                        lblMensaje.Text             = "Las siguientes guias tienen problemas para ser retenidas: " + GuiasError;
                        lblMensaje.Visible          = true;
                        this.trMensajeError.Visible = true;
                    }
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje((ex.Message));
            }
        }
Example #7
0
        protected void btnSolicitud_Click(object sender, EventArgs e)
        {
            lblMensaje.Text             = "";
            lblMensaje.Visible          = false;
            this.trMensajeError.Visible = false;

            string GuiasError = "";
            int    cant       = 0;

            DataTable dt = new DataTable();//data table para que vaya cargando todas las guias con todos los mails repetidos

            dt.Columns.Add("GuiaID");
            dt.Columns.Add("Email");
            dt.Columns.Add("Observa");
            dt.Columns.Add("NroCaso");

            dt.Clear();//limpia los datos por las dudas que haya salido un error. para que los vuelva a cargar
            string EmailEnvia = txtMailGenerico.Text;
            string pass       = txtPass.Text;

            if (EmailEnvia == "")
            {//mail que va a responder el cliente
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Falta ingresa el mail al cual el cliente va a responder la solicitud del turno. ");
                return;
            }
            if (pass == "")
            {//mail que va a responder el cliente
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Falta ingresa  la contraseña del mail ingresado.");
                return;
            }

            IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>();

            List <Int32?> lstDatosIngresados = new List <Int32?>();//datos ya cargados
            List <Dominio.Entidades.ClienteSolicitaTurno> _datosCliente = new List <Dominio.Entidades.ClienteSolicitaTurno>();
            DsDatosMailTurnos dst = new DsDatosMailTurnos();

            usuario = (IUsuarios)Session["usuario"];                          //cargo el usuario

            cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text); //la cantidad de guias cargadas
            List <string> lstemail = new List <string>();

            try
            {
                if (cant == 0)
                {
                    throw new Exception("Debe ingresar al menos una guia, para solicitar turnos");
                }
                else
                {
                    for (int i = 0; i < cant; i++)
                    {
                        string txt               = "txt" + i;                          //cargo el numero de la guia
                        string ddl               = "ddl" + i.ToString();
                        string txtNroCaso        = "txtnroCaso2" + i.ToString();       //cargo el numero de caso
                        string txtMailCliente    = "txtMailCliente" + i.ToString();    //cargo el mail ingresado
                        string txtDetalleUsuario = "txtDetalleUsuario" + i.ToString(); //cargo el detalle ingresado

                        string   Nrocaso   = Request.Form[txtNroCaso].ToString();
                        string   nroGuia   = Request.Form[txt].ToString();
                        string   Email     = Request.Form[txtMailCliente].ToString();
                        string   ObDetalle = Request.Form[txtDetalleUsuario].ToString();
                        string[] separadas;
                        separadas = Email.Split(';');

                        string tGuia = "";



                        //separo el numero de la guia
                        tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                        string nroSucursal = nroGuia.Substring(1, 4);
                        string nGuia       = nroGuia.Substring(5);

                        //traigo el guiaid
                        IGuia oGuia = GuiaFactory.GetGuia();
                        oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                        oGuia.NroSucursalGuia = nroSucursal;
                        oGuia.TipoGuia        = tGuia;
                        oGuia.Consultar();

                        //cargo el guiaid para guardar en una tabla para que ya se sepa que guia se pidio turno
                        guiaidST = oGuia.GuiaID;
                        //valida que este en estado en destino para que se pueda solicitar turno y que sea de la agencia
                        if (_guiasDominio.ValidaGuia(guiaidST) == "PendienteDeEntrega" || _guiasDominio.ValidaGuia(guiaidST) == "EnDestino")//trae los estados en destino o pedneinte de entrega
                        {
                            IAgencia ag = AgenciaFactory.GetAgencia();
                            ag.AgenciaID = this.AgenciaConectadaID;
                            ag.Consultar();

                            if (oGuia.AgenciaDestinoID != ag.AgenciaID)
                            {//por si se intenta solicitar turno de una agencia la cual
                                //no es el destino real.
                                if (GuiasError == "")
                                {
                                    GuiasError = tGuia + "-" + nroSucursal + "-" + nGuia;
                                }
                                else
                                {
                                    GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia;
                                }
                            }
                        }
                        else
                        {//la guia ya tiene un turno, o no se encuentra en el estado correspondiente
                            //para solicitar turno.
                            if (GuiasError == "")
                            {
                                GuiasError = tGuia + "-" + nroSucursal + "-" + nGuia;
                            }
                            else
                            {
                                GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia;
                            }
                        }

                        if (GuiasError == "")
                        {
                            //si no tiene error lo que cargan que se agregue en la tabla e inserte los datos
                            //carga las guias y los mails
                            for (int im = 0; im < separadas.Count(); im++)
                            {
                                dst.Datos.AddDatosRow(Convert.ToString(guiaidST), separadas[im].ToString(), Nrocaso, ObDetalle);

                                try { _guiasDominio.DatosTurnosINS(guiaidST, separadas[im].ToString(), usuario.UsuarioID); }
                                catch { }


                                DataRow row2 = dt.NewRow();
                                if (!lstemail.Contains(separadas[im].ToString()))
                                {
                                    lstemail.Add(separadas[im].ToString());
                                }
                            }
                            try
                            {
                                //guarda en la tabla de pedido de turno
                                //el clienteid va en 0, porque se penso guardar por cliente por las dudas, pero dp se cambio Fquiroga
                                Int32?datos = _guiasDominio.InsertarSolictudDeTurno(guiaidST, 0, Nrocaso, usuario.UsuarioID, ObDetalle);
                                lstDatosIngresados.Add(datos);
                            }
                            catch (Exception ex)
                            {
                                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje((ex.Message));
                            }
                        }
                    }//termina de ver las guias que estan cargando

                    if (lstDatosIngresados.Count() > 0)//es para que no envie mail si no se inserto ningun dato
                    {
                        for (int em = 0; em < lstemail.Count(); em++)
                        {//recorre los mails cargados
                            string GuiaID        = "";
                            string observaciones = "";
                            string NroCaso       = "";
                            for (int da = 0; da < dst.Datos.Count; da++)//recore el ds que tiene todos los mails con las guias
                            {
                                if (dst.Datos[da].Email == lstemail[em].ToString())
                                { //compara si es el mismo mail
                                    //si es guarda las guias que tiene ese mail
                                    if (GuiaID == "")
                                    {
                                        GuiaID = dst.Datos[da].GuiaID;
                                    }
                                    else
                                    {
                                        GuiaID = GuiaID + "," + dst.Datos[da].GuiaID;
                                    }
                                    observaciones = dst.Datos[da].Observacion;
                                    NroCaso       = dst.Datos[da].NroCaso;
                                }
                            }
                            DataRow row2 = dt.NewRow();
                            row2["GuiaID"]  = Convert.ToString(GuiaID);
                            row2["Email"]   = lstemail[em].ToString();
                            row2["Observa"] = observaciones;
                            row2["NroCaso"] = NroCaso;

                            dt.Rows.Add(row2);
                        }

                        //para realizar el envio de mail
                        //envia la tabla con todos los datos separados por mail. Para que no se envie mas de un mail por mail. Fquiroga
                        try
                        {
                            IUsuarios usu = UsuariosFactory.GetUsuario();
                            usu.MandarMailClientesFechaEntrega(dt, EmailEnvia, pass);
                        }
                        catch
                        {
                            throw new Exception("Contraseña o Mail mal ingresado.");
                        }
                    }


                    if (GuiasError == "")//si alguna guia tiene algun error
                    {
                        this.txtGuiaIndex.Text = "0";


                        string scriptString = "<script language=JavaScript>\n";
                        scriptString += "alert('Solicitud de Turno Exitosamente');\n";
                        scriptString += "</script>";
                        Page.RegisterStartupScript("scrip", scriptString);
                    }
                    else
                    {
                        this.txtGuiaIndex.Text      = "0";
                        lblMensaje.Text             = "Las siguientes guias tienen problemas para solicitar turnos: " + GuiasError;
                        lblMensaje.Visible          = true;
                        this.trMensajeError.Visible = true;
                    }
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje((ex.Message));
            }
        }
Example #8
0
        protected void GuardarConRemito()
        {
            string lista = string.Empty;

            usuario = (IUsuarios)Session["usuario"];

            IAgencia   agencia    = AgenciaFactory.GetAgencia();
            DsAgencias dsAgencias = agencia.GetAgenciasDataSet();

            string[]  nroGuias = Session["ListaGuias"].ToString().Split(',');
            bool      ok       = true;
            Hashtable hGuias   = new Hashtable(); // Guías que no se pueden recibir, porque ya fueron recibidas
            Hashtable hGuiasNR = new Hashtable();
            // Guías que no están en condiciones de ser recibidas porque no existen en el sistema.

            string mensaje                = "";
            string mensaje2               = "";
            string nroguiaAnt             = "";
            int    loteant                = 0;
            DsGuiaServicioConfirmacion ds = (DsGuiaServicioConfirmacion)Session["GuiasSinConfirmar"];
            int cant = nroGuias.Length;// Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text);
            int nroGuia;
            DsImpresionConfirmacionServicio dsImpresion = new DsImpresionConfirmacionServicio();

            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

                if (int.TryParse(nroGuias[i], out nroGuia))
                {
                    IGuia oGuia = GuiaFactory.GetGuia();
                    oGuia.GuiaID = nroGuia;
                    oGuia.Consultar();
                    // Lógica para recibir guías
                    string tGuia = "";
                    tGuia = oGuia.TipoGuia;
                    string nroSucursal = oGuia.NroSucursalGuia;
                    string nGuia       = oGuia.NroGuia.ToString();
                    string nroRemito   = string.Empty;
                    string numero_guia = string.Empty;
                    oGuia.UsuarioID = usuario.UsuarioID;
                    oGuia.GuiaConformadaDesdeModuloRecepcionConformadas = true;
                    lista += oGuia.GuiaID + ",";
                    ICaja caja = CajaFactory.GetCajaFactory();
                    caja.CajaID = cajaID;

                    // si la guía existe en el sistema
                    if (oGuia.GuiaID > 0)
                    {
                        foreach (DsGuiaServicioConfirmacion.DatosRow dr in ds.Tables[0].Rows)
                        {
                            if (oGuia.GuiaID == dr.GuiaID && dr.Seleccionado)
                            {
                                nroRemito   = dr.NroRemito;
                                numero_guia = dr.NroGuia;
                            }
                        }
                        // Asocio la guia con el lote.
                        lote = caja.AgregarGuia(oGuia, usuario, this.AgenciaConectadaID, this.cantGuias, nroRemito);
                        if (lote == 0) // Si es igual a cero es porque la guía ya se almacenó.
                        {
                            // La guia ya se encuentra almacenada. La agrego al hashtable de guias ya almacenadas
                            string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                            if (hGuias.ContainsKey(oGuia.GuiaID) == false)
                            {
                                hGuias.Add(oGuia.GuiaID, guia);
                            }
                        }
                        else
                        {
                            if (nroRemito != string.Empty)
                            {
                                dsImpresion.Datos.AddDatosRow(numero_guia, nroRemito);
                            }
                        }
                        // Comparo para ir guardando los cambios de lote, para al finalizar mostrar un mensaje con la posicion y lote de la guia.
                        if (loteant != lote && lote != 0 && loteant != 0)
                        {
                            // Se muestran mensaje con el siguiente formato: "Lote 1. Posicion: 100. Guia: 9414100020"
                            mensaje = "Lote :  " + loteant + " .  Posicion :  " + cantGuias.ToString() + " . Guia :  " +
                                      nroguiaAnt;
                            mensaje2 = "Lote :  " + lote + " .  Posicion :  001 . Guia :  " + nroGuia;
                        }

                        if (lote != 0)
                        {
                            loteant = lote;
                        }
                        else
                        {
                            if (loteant != 0)
                            {
                                lote = loteant;
                            }
                        }
                        nroguiaAnt = nroGuia.ToString();
                    }
                    else // La guia no existe en el sistema
                    {
                        //La agrego al hashtable de guias que no existen en el sistema.
                        string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                        hGuiasNR.Add(guia, guia);
                    }
                }
            } // fin for
            Session["GuiaConfirmacion"] = dsImpresion;
            Session["GuiasNR"]          = hGuiasNR;
            Session["Guias"]            = hGuias;

            // Si todo ocurrió bien y además no hubo cambio de lote muestro el mensaje simple
            if (ok && lote != 0 && mensaje == "")
            {
                Session["GuiasDefectuosas"] = null;
                // LLAMO A LA PAGINA QUE TIENE LA LOGICA PARA LA IMPRESION
                string scriptString = "<script language='javascript'>\n";
                scriptString += "alert('Guias Almacenadas en Lote: " + lote + "'); \n";
                scriptString += "window.showModalDialog('ImprimirConfirmaciones.aspx','Imprimiendo Confirmacion...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                scriptString += "window.location.href = 'RecepcionConformadas.aspx?d=0&cajaID=" + cajaID + "';\n";
                scriptString += "</script>\n";
                Page.RegisterStartupScript("scriptOpen", scriptString);
                //Page.RegisterStartupScript("muestraMensaje",
                //                           SisPackController.GenerarJavaScripts.MostrarMensaje(
                //                               "Guias Almacenadas en Lote: " + lote,
                //                               "RecepcionEmitidas.aspx?cajaID=" + cajaID));
            }
            // Si todo ocurrió bien pero hubo cambio de lote muestro el mensaje compuesto por mensaje y mensaje2
            else if (mensaje != "")
            {
                Session["GuiasDefectuosas"] = null;
                // LLAMO A LA PAGINA QUE TIENE LA LOGICA PARA LA IMPRESION
                string scriptString = "<script language='javascript'>\n";
                scriptString += "alert('" + mensaje + "\\n" + mensaje2 + "'); \n";
                scriptString += "window.showModalDialog('ImprimirConfirmaciones.aspx','Imprimiendo Confirmacion...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                scriptString += "window.location.href = 'RecepcionConformadas.aspx?d=0&cajaID=" + cajaID + "';\n";
                scriptString += "</script>\n";
                Page.RegisterStartupScript("scriptOpen", scriptString);
                //Page.RegisterStartupScript("muestraMensaje",
                //                           SisPackController.GenerarJavaScripts.MostrarMensaje(
                //                               mensaje + "\\n" + mensaje2, "RecepcionEmitidas.aspx?cajaID=" + cajaID));
            }
            // Si no se almaceno ninguna guia no muestro mensaje. Redirecciono al load con los errores.
            else
            {
                this.txtGuiasDefectuosas.Text = "1";
                Session["GuiasDefectuosas"]   = hGuias;
                Response.Redirect("RecepcionConformadas.aspx?d=0&cajaID=" + cajaID);
            }
        }
        private DsGuiaFacturaImpresion ToDsGuiaFacturaImpresion(DsFacturaImpresion dsFac)
        {
            DsGuiaFacturaImpresion ds = new DsGuiaFacturaImpresion();

            DsGuiaFacturaImpresion.DatosRow dr = ds.Datos.NewDatosRow();

            foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows)
            {
                dr.GuiaID                      = drFac.GuiaID;
                dr.TipoGuia                    = drFac.IsTipoGuiaNull() ? "" : drFac.TipoGuia;
                dr.NroSucursalGuia             = drFac.IsNroSucursalGuiaNull() ? "" : drFac.NroSucursalGuia;
                dr.NroGuia                     = drFac.IsNroGuiaNull() ? 0 : drFac.NroGuia;
                dr.CUITAgentePago              = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CondicionIvaAgentePago      = drFac.IsCondicionIvaAgentePagoNull() ? 0 : drFac.CondicionIvaAgentePago;
                dr.NombreAgenciaDestino        = drFac.IsNombreAgenciaDestinoNull() ? "" : drFac.NombreAgenciaDestino;
                dr.FechaEmision                = drFac.IsFechaEmisionNull() ? "" : drFac.FechaEmision;
                dr.CodCliente                  = drFac.IsCodigoDestinatarioNull() ? "" : drFac.CodigoDestinatario;
                dr.NombrePersonaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.NombreEmpresaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.DireccionDestinatario       = drFac.IsDireccionNull() ? "" : drFac.Direccion;
                dr.LocalidadDestinatario       = drFac.IsLocalidadNull() ? "" : drFac.Localidad;
                dr.TelefonoDestinatario        = drFac.IsTelefonoNull() ? "" : drFac.Telefono;
                dr.NroCuitAgentePago           = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CantidadBultosTotal         = System.Convert.ToInt32(drFac.IsCantidadBultosTotalNull() ? 0 : drFac.CantidadBultosTotal);
                dr.VolumenTotal                = drFac.IsVolumenTotalNull() ? 0.00 : drFac.VolumenTotal;
                dr.ValorDeclaradoTotal         = drFac.ValorDeclaradoTotal;
                dr.ValorDeclaradoBulto         = drFac.IsValorDeclaradoBultoNull() ? 0.00 : drFac.ValorDeclaradoBulto;
                dr.PesoTotal                   = drFac.IsPesoTotalNull() ? 0.00 : drFac.PesoTotal;
                dr.ImporteFleteNacional        = drFac.IsImporteFleteNacionalNull() ? 0.00 : drFac.ImporteFleteNacional;
                dr.ImporteSeguro               = drFac.IsImporteSeguroNull() ? 0.00 : drFac.ImporteSeguro;
                dr.ImporteRetiro               = drFac.IsImporteRetiroNull() ? 0.00 : drFac.ImporteRetiro;
                dr.ImporteEntrega              = drFac.IsImporteEntregaNull() ? 0.00 : drFac.ImporteEntrega;
                dr.ImporteComisContraReembolso = drFac.IsImporteComisContraReembolsoNull() ? 0.00 : drFac.ImporteComisContraReembolso;
                dr.ImporteServicioAdicional    = drFac.IsImporteServicioAdicionalNull() ? 0.00 : drFac.ImporteServicioAdicional;
                dr.ImporteNetoTotal            = drFac.IsImporteNetoNull() ? "" : drFac.ImporteNeto;
                dr.IVAInscriptoTotal           = drFac.IsIVAInscriptoTotalNull() ? "" : drFac.IVAInscriptoTotal.ToString("#,###0.00");
                dr.ImporteTotalGuia            = drFac.IsImporteTotalNull() ? 0.00 : drFac.ImporteTotal;
                dr.EsContado                   = drFac.IsEsContadoNull() ? false : drFac.EsContado;
                dr.EsCtaCte                    = drFac.IsEsCtaCteNull() ? false : drFac.EsCtaCte;
                dr.FechaInicioActividades      = drFac.IsFechaInicioActividadesNull() ? new DateTime(1, 1, 1) : drFac.FechaInicioActividades;
                dr.NombreAgenciaOrigen         = drFac.IsNombreAgenciaOrigenNull() ? "" : drFac.NombreAgenciaOrigen;
                dr.DireccionAgenciaOrigen      = drFac.IsDireccionAgenciaDestinoNull() ? "" : drFac.DireccionAgenciaDestino;
                dr.TelefonoAgenciaOrigen       = drFac.IsTelefonoAgenciaDestinoNull() ? "" : drFac.TelefonoAgenciaDestino;
                dr.NumeroCAI                   = drFac.NumeroCAI;
                dr.Observaciones               = drFac.Observaciones;
                dr.FechaVencimientoCAI         = drFac.IsFechaVencimientoCAINull() ? new DateTime(1, 1, 1) : drFac.FechaVencimientoCAI;
                dr.TextoDorso                  = drFac.TextoDorso;
                dr.LocalidadAgenciaOrigen      = drFac.IsLocalidadAgenciaDestinoNull() ? "" : drFac.LocalidadAgenciaDestino;
                dr.ProvinciaAgenciaOrigen      = drFac.IsProvinciaAgenciaDestinoNull() ? "" : drFac.ProvinciaAgenciaDestino;
                //Se agregó porque sino EmpresaFacturacionID era 0. FQuiroga 26/05/2015
                dr.EmpresaFacturacionID = drFac.IsEmpresaFacturacionIDNull() ? 0 : drFac.EmpresaFacturacionID;

                IAgencia datosAgencia = AgenciaFactory.GetAgencia();
                //datosAgencia.AgenciaID = AgenciaConectadaID;
                IGuia guia = GuiaFactory.GetGuia();
                guia.GuiaID = Utiles.Validaciones.obtieneEntero(Session["GuiaID"].ToString());
                guia.Consultar();
                datosAgencia.AgenciaID = guia.AgenciaDestinoID;

                datosAgencia.Consultar();
                datosAgencia.Empresa.Consultar();
                dr.CUITEmpresa = datosAgencia.Empresa.NroCUIT;

                dr.FacturaAsociada = "Guía Nº: " + Validaciones.obtieneEntero(guia.NroSucursalGuia).ToString("0000") + "-" + guia.NroGuia.ToString("00000000") + "-" + NegociosSisPackInterface.SisPack.CodigoTipoGuia.R;
                dr.EsFacturaRemito = true;
                dr.PesoTotal       = drFac.IsPesoTotalNull() ? 0 : drFac.PesoTotal;
                dr.PesoBulto       = 0;
                ds.Datos.AddDatosRow(dr);
                break;
            }
            // Devuelvo la conversión del dataset
            return(ds);
        }
        private void dtgSolicitudRetiro_ItemCommand_1(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            if (e.CommandName == "Imprimir")
            {
                try
                {
                    Session["GuiaPasajeACtaCteID"] = e.Item.Cells[0].Text;
                    Session["GuiaID"] = e.Item.Cells[1].Text;

                    //controlar que no haya  sido ya impresa
                    //if (true)
                    //{
                    #region ImpresionDeComprobantes
                    // Reviso si se registro una factura por un remito
                    IFactura factura = FacturaFactory.GetFactura();
                    factura.GuiaID = Utiles.Validaciones.obtieneEntero(e.Item.Cells[1].Text);
                    factura.ClasificacionFacturaID = (int)NegociosSisPackInterface.SisPack.ClasificacionFactura.Remito;
                    DsFactura ds = factura.ObtenerFacturaDeRemitoByGuiaID();
                    if (ds.Datos.Rows.Count > 0)
                    {
                        factura.FacturaID = (int)ds.Datos.Rows[0]["FacturaID"];
                    }
                    // Reviso si se genero la factura
                    if (factura.FacturaID != 0)
                    {
                        // Si se genero
                        //VSA: Session["DatosGuia"] = ToDsGuiaFacturaImpresion(factura.GetFacturaImpresionByGuiaID());
                        Session["DatosGuia"] = ToDsGuiaFacturaImpresion(factura.GetFacturaImpresionByFacturaID());

                        // Seteo la página con la cual se va a imprimir la factura
                        IAgencia agOrigen = AgenciaFactory.GetAgencia();
                        //agOrigen.AgenciaID = AgenciaConectadaID;
                        IGuia guia = GuiaFactory.GetGuia();
                        guia.GuiaID = Utiles.Validaciones.obtieneEntero(e.Item.Cells[1].Text);
                        guia.Consultar();
                        agOrigen.AgenciaID = guia.AgenciaDestinoID;
                        agOrigen.ConsultarBasico();
                        string pagina = ObtienePaginaImpresion(agOrigen.TipoImpresionGuiaId);
                        agOrigen = null;
                        /* VSA: Controlar si el remito original se pasó a cuenta corriente -> Imprimir un nuevo remito no factura. */
                        string nombreListado = ExportarPDF(factura.GetFacturaImpresionByFacturaID());
                        factura = null;

                        // Cargo el script para imprimir el nuevo remito y la nota que se le entregará al cliente
                        string script = "<script language='javascript'>\n";
                        script += "			window.showModalDialog('"+ pagina + "','Imprimiendo Remito...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";

                        if (nombreListado != "")
                        {
                            script += "window.open('VerPlanilla.aspx?id=" + nombreListado + "', '', 'width=0,height=0,status=no,scrollbars=yes,resizable=yes');\n";
                        }
                        script += "		</script>\n";

                        ClientScript.RegisterStartupScript(GetType(), "scriptImprimirNuevoRemito", script);
                    }

                    #endregion

                    /*Actualizar la autorizacion como impresa.*/
                    IGuiaPasajeACtaCte pasaje = GuiaPasajeACtaCteFactory.GetGuiaPasajeACtaCte();
                    pasaje.GuiaPasajeACtaCteID = Utiles.Validaciones.obtieneEntero(Session["GuiaPasajeACtaCteID"].ToString());
                    pasaje.GuardarPasajeImpreso();

                    BindGrid(0);
                    //}
                    //else
                    //{
                    //    throw new Exception("El pasaje ya ha sido impreso.");
                    //}
                }
                catch (Exception ex)
                {
                    ((SisPacK.ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message);
                }
            }
        }
Example #11
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 = "";

                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)) && !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 Administracion", this.AgenciaConectadaID, usuario);
                                /*German 28/06/2016 */
                                if (oGuia.TipoGuia == "X" && EsConformable(oGuia))
                                {
                                    oGuiaFactura.Entregada("Conformada Masivamente Administracion", this.AgenciaConectadaID, usuario);
                                }
                            }
                            else
                            {
                                ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                oGuiaFactura.Ingresada("Recibida Masivamente Administracion", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID));
                            }
                        }
                        //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 Administracion", oGuia.AgenciaDestinoID, usuario);
                        }
                        else
                        {
                            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 Administracion", oGuia.AgenciaDestinoID, usuario);
                                /*German 28/06/2016 */
                                if (oGuia.TipoGuia == "X" && EsConformable(oGuia))
                                {
                                    oGuiaFactura.Entregada("Conformada Masivamente Administracion", oGuia.AgenciaDestinoID, usuario);
                                }
                            }
                            else
                            {
                                ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                oGuiaFactura.Ingresada("Recibida Masivamente Administracion", oGuia.AgenciaDestinoID, usuario, Utiles.Validaciones.obtieneEntero(observacionID));
                            }
                        }
                        ////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);
                        ////        }
                        ////        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));
                        ////        }
                        ////    }
                        ////    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);
                        ////            }
                        ////            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);

                        ////            }
                        ////            /*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);
                        }
                    }
                }
            } // fin for

            Session["GuiasNR"] = hGuiasNR;

            if (ok)
            {
                Session["GuiasDefectuosas"] = null;
                Response.Redirect("RecepcionMasivaAdministracion.aspx");
            }
            else
            {
                if (hGuiasIncompletas != null && hGuiasIncompletas.Count > 0)
                {
                    hGuias = hGuiasIncompletas;
                }

                this.txtGuiasDefectuosas.Text = "1";
                Session["GuiasDefectuosas"]   = hGuias;
                Response.Redirect("RecepcionMasivaAdministracion.aspx?d=1");
            }
        }
        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 butConfirmar_Click(object sender, System.EventArgs e)
        {
            usuario = (IUsuarios)Session["usuario"];
            int       UV;
            bool      ok       = true;
            Hashtable hGuias   = new Hashtable(); // Guías que no se pueden Observar, porque son de ag. no automatizadas o no existen
            Hashtable hGuiasNR = new Hashtable(); // Guías que no están en condiciones de ser Observadas

            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 txtODetallada = "txtODetallada" + i.ToString();//cargo la observacion
                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();
                string sobDetallada  = Request.Form[txtODetallada].ToString();


                // Lógica para observar guías
                string tGuia = "";

                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;


                if (sobDetallada == "")//quiere decir que no tiene una observacion detallada. Entonces no la guardo en la tabla ObservacionGuiaPersonalizada.FQuiroga
                {
                    // si la guía existe en el sistema, la observa
                    if (oGuia.GuiaID > 0)
                    {
                        // Reviso si la guía es observable
                        if (oGuia.EsObservable(oGuia.GuiaID, AgenciaConectadaID) && Utiles.Validaciones.obtieneEntero(observacionID) != 0)
                        {
                            //   Observar(oGuia.GuiaID, usuario.UsuarioID, Utiles.Validaciones.obtieneEntero(observacionID));
                            IGuia oGuiaObs = GuiaFactory.GetGuia();
                            oGuiaObs.GuiaID        = oGuia.GuiaID;
                            oGuiaObs.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                            oGuiaObs.UsuarioID     = usuario.UsuarioID;
                            oGuiaObs.Observar();

                            UV = oGuiaObs.GetGuiaUnidadVenta();
                            if (oGuiaObs.ObservacionID == 95 && (UV == 6 || UV == 25))
                            {
                                oGuiaObs.GuiaID = oGuia.GuiaID;
                                ConfirmarGuia(oGuia.GuiaID);
                            }
                        }
                        else
                        {
                            hGuiasNR.Add(oGuia.GuiaID, nroSucursal + "-" + nGuia + "-" + tGuia);
                        }
                    }
                    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);
                        }
                    }
                    // fin for

                    Session["GuiasNR"] = hGuiasNR;

                    if (ok)
                    {
                        Session["GuiasDefectuosas"] = null;
                        string scriptString = "<script language=JavaScript>\n";
                        scriptString += "alert('Observacion cargada correctamente');\n";
                        scriptString += "</script>";
                        Page.RegisterStartupScript("scrip", scriptString);

                        Response.Redirect("ObservacionTransito.aspx");
                    }
                    else
                    {
                        this.txtGuiasDefectuosas.Text = "1";
                        Session["GuiasDefectuosas"]   = hGuias;
                        Response.Redirect("ObservacionTransito.aspx?d=1");
                    }
                }


                else//en caso que tenga una observacion detallada
                {
                    IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>();
                    // si la guía existe en el sistema, la observa
                    if (oGuia.GuiaID > 0)
                    {
                        // Reviso si la guía es observable
                        if (oGuia.EsObservable(oGuia.GuiaID, AgenciaConectadaID) && Utiles.Validaciones.obtieneEntero(observacionID) != 0)
                        {
                            IGuia oGuiaObs = GuiaFactory.GetGuia();
                            oGuiaObs.GuiaID        = oGuia.GuiaID;
                            oGuiaObs.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                            oGuiaObs.UsuarioID     = usuario.UsuarioID;
                            oGuiaObs.Observar();


                            UV = oGuiaObs.GetGuiaUnidadVenta();
                            if (oGuiaObs.ObservacionID == 95 && (UV == 6 || UV == 25))
                            {
                                oGuiaObs.GuiaID = oGuia.GuiaID;
                                ConfirmarGuia(oGuia.GuiaID);
                            }
                            _guiasDominio.ObservacionPersonalInsert(oGuia.GuiaID, Utiles.Validaciones.obtieneEntero(observacionID), sobDetallada);
                        }
                        else
                        {
                            hGuiasNR.Add(oGuia.GuiaID, nroSucursal + "-" + nGuia + "-" + tGuia);
                        }
                    }
                    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);
                        }
                    }
                } // fin for

                Session["GuiasNR"] = hGuiasNR;

                if (ok)
                {
                    Session["GuiasDefectuosas"] = null;
                    Response.Redirect("ObservacionTransito.aspx");
                }
                else
                {
                    this.txtGuiasDefectuosas.Text = "1";
                    Session["GuiasDefectuosas"]   = hGuias;
                    Response.Redirect("ObservacionTransito.aspx?d=1");
                }
            }
        }
Example #14
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            #region User IsAuthenticated
            if (Session["Usuario"] != null)
            {
                this.usuario = (IUsuarios)Session["Usuario"];
            }

            if (User.Identity.IsAuthenticated)
            {
                //this.SetCultura();
                string sOpcion = "guiaRendicion";
                Menu   oMenu   = (Menu)this.FindControl("Menu1");
                this.ValidarSeguridad(oMenu, sOpcion);
            }
            #endregion

            volverAseguimiento = Request.QueryString["VolverA"] != null && Request.QueryString["VolverA"].ToString() == "Seguimiento";
            if (volverAseguimiento)
            {
                this.butVolver.Visible                = false;
                this.butAtras.Visible                 = true;
                this.lbl.Visible                      = false;
                this.lblAgenciaEmisora.Visible        = true;
                this.lblAgenciaEmisoraDescrip.Visible = true;
            }
            else
            {
                this.butVolver.Visible                = true;
                this.butAtras.Visible                 = false;
                this.lbl.Visible                      = true;
                this.lblAgenciaEmisora.Visible        = false;
                this.lblAgenciaEmisoraDescrip.Visible = false;
            }

            this.lblFechaActual.Text = DateTime.Today.ToString("dd/MM/yyyy");
            this.txtNroGuia.Attributes.Add("style", "display:none");
            this.butVolver.Attributes.Add("style", "display:none");

            if (this.Request.QueryString["GuiaID"] != null)
            {
                this.Consultar();
                if (volverAseguimiento)
                {
                    IGuia guia = GuiaFactory.GetGuia();
                    guia.GuiaID = Utiles.Validaciones.obtieneEntero(this.Request["GuiaID"]);
                    guia.Consultar();
                    lblFechaDigit.Text = guia.FechaDigitalizacionReal > DateTime.MinValue ? guia.FechaDigitalizacionReal.ToShortDateString() : "Guía no digitalizada aún";
                    IAgencia oAgencia = AgenciaFactory.GetAgencia();
                    oAgencia.AgenciaID = guia.AgenciaOrigenID;
                    oAgencia.ConsultarBasico();
                    this.lblAgenciaEmisoraDescrip.Text = oAgencia.SucursalDGI + " - " + oAgencia.Nombre;
                }
                VisualizarImagen();
            }
            else
            {
                if (!IsPostBack)
                {
                    this.ConsultarParametros();

                    IAgencia oAgencia = AgenciaFactory.GetAgencia();
                    oAgencia.AgenciaID = Convert.ToInt32(this.AgenciaConectadaID);
                    oAgencia.ConsultarBasico();
                    this.lblAgenciaConectadaDescrip.Text = oAgencia.RazonSocial;
                    Session["dtgGuiasRendicionSession"]  = null;
                }
                this.BinGrilla(true);
                this.chkTodos.Attributes.Add("onclick", "SelecGuias()");
                Validaciones();
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            if (Session["Usuario"] != null)
            {
                this.usuario = (IUsuarios)Session["Usuario"];
            }

            if (User.Identity.IsAuthenticated)
            {
                //this.SetCultura();
                string sOpcion = "guiaAgenciaAAgencia";
                Menu   oMenu   = (Menu)this.FindControl("Menu1");
                this.ValidarSeguridad(oMenu, sOpcion);
            }

            volverAseguimiento = Request.QueryString["VolverA"] != null && Request.QueryString["VolverA"].ToString() == "Seguimiento";
            if (volverAseguimiento)
            {
                this.butVolver.Visible = false;
                this.butAtras.Visible  = true;
                this.lbl.Visible       = false;
                this.lblAgenciaConectadaDescrip.Visible = false;
                this.lblAgenciaEmisora.Visible          = true;
                this.lblAgenciaEmisoraDescrip.Visible   = true;
            }
            else
            {
                this.butVolver.Visible = true;
                this.butAtras.Visible  = false;
                //this.lbl.Visible=false;
                this.lblAgenciaEmisora.Visible        = false;
                this.lblAgenciaEmisoraDescrip.Visible = false;
            }

            this.lblFechaActual.Text = DateTime.Today.ToString("dd/MM/yyyy");
            Page.RegisterStartupScript("init", SisPackController.GenerarJavaScripts.SetearFocoControl(this.ddlProvincia.ClientID));

            this.RegistrarBindDestinoProv();
            this.RegistrarBindDestinoLoc();
            this.RegistrarBindDestinoAg();
            this.RegistrarTomaAgencia();
            this.txtNroGuia.Attributes.Add("style", "display:none");
            this.butVolver.Attributes.Add("style", "display:none");
            this.lblAgenciaDestinoTitulo.Attributes.Add("style", "display:none");
            this.lblAgenciaDestino.Attributes.Add("style", "display:none");

            if (!IsPostBack)
            {
                IAgencia oAgencia = AgenciaFactory.GetAgencia();
                oAgencia.AgenciaID = Convert.ToInt32(this.AgenciaConectadaID);
                oAgencia.ConsultarBasico();
                this.lblAgenciaConectadaDescrip.Text = oAgencia.RazonSocial;
                this.RegistrarLlenarJS();
            }
            this.ddlProvincia.Attributes.Add("onchange", "BindDestinoLoc();BindDestinoAg()");
            this.ddlLocalidad.Attributes.Add("onchange", "BindDestinoAg();TomaAgencia()");
            this.ddlAgencia.Attributes.Add("onBlur", "TomaAgencia()");
            this.ddlAgencia.Attributes.Add("onchange", "TomaAgencia()");
            this.SetearValidadores();
            this.RegistrarJavaScript();

            if (this.Request.QueryString["GuiaID"] != null)
            {
                this.Consultar();
                if (volverAseguimiento)
                {
                    IGuia guia = GuiaFactory.GetGuia();
                    guia.GuiaID = Utiles.Validaciones.obtieneEntero(this.Request["GuiaID"]);
                    guia.Consultar();
                    lblFechaDigit.Text = guia.FechaDigitalizacionReal > DateTime.MinValue ? guia.FechaDigitalizacionReal.ToShortDateString() : "Guía no digitalizada aún";
                    IAgencia oAgencia = AgenciaFactory.GetAgencia();
                    oAgencia.AgenciaID = guia.AgenciaOrigenID;
                    oAgencia.ConsultarBasico();
                    this.lblAgenciaEmisoraDescrip.Text = oAgencia.SucursalDGI + " - " + oAgencia.Nombre;
                }
            }
            VisualizarImagen();
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"];

            // da una sola vuelta por el bucle
            foreach (DsGuiaFacturaImpresion.DatosRow dr in ds.Datos.Rows)
            {
                this.lblFecha.Text                  = DateTime.Now.ToShortDateString();
                this.lblHoraEmision.Text            = DateTime.Now.ToString("HH:mm");
                this.lblNombreEmpresaRemitente.Text = dr.IsNombreEmpresaRemitenteNull() ? "" : dr.NombreEmpresaRemitente;
                this.lblNombreRemitente.Text        = dr.IsNombreRemitenteNull() ? "" : dr.NombreRemitente;
                this.lblDireccionRemitente.Text     = dr.IsDireccionRemitenteNull() ? "" : dr.DireccionRemitente;
                this.lblLocalidadRemitente.Text     = dr.IsLocalidadRemitenteNull() ? "" : dr.LocalidadRemitente;
                this.lblProvinciaRemitente.Text     = dr.IsProvinciaRemitenteNull() ? "" : dr.ProvinciaRemitente;
                this.lblTelefonoRemitente.Text      = dr.IsTelefonoRemitenteNull() ? "" : dr.TelefonoRemitente;

                this.lblNombreEmpresaDestinatario.Text = dr.IsNombreEmpresaDestinatarioNull() ? "" : dr.NombreEmpresaDestinatario;
                this.lblNombrePersonaDestinatario.Text = dr.IsNombrePersonaDestinatarioNull() ? "" : dr.NombrePersonaDestinatario;
                this.lblDireccionDestinatario.Text     = dr.IsDireccionDestinatarioNull() ? "" : dr.DireccionDestinatario;
                this.lblLocalidadDestinatario.Text     = dr.IsLocalidadDestinatarioNull() ? "" : dr.LocalidadDestinatario;
                this.lblProvinciaDestinatario.Text     = dr.IsProvinciaDestinatarioNull() ? "" : dr.ProvinciaDestinatario;
                this.lblTelefonoDestinatario.Text      = dr.IsTelefonoDestinatarioNull() ? "" : dr.TelefonoDestinatario;

                this.lblTipoGuia.Text    = dr.IsTipoGuiaNull() ? "" : dr.TipoGuia;
                this.lblNroSucursal.Text = dr.IsNroSucursalGuiaNull() ? "" : dr.NroSucursalGuia.ToString();
                this.lblNroGuia.Text     = dr.IsNroGuiaNull() ? "" : dr.NroGuia.ToString();

                this.lblNombreAgenciaDestino.Text = dr.IsNombreAgenciaDestinoNull() ? "" : dr.NombreAgenciaDestino;

                this.lblImporteFleteNacional.Text = dr.IsImporteFleteNacionalNull() ? "" : Utiles.Formatos.Importe(dr.ImporteFleteNacional);
                this.lblImporteSeguro.Text        = dr.IsImporteSeguroNull() ? "" : Utiles.Formatos.Importe(dr.ImporteSeguro);         //Math.Round(dr.ImporteSeguro,2).ToString("0.00");
                this.lblImporteRetiro.Text        = dr.IsImporteRetiroNull() ? "" : Utiles.Formatos.Importe(dr.ImporteRetiro);
                this.lblEntrega.Text = dr.IsImporteEntregaNull() ? "" : Utiles.Formatos.Importe(dr.ImporteEntrega);
                this.lblImporteComisContraReembolso.Text = dr.IsImporteComisContraReembolsoNull() ? "" : Utiles.Formatos.Importe(dr.ImporteComisContraReembolso);
                this.lblImporteNetoTotal.Text            = dr.IsImporteNetoTotalNull() ? "" : Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(dr.ImporteNetoTotal));
                this.lblIVAInscriptoTotal.Text           = dr.IsIVAInscriptoTotalNull() ? "" : Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(dr.IVAInscriptoTotal));
                this.lblImporteRedondeoTotal.Text        = dr.IsImporteRedondeoTotalNull() ? "" : Utiles.Formatos.Importe(dr.ImporteRedondeoTotal);
                this.lblImporteTotalGuia.Text            = dr.IsImporteTotalGuiaNull() ? "" : Utiles.Formatos.Importe(dr.ImporteTotalGuia);
                this.lblImporteTotalGuia2.Text           = dr.IsImporteTotalGuiaNull() ? "" : Utiles.Formatos.Importe(dr.ImporteTotalGuia);

                this.lblCantBultosTotal.Text = dr.IsCantidadBultosTotalNull() ? "" : dr.CantidadBultosTotal.ToString();
                this.lblPesoTotal.Text       = dr.IsPesoTotalNull() ? "" : Utiles.Formatos.Importe(dr.PesoTotal);
                //this.lblPesoTotal.Text = dr.IsPesoBultoNull() ? "" : Utiles.Formatos.Importe(dr.PesoBulto);
                this.lblVolumenTotal.Text        = dr.IsVolumenTotalNull() ? "" : Utiles.Formatos.Importe(dr.VolumenTotal);
                this.lblValorDeclaradoTotal.Text = Utiles.Formatos.Importe(dr.ValorDeclaradoTotal);
                this.lblValorDeclaradoBulto.Text = dr.IsValorDeclaradoBultoNull() ? "" : Utiles.Formatos.Importe(dr.ValorDeclaradoBulto);
                this.lblObservaciones.Text       = dr.IsObservacionesNull() ? "" : dr.Observaciones;
                this.lblNroCUITAgentePago.Text   = dr.IsNroCuitAgentePagoNull() ? "" : dr.NroCuitAgentePago;

                this.lblComun.Text     = dr.IsEsServicioComunNull() ? "" : (dr.EsServicioComun ? "X" : "");
                this.lblExpreso.Text   = dr.IsEsServicioExpresoNull() ? "" : (dr.EsServicioExpreso ? "X" : "");
                this.lblAndesPack.Text = dr.IsEsAndespaqNull() ? "" : (dr.EsAndespaq ? "X" : "");
                this.lblBolsin.Text    = dr.IsEsBolsinNull() ? "" : (dr.EsBolsin ? "X" : "");

                this.lblRetiroDomicilio.Text  = dr.IsEsRetiroDomicilioNull() ? "" : (dr.EsRetiroDomicilio ? "X" : "");
                this.lblTerminal.Text         = dr.IsEsTerminalNull() ? "" : (dr.EsTerminal ? "X" : "");
                this.lblEntregaDomicilio.Text = dr.IsEsEntregaDomcilioNull() ? "" : (dr.EsEntregaDomcilio ? "X" : "");

                this.lblContado.Text         = dr.IsEsContadoNull() ? "" : (dr.EsContado ? "X" : "");
                this.lblCuentaCorriente.Text = dr.IsEsCtaCteNull() ? "" : (dr.EsCtaCte ? "X" : "");
                this.lblFleteAcobrar.Text    = dr.IsEsFleteCobrarNull() ? "" : (dr.EsFleteCobrar ? "X" : "");
                this.lblContraReembolso.Text = dr.IsEsContraReembolsoNull() ? "" : (dr.EsContraReembolso ? "X" : "");

/*
 *                              this.lblIVAResponsable.Text = dr.IsEsResponsableInscriptoNull() ? "" : (dr.EsResponsableInscripto ? "X" : "");
 *                              this.lblIVANoInscripto.Text = dr.IsEsResponsableNoInscriptoNull() ? "" : (dr.EsResponsableNoInscripto ? "X" : "");
 *
 */
                if (dr.IsEsResponsableInscriptoNull() == false)
                {
                    lblIVA.Text = "Responsable inscripto";
                }
                else
                {
                    lblIVA.Text = "Responsable no inscripto";
                }

                // Obtengo los datos de la guia
                IGuia guia = GuiaFactory.GetGuia();
                guia.GuiaID = dr.GuiaID;
                if (guia.Consultar() == true)
                {
                    // Obtengo los datos de la agencia emisora
                    IAgencia agencia = AgenciaFactory.GetAgencia();
                    agencia.AgenciaID = guia.AgenciaOrigenID;
                    agencia.Consultar();
                    // Cargo los datos de la agencia emisora
                    LblAgenciaOrigen1.Text = agencia.Nombre;
                    LblAgenciaOrigen2.Text = agencia.Nombre;
                }
                LblAgenciaDestino1.Text   = dr.IsNombreAgenciaDestinoNull() ? "" : dr.NombreAgenciaDestino;
                LblDestinatario1.Text     = dr.IsNombrePersonaDestinatarioNull() ? "" : dr.NombrePersonaDestinatario;
                LblDestinatario2.Text     = dr.IsNombrePersonaDestinatarioNull() ? "" : dr.NombrePersonaDestinatario;
                LblLocalidadDestino1.Text = dr.IsLocalidadDestinatarioNull() ? "" : dr.LocalidadDestinatario;
                LblTipoYNumeroGuia1.Text  = lblTipoGuia.Text + " " + lblNroSucursal.Text + " " + lblNroGuia.Text;
                LblTipoYNumeroGuia2.Text  = lblTipoGuia.Text + " " + lblNroSucursal.Text + " " + lblNroGuia.Text;
                LblFechaYHora1.Text       = lblFecha.Text + " " + lblHoraEmision.Text;
                LblFechaYHora2.Text       = lblFecha.Text + " " + lblHoraEmision.Text;
            }
        }