public void GuardarGuia() { Page.Validate(); if (!Page.IsValid) { return; } /*IAgencia oAgencia = AgenciaFactory.GetAgencia(); * oAgencia.AgenciaID = this.AgenciaConectadaID; * oAgencia.ConsultarBasico();*/ oGuiaRen = GuiaRendicionFactory.GetGuiaRendicion(); ((IGuia)oGuiaRen).AgenciaOrigenID = Utiles.Validaciones.obtieneEntero(this.txtAgenciaOrigenID.Text); ((IGuia)oGuiaRen).AgenciaDestinoID = 187; //Convert.ToInt32(this.txtAgenciaDestino.Text); ((IGuia)oGuiaRen).NroGuia = Convert.ToInt32(this.txtNroGuia.Text); ((IGuia)oGuiaRen).Observaciones = this.txtObservaciones.Text; ((IGuia)oGuiaRen).UnidadNegocioID = this.UnidadNegocioID; ((IGuia)oGuiaRen).NroSucursalGuia = "2183"; //oAgencia.SucursalDGI;//VER si conviene ((IGuia)oGuiaRen).ClasificacionGuiaID = NegociosSisPackInterface.SisPack.ClasificacionGuia.Rendicion; ((IGuia)oGuiaRen).FechaEmision = DateTime.Now; ((IGuia)oGuiaRen).TipoGuia = this.ddlTipoGuia.SelectedValue; ((IGuia)oGuiaRen).RemitenteEventual.ClienteEv.Nombre = this.txtNombre.Text; ((IGuia)oGuiaRen).RemitenteEventual.ClienteEv.Apellido = this.txtApellido.Text; ((IGuia)oGuiaRen).DestinatarioEventual.ClienteEv.Nombre = this.txtNombreDesti.Text; ((IGuia)oGuiaRen).DestinatarioEventual.ClienteEv.Apellido = this.txtApellidoDesti.Text; bool seleccion = false; //indico si se seleccionó alguna guia foreach (DataGridItem item in this.dtgGuiasAsociadas.Items) { if (((CheckBox)item.FindControl("chkGuia")).Checked) { IGuiaRendicionDetalle guiaRendida = oGuiaRen.GuiasRendidas.AddGuiaRendicionDetalle(); guiaRendida.GuiaRendidaID = Convert.ToInt32(this.dtgGuiasAsociadas.DataKeys[item.ItemIndex]); seleccion = true; } } try { if (seleccion) { if (oGuiaRen.EmitirGuiaRendicion(usuario)) { this.BindGrilla(); GenerarJavaScripts.MostrarMensaje("La guía de rendición se generó con éxito.", "GuiaRendicionNoAutomatizada.aspx"); } } else { ((ErrorWeb)phErrores.FindControl("Error")).setMensaje("Debe seleccionar alguna guía para asociar a la rendición."); BindGrilla(); this.butConfirmar.Enabled = true; } } catch (Exception ex) { ((ErrorWeb)phErrores.FindControl("Error")).setMensaje(TraducirTexto(ex.Message)); } }
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 butBuscar_Click(object sender, System.EventArgs e) { try { DsFactura ds; if (this.radioTipo.Checked) { ds = BuscarPorTipo(); } else { ds = BuscarPorCodigo(); } if (ds != null) { this.butBuscar.Enabled = true; IFactura factura = FacturaFactory.GetFactura(); DsFactura.DatosRow[] drLista = (DsFactura.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID); int total = drLista.Length; if (total > 0) { DsFactura.DatosRow dr = drLista[0]; if (dr.EstadoFacturaID == (int)NegociosSisPackInterface.SisPack.EstadoFactura.Anulada) { /* La factura ya ha sido anulada */ Page.RegisterStartupScript("NoAnular", GenerarJavaScripts.MostrarMensaje("La factura se encuentra anulada.")); this.butConfirmar.Enabled = false; return; } if (dr.AgenciaID != 0) { IAgencia agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = dr.AgenciaID; if (agencia.Consultar()) { this.txtAgenciaID.Text = agencia.AgenciaID.ToString(); this.txtAgencia.Text = agencia.RazonSocial.Trim(); } agencia = null; } // Permitir anulacion de facturas de conceptos facturables. this.txtGuiaID.Text = dr.IsGuiaIDNull() ? "" : dr.GuiaID.ToString(); this.txtFecha.Text = dr.FechaEmision.ToShortDateString().Trim(); this.txtImporte.Text = Utiles.Formatos.Importe(dr.ImporteNeto + dr.ImporteIVA); this.txtTipoImpresionGuiaID.Text = dr.IsTipoImpresionGuiaIDNull()? "0": dr.TipoImpresionGuiaID.ToString().Trim(); this.txtFacturaID.Text = dr.FacturaID.ToString().Trim(); this.txtClasificacionFactura.Text = dr.ClasificacionFactura.Trim(); this.txtClasificacionFacturaID.Text = dr.ClasificacionFacturaID.ToString().Trim(); this.butConfirmar.Enabled = true; this.butBuscar.Enabled = false; this.radioTipo.Enabled = false; this.radioCodigo.Enabled = false; dr = null; } else { string script = "<script language='javascript'>\n"; script += "alert('No se encontro la factura.');\n"; script += "</script>"; Page.RegisterStartupScript("scriptError", script); } factura = null; drLista = null; } } catch (Exception ex) { butBuscar.Enabled = false; 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); } }