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.")); * * } * } */ }
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); } }