private void Consultar()
        {
            int          guiaID = Convert.ToInt32(this.Request.QueryString["GuiaID"]);
            IGuiaFactura guia   = GuiaFacturaFactory.GetGuiaFactura();

            ((IGuia)guia).GuiaID = guiaID;
            DsGuiasFacturas ds = guia.GetGuiasAgenciaAAgenciaDataSet(new DateTime(1900, 1, 1), DateTime.Now);

            DsGuiasFacturas.DatosRow[] dr = (DsGuiasFacturas.DatosRow[])ds.Datos.Select("GuiaID =" + guiaID);
            if (dr.Length > 0)
            {
                char[] separador = { ',' };
                //string[] nombre = /*dr[0].IsRemitenteClienteNull() ? {''} :*/ dr[0].RemitenteCliente.Split(separador);
                string[] nombre;

                if (dr[0].RemitenteCliente.Length > 0)
                {
                    nombre = dr[0].RemitenteCliente.Split(separador);
                    this.txtNombre.Text   = nombre[1].ToString().Trim();
                    this.txtApellido.Text = nombre[0].ToString().Trim();
                }

                //nombre = /*dr[0].IsDestinatarioClienteNull() ? {''} :*/ dr[0].DestinatarioCliente.Split(separador);
                if (dr[0].DestinatarioCliente.Length > 0)
                {
                    nombre = dr[0].DestinatarioCliente.Split(separador);
                    this.txtNombreDesti.Text   = nombre[1].ToString().Trim();
                    this.txtApellidoDesti.Text = nombre[0].ToString().Trim();
                }

                this.txtObservaciones.Text = dr[0].IsObservacionesNull() ? "" : dr[0].Observaciones;

                this.lblAgenciaDestinoTitulo.Attributes.Add("style", "display:inline");
                this.lblAgenciaDestino.Attributes.Add("style", "display:inline");
                this.lblAgenciaDestino.Text = dr[0].RazonSocialDestino;
                this.lblProvincia.Attributes.Add("style", "display:none");
                this.lblLocalidad.Attributes.Add("style", "display:none");
                this.lblAgencia.Attributes.Add("style", "display:none");
                this.ddlProvincia.Attributes.Add("style", "display:none");
                this.ddlLocalidad.Attributes.Add("style", "display:none");
                this.ddlAgencia.Attributes.Add("style", "display:none");
                this.butAceptar.Attributes.Add("style", "display:none");
                this.txtApellido.Enabled      = false;
                this.txtApellidoDesti.Enabled = false;
                this.txtNombre.Enabled        = false;
                this.txtNombreDesti.Enabled   = false;
                this.txtObservaciones.Enabled = false;
                this.butVolver.Attributes.Add("style", "display:inline");
            }
        }
        private void BindGrid()
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgGuias, "GuiaComprobanteCobroID", this.CantidadOpciones);
            this.dtgGuias.AllowPaging = false;
            IGuiaFactura            guiaFactura = GuiaFacturaFactory.GetGuiaFactura();
            IGuiaComprobanteCobro   comprobante = guiaFactura.ComprobantesCobro.AddGuiaComprobanteCobro();
            DsGuiaComprobantesCobro ds          = comprobante.GetGuiasComprobantesCobro(this.AgenciaConectadaID);

            this.dtgGuias.DataSource = ds;
            if (ds.Datos.Count == 0)
            {
                this.butGuardar.Enabled = false;
            }
            this.dtgGuias.DataBind();
        }
        private void ConfirmarGuia(int _guia)
        {
            IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura();

            oGuiaFactura.UsuarioID       = usuario.UsuarioID;
            ((IGuia)oGuiaFactura).GuiaID = _guia;
            oGuiaFactura.GuiaEntrega.TipoRetiroEntregaID = NegociosSisPackInterface.SisPack.TipoRetiroEntrega.EntregaTerminal;

            /*DM 20/09/2012 Agrego agenciaorigenid */
            ((IGuia)oGuiaFactura).AgenciaOrigenID = this.AgenciaConectadaID;

            oGuiaFactura.Entregada("Conformada Por Observacion Sin Movimiento", this.AgenciaConectadaID, usuario);
            //cambia estado ubicacion por ninguno
            oGuiaFactura.CambiarUbicacion(_guia, usuario.UsuarioID, AgenciaConectadaID);
        }
