private void ChequearGuia()
        {
            //CHEQUEAR QUE LA GUIA SEA DE RENDICION
            if (Convert.ToInt32(this.txtTipoFactura.Text) != (int)NegociosSisPackInterface.SisPack.ClasificacionGuia.Rendicion)
            {
                Page.RegisterStartupScript("Imprimir", GenerarJavaScripts.MostrarMensaje("La guía ingresada no es de rendición"));
            }

            //CHEQUEAR AGENCIA DESTINO
            int agenciaDestParam;

            IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio();

            param.UnidadNegocioID = this.UnidadNegocioID;
            param.Parametro       = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion;
            param.Consultar();
            agenciaDestParam = Convert.ToInt32(param.ValorString);
            if (this.AgenciaConectadaID != agenciaDestParam)
            {
                Page.RegisterStartupScript("Imprimir", GenerarJavaScripts.MostrarMensaje("La guía de rendición tiene que ser recibida por la agencia de administración"));
            }


            //	CHEQUEAR ESTADOS
            IGuiaEstadoHistorico guiaEstadoHistorico = GuiaEstadoHistoricoFactory.GetGuiaEstadoHistorico();

            guiaEstadoHistorico.GuiaID = Convert.ToInt32(this.txtGuiaID.Text);
            DsGuiaEstadoHistorico ds = guiaEstadoHistorico.GetGuiaEstadoHistoricoDataSet();

            //Verifica que la guía no tenga el estado ANULADA
            //ANULADA --> EstadoCliente y Ninguno. En realidad es el estado: Anulada!!
            DsGuiaEstadoHistorico.DatosRow[] dr = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("TipoEstadoGuiaID =" + (int)NegociosSisPackInterface.SisPack.TipoEstadoGuia.EstadoAdministrativo
                                                                                                    + " AND EstadoGuiaID = " + (int)NegociosSisPackInterface.SisPack.ValorEstadoAdministrativo.Anulada);
            if (dr.Length > 0)
            {
                Page.RegisterStartupScript("Imprimir", GenerarJavaScripts.MostrarMensaje("La guía se encuentra anulada"));
                this.butConfirmar.Enabled = false;
                return;
            }
            else
            {
                this.butConfirmar.Enabled = true;
            }



            //Verifica que la guía no tenga el estado CONFORMADA
            dr = null;
            dr = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("TipoEstadoGuiaID =" + (int)NegociosSisPackInterface.SisPack.TipoEstadoGuia.EstadoAdministrativo
                                                                   + " AND AgenciaID = " + this.AgenciaConectadaID, "GuiaEstadoHisID");
            if (dr.Length > 0)
            {
                //Recuperamos que el último estado de este tipo para la guia sea el que buscamos: Pendiente de entrega.
                if (dr[dr.Length - 1].EstadoGuiaID == (int)NegociosSisPackInterface.SisPack.ValorEstadoAdministrativo.Conformada)
                {
                    this.butConfirmar.Enabled = false;
                    Page.RegisterStartupScript("Imprimir", GenerarJavaScripts.MostrarMensaje("La guía de rendición se encuentra conformada."));
                }
            }


            /* SFE: Comentado el 08/08/2011 . Por pedido en nuevo desarrollo de trazabilidad de rendiciones.
             *
             * //TRASBORDADA --> EstadoEstatico y EnAgenciaTrasbordo
             * //dr = null;
             * //dr = (DsGuiaEstadoHistorico.DatosRow[]) ds.Datos.Select("TipoEstadoGuiaID =" + (int)NegociosSisPackInterface.SisPack.TipoEstadoGuia.EstadoEstatico
             * //    +" AND EstadoGuiaID = " + (int)NegociosSisPackInterface.SisPack.ValorEstadoEstatico.EnAgenciaDeTrasbordo);
             * //if (dr.Length > 0)
             * //{
             * //    Page.RegisterStartupScript("Imprimir",GenerarJavaScripts.MostrarMensaje("La guía se encuentra en Agencia de Trasbordo"));
             *
             * //}
             */

            // SFE: Comentado el 08/08/2011 . Por pedido en nuevo desarrollo de trazabilidad de rendiciones.

            /*
             * //Controla que la guia este asignada a una hoja de ruta y que la hoja de ruta esté confirmada
             * dr = null;
             * dr = (DsGuiaEstadoHistorico.DatosRow[]) ds.Datos.Select("TipoEstadoGuiaID =" + (int)NegociosSisPackInterface.SisPack.TipoEstadoGuia.EstadoMovimiento, "GuiaEstadoHisID");
             * if (dr.Length > 0)
             * {
             *  //Recuperamos que el último estado de este tipo para la guia sea el que buscamos: En Viaje.
             *  if( dr[dr.Length-1].EstadoGuiaID == (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.EnViaje && guiaEstadoHistorico.HojaRutaConfirmada())
             *  {
             *
             *      this.butConfirmar.Enabled=true;
             *
             *  }
             *      else
             *      {
             *          this.butConfirmar.Enabled=false;
             *
             *          Page.RegisterStartupScript("Imprimir",GenerarJavaScripts.MostrarMensaje("La guía no se encuentra en condiciones de ser recibida,verificar que este asignada a una hoja de ruta o que la misma esté confirmada."));
             *
             *      }
             *  }	*/
        }
