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); } }