Beispiel #4
0
        private void Consultar()
        {
            int          guiaID = Convert.ToInt32(this.Request.QueryString["GuiaID"]);
            IGuiaFactura guia   = GuiaFacturaFactory.GetGuiaFactura();

            ((IGuia)guia).GuiaID = guiaID;
            DsGuiasFacturas ds = guia.GetGuiasRendicionDataSet(new DateTime(1900, 1, 1), DateTime.Now);

            DsGuiasFacturas.DatosRow[] dr = (DsGuiasFacturas.DatosRow[])ds.Datos.Select("GuiaID =" + guiaID);
            if (dr.Length > 0)
            {
                char[]   separador = { ',' };
                string[] nombre    = /*dr[0].IsRemitenteClienteNull() ? {''} :*/ dr[0].RemitenteCliente.Split(separador);
                if (!dr[0].RemitenteCliente.Equals(""))
                {
                    this.txtNombre.Text   = nombre[1].ToString().Trim();
                    this.txtApellido.Text = nombre[0].ToString().Trim();
                }

                nombre = /*dr[0].IsDestinatarioClienteNull() ? {''} :*/ dr[0].DestinatarioCliente.Split(separador);
                if (!dr[0].DestinatarioCliente.Equals(""))
                {
                    this.txtNombreDesti.Text   = nombre[1].ToString().Trim();
                    this.txtApellidoDesti.Text = nombre[0].ToString().Trim();
                }

                this.txtObservaciones.Text = dr[0].IsObservacionesNull() ? "" : dr[0].Observaciones;
                this.butAceptar.Attributes.Add("style", "display:none");
                this.txtApellido.Enabled      = false;
                this.txtApellidoDesti.Enabled = false;
                this.txtNombre.Enabled        = false;
                this.txtNombreDesti.Enabled   = false;
                this.txtObservaciones.Enabled = false;
                this.chkTodos.Enabled         = false;

                oGuiaRen = GuiaRendicionFactory.GetGuiaRendicion();
                ((IGuia)oGuiaRen).GuiaID = guiaID;
                DsGuias dsGuiasRendidas = oGuiaRen.GetGuiasAsignadaGuiaRendicionByGuiaID();
                SisPackController.AdministrarGrillas.Configurar(this.dtgGuiasRendicion, "GuiaID", this.CantidadOpciones);
                this.dtgGuiasRendicion.DataSource = dsGuiasRendidas;
                this.dtgGuiasRendicion.DataBind();
                this.dtgGuiasRendicion.Enabled = false;
                this.butVolver.Attributes.Add("style", "display:inline");
            }
        }
        private void BindGrid(int currentPage)
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgGuias, "GuiaID", this.CantidadOpciones);
            DateTime fechaDesde = this.txtFechaDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900"),
                     fechaHasta = this.txtFechaHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaHasta.Text) : DateTime.Today;

            IGuiaFactura guiaFact = GuiaFacturaFactory.GetGuiaFactura();

            ((IGuia)guiaFact).AgenciaOrigenID = this.AgenciaConectadaID;
            ((IGuia)guiaFact).TipoGuia        = this.rbtGuiaA.Checked ? "A" : this.rbtGuiaB.Checked ? "B" : this.rbtGuiaR.Checked ? "R" : this.rbtGuiaE.Checked ? "E" : "";
            guiaFact.CondicionPagoID          = (NegociosSisPackInterface.SisPack.CondicionPago)(this.ddlCondicionPago.SelectedIndex > 0 ? Convert.ToInt32(this.ddlCondicionPago.SelectedValue) : 0);
            DsGuiasFacturas dsAux = new DsGuiasFacturas();
            DsGuiasFacturas ds    = new DsGuiasFacturas();

            if (this.chkGuiasFacturas.Checked)
            {
                #region GuiasFacturas
                //obtengo las guias facturas en el ds Final
                ds = guiaFact.GetGuiasFacturasDataSet(fechaDesde, fechaHasta);
                #endregion
            }

            if (this.chkGuiasAgenciaAAgencia.Checked)
            {
                #region AgenciaAAgencia
                //obtengo las guias agencia a agencia en el dsAux
                dsAux = guiaFact.GetGuiasAgenciaAAgenciaDataSet(fechaDesde, fechaHasta);
                //agrego las guias de agencia a agencia en ds Final
                foreach (DsGuiasFacturas.DatosRow row in dsAux.Tables[0].Rows)
                {
                    ds.Datos.AddDatosRow(row.GuiaID,
                                         row.IsCantidadBultosTotalNull() ? 0 : row.CantidadBultosTotal,
                                         row.IsRemitoClienteNroNull() ? "" : row.RemitoClienteNro,
                                         row.IsVolumenTotalNull() ? 0 : row.VolumenTotal,
                                         row.IsValorDeclaradoTotalNull() ? 0 : row.ValorDeclaradoTotal,
                                         row.IsTipoAgenteGuiaPagoIDNull() ? 0 : row.TipoAgenteGuiaPagoID,
                                         row.IsModalidadEntregaIDNull() ? 0 : row.ModalidadEntregaID,
                                         row.IsImporteNetoTotalNull() ? 0 : row.ImporteNetoTotal,
                                         row.IsImporteTotalGuiaNull() ? 0 : row.ImporteTotalGuia,
                                         row.IsIVAInscriptoTotalNull() ? 0 : row.IVAInscriptoTotal,
                                         row.IsTipoDocumCUITAgentePagoNull() ? 0 : row.TipoDocumCUITAgentePago,
                                         row.IsCUITAgentePagoNull() ? "" : row.CUITAgentePago,
                                         row.IsImporteRedondeoTotalNull() ? 0 : row.ImporteRedondeoTotal,
                                         row.IsCondicionIvaAgentePagoNull() ? 0 : row.CondicionIvaAgentePago,
                                         row.IsCondicionPagoIDNull() ? 0 : row.CondicionPagoID,
                                         row.IsDestinatarioClienteNull() ? "" : row.DestinatarioCliente,
                                         row.IsPesoTotalNull() ? 0 : row.PesoTotal,
                                         row.IsRemitenteClienteNull() ? "" : row.RemitenteCliente,
                                         row.IsPorcentajeIVAAplicadoNull() ? 0 : row.PorcentajeIVAAplicado,
                                         row.IsTipoGuiaNull() ? "" : row.TipoGuia,
                                         row.IsNroSucursalGuiaNull() ? 0 : row.NroSucursalGuia,
                                         row.IsNroGuiaNull() ? 0 : row.NroGuia,
                                         row.IsAgenciaDestinoIDNull() ? 0 : row.AgenciaDestinoID,
                                         row.IsAgenciaOrigenIDNull() ? 0 : row.AgenciaOrigenID,
                                         row.IsPuntoRecepcionIDNull() ? 0 : row.PuntoRecepcionID,
                                         row.IsClasificacionGuiaIDNull() ? 0 : row.ClasificacionGuiaID,
                                         row.IsFechaEmisionNull() ? new DateTime(1900, 1, 1) : row.FechaEmision,
                                         row.IsUnidadNegocioIDNull() ? 0 : row.UnidadNegocioID, 0, 0,
                                         row.IsClienteDescripNull() ? "" : row.ClienteDescrip,
                                         row.IsCondicionPagoDescripNull() ? "" : row.CondicionPagoDescrip,
                                         row.IsRazonSocialOrigenNull() ? "" : row.RazonSocialOrigen,
                                         row.IsRazonSocialDestinoNull()? "" : row.RazonSocialDestino,
                                         row.IsModalidadEntregaDescripNull() ? "" : row.ModalidadEntregaDescrip,
                                         row.IsObservacionesNull() ? "" : row.Observaciones,
                                         row.IsRemitenteClienteIDNull() ? 0 : row.RemitenteClienteID,
                                         row.IsDestinatarioClienteIDNull() ? 0 : row.DestinatarioClienteID,
                                         row.IsOrdenPlanillaRetiroNroNull() ? "" : row.OrdenPlanillaRetiroNro,
                                         row.IsSiniestroNull()? "" : row.Siniestro,
                                         row.IsFacturaIDNull() ? 0: row.FacturaID,
                                         /* SF Agregar Datos para que no de error el dataset por nro lote y cupon*/
                                         row.IsNroLoteNull() ? "": row.NroLote,
                                         row.IsNroCuponNull() ? "": row.NroCupon, row.IsMetrosCubicosNull() ? 0 : row.MetrosCubicos);
                }
                #endregion
            }

            if (this.chkGuiasRendicion.Checked)
            {
                #region GuiasRendicion
                //obtengo las guias de rendicion en el dsAux
                dsAux = guiaFact.GetGuiasRendicionDataSet(fechaDesde, fechaHasta);
                //agrego las guias de rendicion en el ds Final
                foreach (DsGuiasFacturas.DatosRow row in dsAux.Tables[0].Rows)
                {
                    ds.Datos.AddDatosRow(row.GuiaID,
                                         row.IsCantidadBultosTotalNull() ? 0 : row.CantidadBultosTotal,
                                         row.IsRemitoClienteNroNull() ? "" : row.RemitoClienteNro,
                                         row.IsVolumenTotalNull() ? 0 : row.VolumenTotal,
                                         row.IsValorDeclaradoTotalNull() ? 0 : row.ValorDeclaradoTotal,
                                         row.IsTipoAgenteGuiaPagoIDNull() ? 0 : row.TipoAgenteGuiaPagoID,
                                         row.IsModalidadEntregaIDNull() ? 0 : row.ModalidadEntregaID,
                                         row.IsImporteNetoTotalNull() ? 0 : row.ImporteNetoTotal,
                                         row.IsImporteTotalGuiaNull() ? 0 : row.ImporteTotalGuia,
                                         row.IsIVAInscriptoTotalNull() ? 0 : row.IVAInscriptoTotal,
                                         row.IsTipoDocumCUITAgentePagoNull() ? 0 : row.TipoDocumCUITAgentePago,
                                         row.IsCUITAgentePagoNull() ? "" : row.CUITAgentePago,
                                         row.IsImporteRedondeoTotalNull() ? 0 : row.ImporteRedondeoTotal,
                                         row.IsCondicionIvaAgentePagoNull() ? 0 : row.CondicionIvaAgentePago,
                                         row.IsCondicionPagoIDNull() ? 0 : row.CondicionPagoID,
                                         row.IsDestinatarioClienteNull() ? "" : row.DestinatarioCliente,
                                         row.IsPesoTotalNull() ? 0 : row.PesoTotal,
                                         row.IsRemitenteClienteNull() ? "" : row.RemitenteCliente,
                                         row.IsPorcentajeIVAAplicadoNull() ? 0 : row.PorcentajeIVAAplicado,
                                         row.IsTipoGuiaNull() ? "" : row.TipoGuia,
                                         row.IsNroSucursalGuiaNull() ? 0 : row.NroSucursalGuia,
                                         row.IsNroGuiaNull() ? 0 : row.NroGuia,
                                         row.IsAgenciaDestinoIDNull() ? 0 : row.AgenciaDestinoID,
                                         row.IsAgenciaOrigenIDNull() ? 0 : row.AgenciaOrigenID,
                                         row.IsPuntoRecepcionIDNull() ? 0 : row.PuntoRecepcionID,
                                         row.IsClasificacionGuiaIDNull() ? 0 : row.ClasificacionGuiaID,
                                         row.IsFechaEmisionNull() ? new DateTime(1900, 1, 1) : row.FechaEmision,
                                         row.IsUnidadNegocioIDNull() ? 0 : row.UnidadNegocioID, 0, 0,
                                         row.IsClienteDescripNull() ? "" : row.ClienteDescrip,
                                         row.IsCondicionPagoDescripNull() ? "" : row.CondicionPagoDescrip,
                                         row.IsRazonSocialOrigenNull() ? "" : row.RazonSocialOrigen,
                                         row.IsRazonSocialDestinoNull()? "" : row.RazonSocialDestino,
                                         row.IsModalidadEntregaDescripNull() ? "" : row.ModalidadEntregaDescrip,
                                         row.IsObservacionesNull() ? "" : row.Observaciones,
                                         row.IsRemitenteClienteIDNull() ? 0 : row.RemitenteClienteID,
                                         row.IsDestinatarioClienteIDNull() ? 0 : row.DestinatarioClienteID,
                                         row.IsOrdenPlanillaRetiroNroNull() ? "" : row.OrdenPlanillaRetiroNro,
                                         row.IsSiniestroNull() ? "": row.Siniestro,
                                         row.IsFacturaIDNull() ? 0: row.FacturaID,
                                         /* SF Agregar Datos para que no de error el dataset por nro lote y cupon*/
                                         row.IsNroLoteNull() ? "": row.NroLote,
                                         row.IsNroCuponNull() ? "" : row.NroCupon, row.IsMetrosCubicosNull() ? 0 : row.MetrosCubicos);
                }
                #endregion
            }

            //filtro el dataset completo y listo
            Session["DsGuiasConsul"] = ds;
            if (this.txtNroGuia.Text.Trim() != "" && this.txtOrdenRetiro.Text.Trim() == "")
            {
                this.dtgGuias.DataSource = (DsGuiasFacturas.DatosRow[])ds.Datos.Select("NroGuia = " + Validaciones.obtieneEntero(this.txtNroGuia.Text), "NroGuia ASC");
            }
            else if (this.txtNroGuia.Text.Trim() == "" && this.txtOrdenRetiro.Text.Trim() != "")
            {
                this.dtgGuias.DataSource = (DsGuiasFacturas.DatosRow[])ds.Datos.Select("OrdenPlanillaRetiroNro LIKE '" + this.txtOrdenRetiro.Text + "'", "NroGuia ASC");
            }
            else if (this.txtNroGuia.Text.Trim() != "" && this.txtOrdenRetiro.Text.Trim() != "")
            {
                this.dtgGuias.DataSource = (DsGuiasFacturas.DatosRow[])ds.Datos.Select("NroGuia = " + Validaciones.obtieneEntero(this.txtNroGuia.Text) + " and OrdenPlanillaRetiroNro LIKE '" + this.txtOrdenRetiro.Text + "'", "NroGuia ASC");
            }
            else
            {
                this.dtgGuias.DataSource = ds.Datos.Select("", "NroGuia ASC");
            }
            this.dtgGuias.CurrentPageIndex = currentPage;
            this.dtgGuias.DataBind();
        }
        private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            #region ActivarValidadores
            BaseValidator bv;
            //if (busqAgenciaOrigen.AgenciaID == "")

            bv         = (BaseValidator)this.phValidFecha.FindControl("valInvFecha");
            bv.Enabled = true;
            bv.Validate();
            if (!bv.IsValid)
            {
                return;
            }
            bv         = (BaseValidator)this.phValidFechaConf.FindControl("valInvFechaConf");
            bv.Enabled = true;
            bv.Validate();
            if (!bv.IsValid)
            {
                return;
            }

            if (Convert.ToInt32(this.ddlTipoFactura.SelectedValue) == Convert.ToInt32(NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura))
            {
                bv         = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validCantidadBultos");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                bv         = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validCantidadBultosInv");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                bv         = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validVolumenDeclarado");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                bv         = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validVolumenDeclaradoInv");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }
            }
            #endregion
            try
            {
                IGuia        oGuia        = GuiaFactory.GetGuia();;
                IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                if (Convert.ToInt32(this.ddlTipoFactura.SelectedValue) != Convert.ToInt32(NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura))
                {
                    oGuia.GuiaID              = this.txtGuiaID.Text == "" ? 0 : Convert.ToInt32(this.txtGuiaID.Text);
                    oGuia.TipoGuia            = this.ddlTipoGuia.SelectedValue;
                    oGuia.NroSucursalGuia     = this.txtNroSucursal.Text == "" ? "0" : this.txtNroSucursal.Text;
                    oGuia.NroGuia             = this.txtNroGuia.Text == "" ? 0 : Convert.ToInt32(this.txtNroGuia.Text);
                    oGuia.UnidadNegocioID     = this.UnidadNegocioID;
                    oGuia.FechaEmision        = new DateTime(1900, 1, 1);             //oGuia.FechaEmision=DateTime.Today;
                    oGuia.ClasificacionGuiaID = (NegociosSisPackInterface.SisPack.ClasificacionGuia)Convert.ToInt32(this.ddlTipoFactura.SelectedValue);
                    oGuia.AgenciaOrigenID     = Convert.ToInt32(this.txtAgenciaOrigenID.Text);
                    oGuia.AgenciaDestinoID    = Convert.ToInt32(this.txtAgenciaDestinoID.Text);
                    oGuia.Observaciones       = "";
                }
                else
                {
                    ((IGuia)oGuiaFactura).GuiaID              = this.txtGuiaID.Text == "" ? 0 : Convert.ToInt32(this.txtGuiaID.Text);
                    ((IGuia)oGuiaFactura).TipoGuia            = this.ddlTipoGuia.SelectedValue;
                    ((IGuia)oGuiaFactura).NroSucursalGuia     = this.txtNroSucursal.Text == "" ? "0" : this.txtNroSucursal.Text;
                    ((IGuia)oGuiaFactura).NroGuia             = this.txtNroGuia.Text == "" ? 0 : Convert.ToInt32(this.txtNroGuia.Text);
                    ((IGuia)oGuiaFactura).UnidadNegocioID     = this.UnidadNegocioID;
                    ((IGuia)oGuiaFactura).FechaEmision        = new DateTime(1900, 1, 1);              //((IGuia) oGuiaFactura).FechaEmision=DateTime.Today;
                    ((IGuia)oGuiaFactura).ClasificacionGuiaID = (NegociosSisPackInterface.SisPack.ClasificacionGuia)Convert.ToInt32(this.ddlTipoFactura.SelectedValue);
                    ((IGuia)oGuiaFactura).AgenciaOrigenID     = Convert.ToInt32(this.txtAgenciaOrigenID.Text);
                    ((IGuia)oGuiaFactura).AgenciaDestinoID    = Convert.ToInt32(this.txtAgenciaDestinoID.Text);
                    ((IGuia)oGuiaFactura).Observaciones       = "";


                    oGuiaFactura.CantidadBultosTotal = Convert.ToInt32(this.txtCantidadBultos.Text);
                    oGuiaFactura.ValorDeclaradoTotal = Convert.ToDouble(this.txtVolumenDeclarado.Text);
                    oGuiaFactura.ImporteTotalGuia    = 0;
                }

                if (Convert.ToInt32(this.ddlTipoFactura.SelectedValue) != Convert.ToInt32(NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura))
                {
                    oGuia.Entregada(this.txtObservaciones.Text, this.AgenciaConectadaID, this.usuario, Convert.ToDateTime(this.txtFechaConf.Text));
                }
                else
                {
                    oGuiaFactura.Entregada(this.txtObservaciones.Text, this.AgenciaConectadaID, this.usuario, Convert.ToDateTime(this.txtFechaConf.Text));
                }

                if (this.txtListadoConformadasID.Text == "")
                {
                    IListadoConformadas listado = ListadoConformadasFactory.GetListadoConformadas();
                    listado.AgenciaID = Convert.ToInt32(this.txtAgenciaDestinoID.Text);
                    listado.Fecha     = System.DateTime.Today;
                    listado.Guardar();
                    this.txtListadoConformadasID.Text = listado.ListadoConformadasID.ToString();
                }

                IListadoConformadasGuia listadoGuia = ListadoConformadasGuiaFactory.GetListadoConformadasGuia();
                listadoGuia.ListadoConformadasID = Convert.ToInt32(this.txtListadoConformadasID.Text);
                listadoGuia.GuiaID = oGuia.GuiaID == 0 ? ((IGuia)oGuiaFactura).GuiaID :oGuia.GuiaID;
                listadoGuia.Guardar();

                StringBuilder scriptString = new StringBuilder();
                scriptString.Append("<script language='javascript'>\n");
                //scriptString.Append("window.location.href = 'ListadoConformadas.aspx?ListadoConformadasID="+this.txtListadoConformadasID.Text+ "&AgenciaID="+this.txtAgenciaDestinoID.Text +"&amp;index=0';\n");
                scriptString.Append("window.returnValue = true;\n");
                scriptString.Append("window.close();\n");
                scriptString.Append("</script>");
                Page.RegisterClientScriptBlock("scrptIngresoGuia", scriptString.ToString());
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.FindControl("Error")).setMensaje(this.TraducirTexto(ex.Message));
            }
        }
