Ejemplo n.º 1
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);
            }
        }