示例#2
0
        private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            try
            {
                //reviso que la guía no haya sido decomisada ni extraviada
                //para no insertar dos veces el mismo estado
                BaseValidator bv;
                if (!this.rbtAnuladaWeb.Checked)
                {
                    CustomValidator validadorRBT = (CustomValidator)GenerarValidadores.Custom();
                    validadorRBT.ServerValidate += new System.Web.UI.WebControls.ServerValidateEventHandler(ValidateSiniestro);
                    phNuevo.Controls.Add(validadorRBT);
                    validadorRBT.Enabled = true;
                    validadorRBT.Validate();
                    if (!validadorRBT.IsValid)
                    {
                        return;
                    }
                }
                IGuiaEstadoHistorico historico = GuiaEstadoHistoricoFactory.GetGuiaEstadoHistorico();
                historico.GuiaID = Utiles.Validaciones.obtieneEntero(this.txtGuiaID.Text);
                DsGuiaEstadoHistorico ds = historico.GetGuiaEstadoHistoricoDataSet();
                if (ds.Datos.Rows.Count > 0)
                {
                    DsGuiaEstadoHistorico.DatosRow[] dr = null;

                    string error = "";
                    if (this.rbtExtraviada.Checked)
                    {
                        dr    = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("GuiaID=" + historico.GuiaID + " and TipoEstadoGuiaID=5 and EstadoGuiaID=5");
                        error = "Ya se ha ingresado el estado Extraviada para esta guía.";
                    }
                    else if (this.rbtAnuladaWeb.Checked)
                    {
                        //dr = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("GuiaID=" + historico.GuiaID + " and TipoEstadoGuiaID=5 and EstadoGuiaID=13");
                        dr    = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("GuiaID=" + historico.GuiaID + " and TipoEstadoGuiaID=7 and EstadoGuiaID=12");
                        error = "Ya se ha ingresado el estado Anulada Web para esta guía.";
                    }
                    else if (this.rbtDecomisada.Checked)
                    {
                        dr    = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("GuiaID=" + historico.GuiaID + " and TipoEstadoGuiaID=5 and EstadoGuiaID=6");
                        error = "Ya se ha ingresado el estado Decomisada para esta guía.";
                    }
                    else if (this.rbtEnArchivo.Checked)
                    {
                        dr = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("GuiaID=" + historico.GuiaID + " and ((TipoEstadoGuiaID=7 and EstadoGuiaID=1) or (TipoEstadoGuiaID=7 and EstadoGuiaID=7))");
                        if (dr.Length > 0)
                        {
                            error = "No se es posible realizar esta gestión ya que la guía se encuentra anulada.";
                        }

                        if (dr.Length == 0)
                        {
                            dr = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("GuiaID=" + historico.GuiaID + " and ((TipoEstadoGuiaID=7 and EstadoGuiaID=4))");
                            if (dr.Length > 0)
                            {
                                error = "No se es posible realizar esta gestión ya que la guía se encuentra conformada.";
                            }
                        }

                        if (dr.Length == 0)
                        {
                            dr = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("GuiaID=" + historico.GuiaID + " and ((TipoEstadoGuiaID=5 and EstadoGuiaID=5))");
                            if (dr.Length > 0)
                            {
                                error = "No se es posible realizar esta gestión ya que la guía se encuentra extraviada.";
                            }
                        }

                        if (dr.Length == 0)
                        {
                            dr = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("GuiaID=" + historico.GuiaID + " and ((TipoEstadoGuiaID=5 and EstadoGuiaID=6))");
                            if (dr.Length > 0)
                            {
                                error = "No se es posible realizar esta gestión ya que la guía se encuentra decomisada.";
                            }
                        }

                        if (dr.Length == 0)
                        {
                            dr = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("GuiaID=" + historico.GuiaID + " and ((TipoEstadoGuiaID=5 and EstadoGuiaID=7))");
                            if (dr.Length > 0)
                            {
                                error = "No se es posible realizar esta gestión ya que la guía se encuentra en archivo.";
                            }
                        }
                    }

                    if (dr != null && dr.Length > 0)
                    {
                        throw new Exception(error);
                    }
                }
                IGuia guia = GuiaFactory.GetGuia();
                guia.GuiaID          = Utiles.Validaciones.obtieneEntero(this.txtGuiaID.Text);
                guia.AgenciaOrigenID = this.AgenciaConectadaID;
                guia.Observaciones   = this.txtObservaciones.Text;
                if (this.rbtExtraviada.Checked)
                {
                    guia.Extraviada(this.usuario, txtSiniestro.Text);
                }
                else if (rbtDecomisada.Checked)
                {
                    guia.Decomisada(this.usuario, txtSiniestro.Text);
                }
                else if (rbtEnArchivo.Checked)
                {
                    guia.EnArchivo(this.usuario);
                }
                else if (rbtAnuladaWeb.Checked)
                {
                    if (guia.EnHojaRuta())
                    {
                        throw new Exception("No es posible realizar esta gestión ya que la guía se encuentra en una hoja de ruta.");
                    }
                    guia.AnuladaWeb(this.usuario, txtSiniestro.Text);
                }
                else
                {
                    guia.UsuarioID     = usuario.UsuarioID;
                    guia.ObservacionID = Utiles.Validaciones.obtieneEntero(Observacion1.ObservacionID);
                    guia.Observar();
                }
                string mensaje = "Los datos se guardaron correctamente. ";
                string script  = "<script language='javascript'>\n";
                script += "alert('" + mensaje + "');";
                script += "window.location.href = 'GuiasExtraviadasDecomisadas.aspx';\n";
                script += "</script>";
                Page.RegisterStartupScript("scriptOk", script);
            }
            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);
            }
        }