Beispiel #7
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();
            }
        }
        private void butGuardar_Click(object sender, System.EventArgs e)
        {
            int checkeados = 0;

            try
            {
                IGuiaFactura guiaFactura = GuiaFacturaFactory.GetGuiaFactura();

                if (this.dtgGuias.Items.Count > 0)
                {
                    foreach (DataGridItem item in this.dtgGuias.Items)
                    {
                        if (((CheckBox)item.FindControl("chkSeleccion")).Checked)
                        {
                            checkeados = checkeados + 1;
                            RequiredFieldValidator req1 = (RequiredFieldValidator)((PlaceHolder)item.FindControl("phValidConceptoNro")).FindControl("ReqConceptoNro");
                            req1.Enabled = true;
                            req1.Validate();
                            if (!req1.IsValid)
                            {
                                return;
                            }

                            BaseValidator valid = (BaseValidator)((PlaceHolder)item.FindControl("phValidConceptoNro")).FindControl("validConceptoNro");
                            valid.Enabled = true;
                            valid.Validate();
                            if (!valid.IsValid)
                            {
                                return;
                            }

                            IGuiaComprobanteCobro comprobante = guiaFactura.ComprobantesCobro.AddGuiaComprobanteCobro();
                            comprobante.GuiaComprobanteCobroID = Convert.ToInt32(((Label)item.FindControl("lblGuiaComprobanteCobroID")).Text);
                            comprobante.BoletaDepositoNro      = Convert.ToInt32(((TextBox)item.FindControl("txtConceptoNro")).Text);
                            comprobante.GuardarNroComprobante();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
                try
                {
                    mensaje = this.TraducirTexto(ex.Message);
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }

            if (checkeados == 0)
            {
                string msj    = "Porfavor, seleccione alguna guía. ";
                string script = "<script language='javascript'>\n";
                script += "alert('" + msj + "');";
                script += "window.location.href = 'GuiasConformadasDatos.aspx';\n";
                script += "</script>";
                Page.RegisterStartupScript("scriptOk", script);
            }
            else
            {
                string msj    = "Los datos se guardaron correctamente. ";
                string script = "<script language='javascript'>\n";
                script += "alert('" + msj + "');";
                script += "window.location.href = 'GuiasConformadasDatos.aspx';\n";
                script += "</script>";
                Page.RegisterStartupScript("scriptOk", script);
            }
        }
Beispiel #10
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");
            }
        }
Beispiel #12
0
        private void butBuscar_Click(object sender, System.EventArgs e)
        {
            try
            {
                DsGuias   ds;
                DsFactura dsFactura;
                ds = BuscarPorTipo();

                if (ds.Datos.Count == 0)
                {
                    dsFactura = BuscarFacturaPorTipo();
                    if (dsFactura.Datos.Count > 0)
                    {
                        DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFactura.Datos.Rows[0];
                        if (drFac.AgenciaID != 0)
                        {
                            IAgencia agenciaOrigen = AgenciaFactory.GetAgencia();
                            agenciaOrigen.AgenciaID = drFac.AgenciaID;
                            if (agenciaOrigen.Consultar())
                            {
                                this.txtAgenciaOrigenID.Text       = agenciaOrigen.AgenciaID.ToString();
                                this.txtAgenciaOrigenDescrip.Text  = agenciaOrigen.RazonSocial;
                                this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.SucursalDGI;
                            }
                        }

                        this.txtFacturaID.Text = drFac.FacturaID.ToString();
                        this.txtGuiaID.Text    = drFac.GuiaID.ToString();
                        IGuiaFactura guiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                        ((IGuia)guiaFactura).GuiaID = drFac.GuiaID;
                        DsGuiasFacturas dsGuiaFactura = guiaFactura.GetGuiaFacturaOneDataSet();
                        if (dsGuiaFactura.Datos.Count > 0)
                        {
                            DsGuiasFacturas.DatosRow drGuiaFactura = (DsGuiasFacturas.DatosRow)dsGuiaFactura.Datos.Rows[0];
                            this.txtCantidadBultos.Text   = drGuiaFactura.CantidadBultosTotal.ToString();
                            this.txtVolumenDeclarado.Text = drGuiaFactura.ValorDeclaradoTotal.ToString();
                        }
                    }
                    else
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La guía ingresada no existe en el sistema");
                    }
                }
                else
                {
                    DsGuias.DatosRow[] drLista = (DsGuias.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID);
                    DsGuias.DatosRow   dr      = drLista[0];
                    if (dr.AgenciaOrigenID != 0)
                    {
                        IAgencia agenciaOrigen = AgenciaFactory.GetAgencia();
                        agenciaOrigen.AgenciaID = dr.AgenciaOrigenID;
                        if (agenciaOrigen.Consultar())
                        {
                            this.txtAgenciaOrigenID.Text       = agenciaOrigen.AgenciaID.ToString();
                            this.txtAgenciaOrigenDescrip.Text  = agenciaOrigen.RazonSocial;
                            this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.SucursalDGI;
                        }
                    }
                    if (dr.IsAgenciaDestinoIDNull())
                    {
                        IPuntoRecepcion punto = PuntoRecepcionFactory.GetPuntoRecepcion();
                        punto.PuntoRecepcionID = dr.PuntoRecepcionID;
                        if (punto.Consultar())
                        {
                            this.lblAgenciaDestino.Text           = this.TraducirTexto("Etiquetas.PuntoRecepcion");
                            this.txtSucursalAgenciaDestino.Text   = punto.RazonSocial;
                            this.txtAgenciaDestinoDescrip.Visible = false;
                        }
                    }
                    else
                    {
                        IAgencia agenciaDestino = AgenciaFactory.GetAgencia();
                        agenciaDestino.AgenciaID    = dr.AgenciaDestinoID;
                        this.lblAgenciaDestino.Text = this.TraducirTexto("Etiquetas.AgenciaDestino");
                        if (agenciaDestino.Consultar())
                        {
                            this.txtAgenciaDestinoID.Text       = agenciaDestino.AgenciaID.ToString();
                            this.txtAgenciaDestinoDescrip.Text  = agenciaDestino.RazonSocial;
                            this.txtSucursalAgenciaDestino.Text = agenciaDestino.SucursalDGI;
                        }
                    }

                    this.txtGuiaID.Text           = dr.GuiaID.ToString();
                    this.txtCantidadBultos.Text   = dr.CantidadBultosTotal.ToString();
                    this.txtVolumenDeclarado.Text = dr.ValorDeclaradoTotal.ToString();
                }

                this.tblComprobante.Visible = true;

                this.butConfirmar.Enabled = true;

                this.BindGrilla();
                this.BindGrillaComprobantes();

                this.butConfirmar.Enabled = true;
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
        protected void DevolverGuia(object sender, DataGridCommandEventArgs e)
        {
            try
            {
                bool hayError = false;
                GuiaOriginalID = Convert.ToInt32(this.dtgGuiasNuevas.DataKeys[e.Item.ItemIndex]);
                DsGuias            ds = (DsGuias)Session["DsGuiasConsul"];
                DsGuias.DatosRow[] dr = (DsGuias.DatosRow[])ds.Datos.Select("GuiaID = " + GuiaOriginalID);

                if (dr.Length > 0)
                {
                    DsGuiasFacturas dsGuiasDet;
                    //recupera todas las guías y sus correspondientes detalles
                    if (Session["DsGuiasDetalles"] == null)
                    {
                        IGuiaFactura guiaFact = GuiaFacturaFactory.GetGuiaFactura();
                        ((IGuia)guiaFact).AgenciaDestinoID = this.AgenciaConectadaID;
                        ((IGuia)guiaFact).TipoGuia         = this.rbtGuiaA.Checked ? "A" : this.rbtGuiaB.Checked ? "B" : "";
                        dsGuiasDet = guiaFact.GetGuiasFacturasAgDestinoDataSet(fechaDesde, fechaHasta);

                        Session["DsGuiasDetalles"] = dsGuiasDet;
                    }
                    else
                    {
                        dsGuiasDet = (DsGuiasFacturas)Session["DsGuiasDetalles"];
                    }

                    if (Session["AgenciaConectada"] == null)
                    {
                        oAgencia           = AgenciaFactory.GetAgencia();
                        oAgencia.AgenciaID = Convert.ToInt32(this.AgenciaConectadaID);
                        oAgencia.ConsultarBasico();
                    }
                    else
                    {
                        oAgencia = (IAgencia)Session["AgenciaConectada"];
                    }



                    //CARGO DATOS DE LA CABEZA DE LA FACTURA
                    DsGuiasFacturas.DatosRow[] drFactCab = (DsGuiasFacturas.DatosRow[])dsGuiasDet.Datos.Select("GuiaID = " + GuiaOriginalID + " AND PesoTotal > 0");
                    if (drFactCab.Length > 0)
                    {
                        //Parámetro: ID de cliente correspondiente a ANDESMAR
                        IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio();
                        param.UnidadNegocioID = this.UnidadNegocioID;
                        param.Parametro       = NegociosSisPackInterface.SisPack.Parametro.ClienteDeAdministracion;
                        param.Consultar();

                        // obtengo los datos de la agencia destino, para guardar el número correcto de la guía
                        // que se devuelve

                        IAgencia agDestino = AgenciaFactory.GetAgencia();
                        agDestino.AgenciaID = drFactCab[0].AgenciaOrigenID;
                        agDestino.ConsultarBasico();

                        guiaNueva = AdministrarGuiasFactory.GetAdministrarGuias();
                        guiaNueva.AgenciaDestinoID = drFactCab[0].AgenciaOrigenID;
                        guiaNueva.AgenciaOrigenID  = drFactCab[0].AgenciaDestinoID;
                        //si la unidad de venta tiene servicio flete pago en destino,
                        //la condición de pago siempre es contado.
                        guiaNueva.CondicionPagoID                = (NegociosSisPackInterface.SisPack.CondicionPago)drFactCab[0].CondicionPagoID;
                        guiaNueva.AgenteGuiaPagoID               = NegociosSisPackInterface.SisPack.TipoAgenteGuia.Destinatario;
                        guiaNueva.AgentePagoCondicionIVA         = (NegociosSisPackInterface.SisPack.CondicionIva)drFactCab[0].CondicionIvaAgentePago;
                        guiaNueva.AgentePagoEsClienteCorporativo = true;
                        guiaNueva.ClienteCorp.ClienteID          = drFactCab[0].RemitenteClienteID;
                        guiaNueva.CantBultos = drFactCab[0].CantidadBultosTotal;
                        guiaNueva.ClienteCorpRemitente.ClienteID = Convert.ToInt32(param.ValorString);
                        guiaNueva.ClienteCorpRemitente.Consultar();
                        guiaNueva.ClienteCorpDestinatario.ClienteID = drFactCab[0].RemitenteClienteID;
                        guiaNueva.ClienteCorpDestinatario.Consultar();

                        guiaNueva.NroCUITAgentePago = drFactCab[0].CUITAgentePago;
                        guiaNueva.NroGuia           = drFactCab[0].NroGuia;
                        guiaNueva.NroSucursalGuia   = oAgencia.SucursalDGI;
                        guiaNueva.Observaciones     = "Devolución guía número " + Utiles.Formatos.CerosIzq(Convert.ToInt32(agDestino.SucursalDGI), 4) + "-" + Utiles.Formatos.CerosIzq(drFactCab[0].NroGuia, 8) + "-" + drFactCab[0].TipoGuia;
                        //guiaNueva.Observaciones = "Devolución guía número " + Utiles.Formatos.CerosIzq(Convert.ToInt32(oAgencia.SucursalDGI), 4) + "-" + Utiles.Formatos.CerosIzq(drFactCab[0].NroGuia, 8) + "-" + drFactCab[0].TipoGuia;
                        guiaNueva.PesoTotal        = drFactCab[0].PesoTotal;
                        guiaNueva.PesoKgReal       = drFactCab[0].PesoTotal;
                        guiaNueva.UnidadNegocioID  = drFactCab[0].UnidadNegocioID;
                        guiaNueva.ValorDeclarado   = drFactCab[0].ValorDeclaradoTotal;
                        guiaNueva.VolumenTotal     = drFactCab[0].VolumenTotal;
                        guiaNueva.RemitoClienteNro = drFactCab[0].RemitoClienteNro.ToString();

                        //CARGO DATOS DEL DETALLE DE LA FACTURA
                        DsGuiasFacturas.DatosDetalleRow[] drFactDet = (DsGuiasFacturas.DatosDetalleRow[])dsGuiasDet.DatosDetalle.Select("GuiaID = " + GuiaOriginalID);
                        if (drFactDet.Length > 0)
                        {
                            guiaNueva.TipoBultoID = (NegociosSisPackInterface.SisPack.TipoBulto)drFactDet[0].TipoBultoID;

                            //el try se usa en caso de que el seguro venga con DBNull
                            //en cuyo caso se le coloca en cero.
                            try
                            {
                                guiaNueva.SeguroTantoPorMil = Convert.ToDouble(drFactDet[0].SeguroTantoPorMil);
                            }
                            catch (Exception)
                            {
                                guiaNueva.SeguroTantoPorMil = 0;
                            }
                            guiaNueva.GuiaDevueltaID = drFactDet[0].GuiaID;


                            //Si la u. de vta de la guía a devolver tiene servicio ContraReembolso, o Acuse de recibo
                            //regresa como encomienda estándar sin servicio adicional.
                            IUnidadVenta uVta = UnidadVentaFactory.GetUnidadVenta();
                            DsUnidadVentaTEntregaProductoServicio            dsUV  = uVta.GetServiciosDisponiblesByProductoTEntregaAgenciaDataSet();
                            DsUnidadVentaTEntregaProductoServicio.DatosRow[] drsUV = (DsUnidadVentaTEntregaProductoServicio.DatosRow[])dsUV.Datos.Select("UnidadVentaID = " + drFactDet[0].UnidadVentaID
                                                                                                                                                         + " AND (ServicioID = " + (int)NegociosSisPackInterface.SisPack.Servicio.ContraReembolso + " OR ServicioID = " + (int)NegociosSisPackInterface.SisPack.Servicio.AcuseRecibo + ")");
                            if (drsUV.Length > 0)
                            {
                                //Parámetro: ID Unidad de venta correspondiente a Encomienda estándar sin servicio adicional
                                param.Parametro = NegociosSisPackInterface.SisPack.Parametro.EncomiendaEstandarSinServAdicional;
                                param.Consultar();
                                guiaNueva.UnidadVentaID = Convert.ToInt32(param.ValorString);
                            }
                            else
                            {
                                guiaNueva.UnidadVentaID = drFactDet[0].UnidadVentaID;
                            }


                            //la guia debe devolverse con la modalidad de entrega inversa a la original
                            // siempre y cuando esa modalidad estè contemplada en el convenio del cliente
                            // para la unidad de venta con la que sale la guia nueva
                            IAdministrarGuias guiaOriginal = AdministrarGuiasFactory.GetAdministrarGuias();
                            guiaOriginal.GuiaID = drFactCab[0].GuiaID;
                            guiaOriginal.ClienteCorp.ClienteID = drFactCab[0].RemitenteClienteID;
                            guiaOriginal.UnidadVentaID         = guiaNueva.UnidadVentaID;
                            guiaOriginal.ModalidadEntregaID    = guiaOriginal.GetModalidadEntrega();
                            guiaOriginal.AgenciaOrigenID       = drFactCab[0].AgenciaOrigenID;

                            /*if(guiaOriginal.GetTieneModalidad((int)NegociosSisPackInterface.SisPack.ModalidadEntrega.PuertaPuerta) && guiaOriginal.GetTieneModalidad((int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalPuerta))
                             *      guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.PuertaPuerta;
                             * if(guiaOriginal.GetTieneModalidad((int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalPuerta))
                             *      guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalPuerta;
                             * else if (guiaOriginal.GetTieneModalidad((int)NegociosSisPackInterface.SisPack.ModalidadEntrega.PuertaPuerta))
                             *      guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.PuertaPuerta;
                             * else
                             *      guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalTerminal;*/

                            //para que vuelva con entrega a domicilio hay 1 condicion:
                            // - que el cliente tenga en el convenio la modalidad de entrega a domic para
                            //	la UV con la que sale la guia para el destino de la guia q vuelve
                            // nota: en ultima instancia vuelve Ter-Ter indptemente de que esté o no en el convenio del cliente

                            if (guiaOriginal.GetTieneModalidad((int)NegociosSisPackInterface.SisPack.ModalidadEntrega.PuertaTerminal) || guiaOriginal.GetTieneModalidad((int)NegociosSisPackInterface.SisPack.ModalidadEntrega.PuertaPuerta))
                            {
                                guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalPuerta;
                            }
                            else
                            {
                                guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalTerminal;
                            }

                            /*if(guiaOriginal.ModalidadEntregaID == (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.PuertaTerminal && guiaOriginal.GetTieneModalidad((int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalPuerta))
                             *      guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalPuerta;
                             * else if (guiaOriginal.ModalidadEntregaID == (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.PuertaPuerta && guiaOriginal.GetTieneModalidad((int)NegociosSisPackInterface.SisPack.ModalidadEntrega.PuertaPuerta))
                             *      guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.PuertaPuerta;
                             * else if (guiaOriginal.ModalidadEntregaID == (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalPuerta)
                             *      guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalTerminal;
                             * else if (guiaOriginal.ModalidadEntregaID == (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalTerminal)
                             *      guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalTerminal;
                             * else
                             *      guiaNueva.ModalidadEntregaID = (int)NegociosSisPackInterface.SisPack.ModalidadEntrega.TerminalTerminal;*/


                            //CARGO DATOS DE LOS SUBCONCEPTOS FACTURADOS
                            DsGuiasFacturas.DatosDetalleSubconceptoFacturableRow[] drFactSCF = (DsGuiasFacturas.DatosDetalleSubconceptoFacturableRow[])dsGuiasDet.DatosDetalleSubconceptoFacturable.Select("GuiaID = " + drFactDet[0].GuiaID
                                                                                                                                                                                                           + " AND GuiaFacturaDetalleID = " + drFactDet[0].GuiaFacturaDetalleID + " AND (SubConceptoFacturableID = " + (int)NegociosSisPackInterface.SisPack.SubConceptoFacturable.FleteNacional + " OR SubConceptoFacturableID = " + (int)NegociosSisPackInterface.SisPack.SubConceptoFacturable.Seguro + ")");
                            if (drFactSCF.Length > 0)
                            {
                                foreach (DsGuiasFacturas.DatosDetalleSubconceptoFacturableRow drSubConcepto in drFactSCF)
                                {
                                    if (drSubConcepto.SubConceptoFacturableID == (int)NegociosSisPackInterface.SisPack.SubConceptoFacturable.FleteNacional)
                                    {
                                        guiaNueva.ImporteFlete = drSubConcepto.Importe;
                                    }
                                    else
                                    {
                                        guiaNueva.ImporteSeguro = drSubConcepto.Importe;
                                    }
                                }

                                guiaNueva.CalcularImportes();
                                Session["guiaNueva"] = guiaNueva;
                                this.ObtenerNroGuia(dr[0].TipoGuia);
                            }
                            else
                            {
                                hayError = true;
                            }
                        }
                        else
                        {
                            hayError = true;
                        }
                    }
                    else
                    {
                        hayError = true;
                    }
                }
                if (hayError)
                {
                    ((ErrorWeb)phErrores.FindControl("Error")).setMensaje(this.TraducirTexto("Errores.Invalidos.GuiaIncompleta"));
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto(ex.Message));
            }
        }
Beispiel #14
0
        private void butBuscar_Click(object sender, System.EventArgs e)
        {
            try
            {
                this.LimpiarCampos();
                DsGuias ds;
                if (this.radioTipo.Checked)
                {
                    ds = BuscarPorTipo();
                }
                else
                {
                    ds = BuscarPorCodigo();
                }

                if (ds != null)
                {
                    IGuia guia = GuiaFactory.GetGuia();
                    DsGuias.DatosRow[] drLista = (DsGuias.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID);
                    int total = drLista.Length;

                    if (total > 0)
                    {
                        DsGuias.DatosRow dr = drLista[0];

                        if (dr.AgenciaOrigenID != 0)
                        {
                            IAgencia agenciaOrigen = AgenciaFactory.GetAgencia();
                            agenciaOrigen.AgenciaID = dr.AgenciaOrigenID;
                            if (agenciaOrigen.Consultar())
                            {
                                this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.RazonSocial;
                            }
                        }
                        if (!dr.IsAgenciaDestinoIDNull())
                        {
                            if (dr.AgenciaDestinoID != 0)
                            {
                                IAgencia agenciaDestino = AgenciaFactory.GetAgencia();
                                agenciaDestino.AgenciaID = dr.AgenciaDestinoID;
                                if (agenciaDestino.Consultar())
                                {
                                    this.txtSucursalAgenciaDestino.Text = agenciaDestino.RazonSocial;
                                }
                            }
                        }
                        else if (!dr.IsPuntoRecepcionIDNull())
                        {
                            if (dr.PuntoRecepcionID != 0)
                            {
                                IPuntoRecepcion puntoRecepcion = PuntoRecepcionFactory.GetPuntoRecepcion();
                                puntoRecepcion.PuntoRecepcionID = dr.PuntoRecepcionID;
                                if (puntoRecepcion.Consultar())
                                {
                                    IAgencia agenciaReferenciaRD = AgenciaFactory.GetAgencia();
                                    agenciaReferenciaRD.AgenciaID = puntoRecepcion.AgenciaReferenciaRedespacho;
                                    if (agenciaReferenciaRD.Consultar())
                                    {
                                        this.txtSucursalAgenciaDestino.Text = agenciaReferenciaRD.RazonSocial;
                                    }
                                }
                            }
                        }

                        IGuiaFactura guiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                        ((IGuia)guiaFactura).GuiaID = dr.GuiaID;
                        this.txtGuiaID.Text         = dr.GuiaID.ToString();
                        //recupero los datos de las guias
                        DsGuiaFactura            dsGuiaFactura = guiaFactura.GetGuiaFacturaDataSetByGuiaID();
                        DsGuiaFactura.DatosRow[] row           = (DsGuiaFactura.DatosRow[])dsGuiaFactura.Datos.Select("GuiaID=" + dr.GuiaID);

                        if (row.Length > 0)
                        {
                            this.txtCantidadBultos.Text     = row[0].IsCantidadBultosTotalNull()? "": row[0].CantidadBultosTotal.ToString();
                            this.txtVolumenDeclarado.Text   = row[0].IsValorDeclaradoTotalNull()? "" : row[0].ValorDeclaradoTotal.ToString();
                            this.txtGuiaID.Text             = row[0].GuiaID.ToString();
                            this.txtObservaciones.Text      = row[0].IsObservacionesNull() ? "" : row[0].Observaciones.Replace("<b>", "").Replace("</b>", "");
                            this.txtTipoFacturaDescrip.Text = row[0].IsClasificacionGuiaDescripNull() ? "" : row[0].ClasificacionGuiaDescrip;
                            this.txtFecha.Text    = row[0].IsFechaEmisionNull() ? "" : row[0].FechaEmision.ToString("dd/MM/yyyy");
                            this.txtFecha.Enabled = false;
                            butConfirmar.Enabled  = true;
                        }
                        this.butConfirmar.Enabled  = true;
                        this.rbtExtraviada.Enabled = true;
                        this.rbtDecomisada.Enabled = true;
                        this.rbtEnArchivo.Enabled  = true;
                        this.rbtAnuladaWeb.Enabled = true;
                        rbtObservacion.Enabled     = true;
                    }
                    else
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La guía no existe.");
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
                try
                {
                    mensaje = this.TraducirTexto(ex.Message);
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }
        }