private void ModificacionDeComisionDeServicio(ComisionDeServicio una_comision) { var comision_anterior = ObtenerViaticoPorId(una_comision.Id); foreach (Estadia unaEstadia in una_comision.Estadias) { unaEstadia.ComisionDeServicio = una_comision; } foreach (Pasaje unPasaje in una_comision.Pasajes) { unPasaje.ComisionDeServicio = una_comision; } var repoEstadias = new RepositorioDeEstadias(conexion_bd); var estadias_quitadas = comision_anterior.Estadias.FindAll(e => !una_comision.Estadias.Contains(e)); repoEstadias.BajaDeEstadias(estadias_quitadas); var estadias_nuevas = una_comision.Estadias.FindAll(e => e.Id == 0); repoEstadias.AltaDeEstadias(estadias_nuevas); var repoPasajes = new RepositorioDePasajes(conexion_bd); var pasajes_quitados = comision_anterior.Pasajes.FindAll(p => !una_comision.Pasajes.Contains(p)); repoPasajes.BajaDePasajes(pasajes_quitados); var pasajes_nuevos = una_comision.Pasajes.FindAll(p => p.Id == 0); repoPasajes.AltaDePasajes(pasajes_nuevos); var repoAcciones = new RepositorioDeAccionesDeTransicion(); this.ReasignarComision(una_comision, una_comision.AreaSuperior, repoAcciones.GetAccionSolicitar().Id, ""); }
public void ReasignarComision(ComisionDeServicio una_comision, Area area_destino, int id_accion, String comentario) { Area area_actual; if (una_comision.TransicionesRealizadas.Count > 0) { area_actual = una_comision.AreaActual; } else { area_actual = una_comision.AreaCreadora; } var repo_acciones = new RepositorioDeAccionesDeTransicion(); var accion = repo_acciones.GetAccionDeTransicionById(id_accion); var fecha_transicion = DateTime.Now; var parametros = new Dictionary <string, object>(); parametros.Add("@Id_Comision", una_comision.Id); parametros.Add("@Id_Area_Origen", area_actual.Id); parametros.Add("@Id_Area_Destino", area_destino.Id); parametros.Add("@Id_Accion", id_accion); parametros.Add("@Fecha", fecha_transicion); parametros.Add("@Comentario", comentario); var id_transicion = conexion_bd.EjecutarEscalar("dbo.VIA_GuardarTransicionDeViatico", parametros); var transicion = new TransicionDeViatico((int)((Decimal)id_transicion), area_actual, area_destino, accion, fecha_transicion, comentario); una_comision.TransicionesRealizadas.Add(transicion); }
private void LimpiarComisionEnSession() { ComisionDeServicio comisionEnEdicion = new ComisionDeServicio(); comisionEnEdicion.Estadias = new Estadia[0]; comisionEnEdicion.Pasajes = new Pasaje[0]; Session[ConstantesDeSesion.VIATICO_EN_EDICION] = comisionEnEdicion; }
protected void Btn_AccesoDirectoSolicitarModificacion_Click(object sender, EventArgs e) { WSViaticosSoapClient ws = new WSViaticosSoapClient(); ComisionDeServicio una_comision = (ComisionDeServicio)Session["comisionActual"]; ws.ReasignarComision(una_comision, Int32.Parse(this.cmbAreasTransicionesAnteriores.SelectedValue), 2, ""); Response.Redirect("~/FormularioDeViaticosAprobacion/FControlDeAprobacion.aspx", true); }
public void MostrarTablaDePasajes(ComisionDeServicio comision) { RenderizadorDeTablas <Pasaje> renderizador = new RenderizadorDeTablas <Pasaje>(new CargaPasajeToRowSerializer()); renderizador.RenderTo(new List <Pasaje>(comision.Pasajes.ToList()), this._tabla_listado_pasajes); //this._tabla_listado_estadias.CssClass = "table table-striped table-bordered table-condensed"; //this.Controls.Add(TablaViaticos); }
//protected void btnAprobarYEnviarA_Click(object sender, EventArgs e) //{ // WSViaticosSoapClient ws = new WSViaticosSoapClient(); // ComisionDeServicio una_comision = (ComisionDeServicio)Session["comisionActual"]; // ws.ReasignarComision(una_comision, ws.GetAreaSuperiorA(((ComisionDeServicio)Session["comisionActual"]).AreaActual).Id, 1, ""); // Response.Redirect("~/FormularioDeViaticosAprobacion/FControlDeAprobacion.aspx", true); //} //protected void btnRechazarYNotificarA_Click(object sender, EventArgs e) //{ //} //protected void btnSolicitarModificacionA_Click(object sender, EventArgs e) //{ // WSViaticosSoapClient ws = new WSViaticosSoapClient(); // ComisionDeServicio una_comision = (ComisionDeServicio)Session["comisionActual"]; // ws.ReasignarComision(una_comision, ws.GetAreaPreviaDe(((ComisionDeServicio)Session["comisionActual"])).Id , 2, ""); // Response.Redirect("~/FormularioDeViaticosAprobacion/FControlDeAprobacion.aspx", true); //} protected void Btn_AccesoDirectoAprobar_Click(object sender, EventArgs e) { /**/ WSViaticosSoapClient ws = new WSViaticosSoapClient(); ComisionDeServicio una_comision = (ComisionDeServicio)Session["comisionActual"]; ws.ReasignarComision(una_comision, ws.GetAreaSuperiorA(((ComisionDeServicio)Session["comisionActual"]).AreaActual).Id, 1, ""); Response.Redirect("~/FormularioDeViaticosAprobacion/FControlDeAprobacion.aspx", true); }
private void AddPasaje(Pasaje pasaje) { ComisionDeServicio viatico_en_edicion = (ComisionDeServicio)Session[ConstantesDeSesion.VIATICO_EN_EDICION]; var nuevos_pasajes = pasajes();// new List<Pasaje>(viatico_en_edicion.Pasajes); nuevos_pasajes.Add(pasaje); viatico_en_edicion.Pasajes = nuevos_pasajes.ToArray(); }
private void AddEstadia(Estadia estadia) { ComisionDeServicio viatico_en_edicion = (ComisionDeServicio)Session[ConstantesDeSesion.VIATICO_EN_EDICION]; var nuevos_estadias = estadias();// new List<Estadia>(viatico_en_edicion.Estadias); nuevos_estadias.Add(estadia); viatico_en_edicion.Estadias = nuevos_estadias.ToArray(); }
public DateTime ObtenerFechaMaximaEstadia() { ComisionDeServicio viatico_en_edicion = (ComisionDeServicio)Session[ConstantesDeSesion.VIATICO_EN_EDICION]; DateTime maxDate = DateTime.MinValue; foreach (Estadia estadia in viatico_en_edicion.Estadias) { if (maxDate < estadia.Hasta) { maxDate = estadia.Hasta; } } return(maxDate); }
public void QuitarPasajeDelListado(int id_pasaje) { ComisionDeServicio viatico_en_edicion = (ComisionDeServicio)HttpContext.Current.Session[ConstantesDeSesion.VIATICO_EN_EDICION]; List <Pasaje> pasajes_existentes = new List <Pasaje>(viatico_en_edicion.Pasajes); Pasaje pasaje_a_borrar = pasajes_existentes.Find(p => p.Id == (int)id_pasaje); pasajes_existentes.Remove(pasaje_a_borrar); viatico_en_edicion.Pasajes = pasajes_existentes.ToArray(); this.ControlGrillaEstadias.MostrarTablaDeEstadias(viatico_en_edicion); this.ControlGrillaPasajes.MostrarTablaDePasajes(viatico_en_edicion); }
//[ScriptMethod, WebMethod] //public static string QuitarEstadia(object id_estadia) //{ // ComisionDeServicio viatico_en_edicion = (ComisionDeServicio)HttpContext.Current.Session[ConstantesDeSesion.VIATICO_EN_EDICION]; // List<Estadia> estadias_existentes = new List<Estadia>(viatico_en_edicion.Estadias); // Estadia estadia_a_borrar = estadias_existentes.Find(e => e.Id == (int)id_estadia); // estadias_existentes.Remove(estadia_a_borrar); // viatico_en_edicion.Estadias = estadias_existentes.ToArray(); // //this.ControlGrillaEstadias.MostrarTablaDeEstadias((ComisionDeServicio)HttpContext.Current.Session[ConstantesDeSesion.VIATICO_EN_EDICION]); // //this.ControlGrillaPasajes.MostrarTablaDePasajes((ComisionDeServicio)HttpContext.Current.Session[ConstantesDeSesion.VIATICO_EN_EDICION]); // return "FCargaComisionDeServicio.aspx"; //} public void QuitarEstadiaDelListado(int id_estadia) { ComisionDeServicio viatico_en_edicion = (ComisionDeServicio)HttpContext.Current.Session[ConstantesDeSesion.VIATICO_EN_EDICION]; List <Estadia> estadias_existentes = new List <Estadia>(viatico_en_edicion.Estadias); Estadia estadia_a_borrar = estadias_existentes.Find(e => e.Id == (int)id_estadia); estadias_existentes.Remove(estadia_a_borrar); viatico_en_edicion.Estadias = estadias_existentes.ToArray(); this.ControlGrillaEstadias.MostrarTablaDeEstadias(viatico_en_edicion); this.ControlGrillaPasajes.MostrarTablaDePasajes(viatico_en_edicion); }
private void AgregarAreasAnterioresAlComboDeSolicitarModificacion(ComisionDeServicio viaticoActual) { foreach (var t in viaticoActual.TransicionesRealizadas) { var a = t.AreaOrigen; //Agrego las areas distintas entre si y distintas al area actual if (this.cmbAreasTransicionesAnteriores.Items.FindByValue(a.Id.ToString()) == null) { if (a.Id != viaticoActual.AreaActual.Id) { this.cmbAreasTransicionesAnteriores.Items.Add(new System.Web.UI.WebControls.ListItem(a.Nombre, a.Id.ToString())); } } } }
public void GuardarComisionDeServicio(ComisionDeServicio una_comision) { if (una_comision.Estadias.Count < 1) { throw new Exception("No se puede guardar una comisión sin estadias."); } if (una_comision.Id == 0) { AltaDeComisionDeServicio(una_comision); } else { ModificacionDeComisionDeServicio(una_comision); } }
public Area GetAreaPreviaDe(ComisionDeServicio una_comision) { var parametros = new Dictionary <string, object>(); parametros.Add("@Id_Viatico", una_comision.Id); var tablaDatos = conexion_bd.Ejecutar("dbo.VIA_GetAreaPreviaDe", parametros); if (tablaDatos.Rows.Count > 0) { var row = tablaDatos.Rows[0]; return(new Area { Id = row.GetInt("id_area"), Nombre = row.GetString("descripcion"), Codigo = row.GetString("codigo") }); } return(null); }
protected void Modificar_Click(object sender, EventArgs e) { ComisionDeServicio comisionEnEdicion = new ComisionDeServicio(); comisionEnEdicion.Estadias = new Estadia[0]; comisionEnEdicion.Pasajes = new Pasaje[0]; Session[ConstantesDeSesion.VIATICO_EN_EDICION] = comision; Session[ConstantesDeSesion.AREA_ACTUAL] = comision.AreaCreadora; Session["personaViatico"] = comision.Persona; Session["VieneDeModificacion"] = true; Session["EstadiasQuitadas"] = new List <string>(); Session["PasajesQuitadas"] = new List <string>(); Session["Viatico vacio"] = comisionEnEdicion; Response.Redirect("~\\FormularioDeViaticos\\FCargaComisionDeServicio.aspx"); }
protected void botonRechazar_Click(object sender, EventArgs e) { WSViaticosSoapClient ws = new WSViaticosSoapClient(); ComisionDeServicio una_comision = (ComisionDeServicio)Session["comisionActual"]; try { Int32 id_area = Int32.Parse(this.AreaSeleccionadaRechazo.Value); ws.ReasignarComision(una_comision, id_area, 3, this.txtComentarios.Text); Response.Redirect("~/FormularioDeViaticosAprobacion/FControlDeAprobacion.aspx", true); } catch (FormatException) { this.AlertaTransicionInvalida.InnerText = "Debe seleccionar un área destino para enviar el viático"; this.AlertaTransicionInvalida.Visible = true; } }
public void MostrarTablaDeEstadias(ComisionDeServicio comision) { RenderizadorDeTablas <Estadia> renderizador = new RenderizadorDeTablas <Estadia>(new CargaEstadiaToRowSerializer()); List <Estadia> lista_de_estadias = new List <Estadia>(comision.Estadias.ToList()); //List<ComisionDeServicio> lista_de_comisiones = new List<ComisionDeServicio>(); //lista_de_comisiones.Add(comision); //lista_de_estadias.ForEach(e => e.ComisionDeServicio = comision); renderizador.RenderTo(lista_de_estadias, this._tabla_listado_estadias); //this._tabla_listado_estadias.CssClass = "table table-striped table-bordered table-condensed"; //this.Controls.Add(TablaViaticos); }
protected void Page_Load(object sender, EventArgs e) { ComisionDeServicio Comision = new ComisionDeServicio(); Persona Persona = new Persona(); Comision = (ComisionDeServicio)Session["ComisionDeServicio"]; Persona = ((Persona)Session["persona"]); lblAgente.Text = Persona.Apellido.ToString(); lblDependencia.Text = Persona.Area.Dependencias[0].Nombre.ToString(); lblTelefono.Text = ""; lblCategoria.Text = ""; lblLegajo.Text = ""; lblCUIT.Text = ""; //lblComision.Text = Comision.Estadias[0].Provincia[0].Nombre.ToString(); lblFechaInicio.Text = Comision.Estadias[0].Desde.ToString(); lblFechaFin.Text = Comision.Estadias[0].Hasta.Date.ToString(); lblHoraInicio.Text = Comision.Estadias[0].Desde.ToString(); lblHoraFin.Text = Comision.Estadias[0].Hasta.ToString(); lblDias.Text = ""; //calculo Marcelo lblPesosDiario.Text = ""; //calculo agustin lblTotalPesos.Text = ""; // Comision.Estadias[0].AdicionalParaPasajes + Comision.Estadias[0].Eventuales; lblPasajesPesos.Text = Comision.Estadias[0].AdicionalParaPasajes.ToString(); lblEventualesPesos.Text = Comision.Estadias[0].Eventuales.ToString(); lblProgramaNro.Text = ""; lblActividadNro.Text = ""; lblDiasDPEP.Text = ""; lblPesosDiarioDPEP.Text = ""; lblTotalPesosDPEP.Text = ""; //Comision.Estadias[0].AdicionalParaPasajes + Comision.Estadias[0].Eventuales; lblPasajesPesosDPEP.Text = Comision.Estadias[0].AdicionalParaPasajes.ToString(); lblEventualesPesosDPEP.Text = Comision.Estadias[0].Eventuales.ToString(); lblRecibiPesosLetra.Text = ""; lblRecibiPesosNro.Text = ""; lblDiasRebici.Text = ""; lblPesosDiarioRebici.Text = ""; lblTotalPesosRebici.Text = ""; //Comision.Estadias[0].AdicionalParaPasajes + Comision.Estadias[0].Eventuales; lblPasajesPesosRebici.Text = Comision.Estadias[0].AdicionalParaPasajes.ToString(); lblEventualesPesosRebici.Text = Comision.Estadias[0].Eventuales.ToString(); lblApellidoNombrePersona.Text = Persona.Apellido.ToString() + ", " + Persona.Nombre.ToString(); }
private ComisionDeServicio PonerEn0LosIdDeLasEstadiasYPasajesNuevas(ComisionDeServicio comision) { foreach (var estadia in comision.Estadias) { if (estadia.Id < 0) { estadia.Id = 0; } } foreach (var pasaje in comision.Pasajes) { if (pasaje.Id < 0) { pasaje.Id = 0; } } return(comision); }
protected void Page_Load(object sender, EventArgs e) { if (Session["comisionActual"] != null) { comision = (ComisionDeServicio)Session["comisionActual"]; } //Table tabla_encabezado_datos_persona = ConstruirTabla("Datos Personales"); //Table tabla_detalle_datos_persona = ContruirTablaDetalleDatosPersonales(); //Table tabla_encabezado_estadia = ConstruirTabla("Detalle de Estadías"); //Table tabla_detalle_estadia = ConstruirTablaDetalleEstadia(); MostrarTablaDePersona(); MostrarTablaEstadias(); MostrarTablaDePasajes(); // Table tabla_encabezado_pasaje = ConstruirTabla("Detalle de Pasajes"); //Table tabla_detalle_pasaje = ConstruirTablaDetallePasaje(); System.Web.UI.WebControls.Panel lista_firmantes = ConstruirListaFirmantes(); this.Controls.Add(lista_firmantes); Usuario usuario = ((Usuario)Session["usuario"]); WSViaticosSoapClient ws = new WSViaticosSoapClient(); var idAreasUsuario = ws.AreasAdministradasPor(usuario).Select(a => a.Id); if (!idAreasUsuario.Contains(comision.AreaActual.Id)) { this.BotonModificar.Visible = false; } if (ValidacionesEnComisionesDeServicios.Validar72Horas(comision.FechaCreacion, comision.Estadias.Select(es => es.Desde).Min())) { this.lbValidacion72horas.Text = "El Viático fue solicitado con menos de 72 horas hábiles"; } }
private void AltaDeComisionDeServicio(ComisionDeServicio una_comision) { var parametros = new Dictionary <string, object>(); parametros.Add("@idAreaCreadora", una_comision.AreaCreadora.Id); parametros.Add("@documentoAgente", una_comision.Persona.Documento); parametros.Add("@estado", Enum.GetNames(typeof(EstadosDeComision))[(int)una_comision.Estado]); parametros.Add("@baja", una_comision.Baja); parametros.Add("@usuario", 1); var id = conexion_bd.EjecutarEscalar("dbo.VIA_AltaComisionDeServicio", parametros); una_comision.Id = int.Parse(id.ToString()); foreach (Estadia unaEstadia in una_comision.Estadias) { unaEstadia.ComisionDeServicio = una_comision; } foreach (Pasaje unPasaje in una_comision.Pasajes) { unPasaje.ComisionDeServicio = una_comision; } var repoEstadias = new RepositorioDeEstadias(conexion_bd); repoEstadias.AltaDeEstadias(una_comision.Estadias); var repoPasajes = new RepositorioDePasajes(conexion_bd); repoPasajes.AltaDePasajes(una_comision.Pasajes); var repoAcciones = new RepositorioDeAccionesDeTransicion(); //unaComision.AreaActual = unaComision.AreaCreadora; this.ReasignarComision(una_comision, una_comision.AreaSuperior, repoAcciones.GetAccionSolicitar().Id, ""); }
protected void Page_Load(object sender, EventArgs e) { comision = (ComisionDeServicio)Session["comisionActual"]; Usuario usuario = ((Usuario)Session["usuario"]); var ws = new WSViaticosSoapClient(); var areas_usuario = ws.AreasAdministradasPor(usuario); var idAreasUsuario = areas_usuario.Select(a => a.Id).ToList(); Session["personaViatico"] = comision.Persona; MostrarDatosViajante(); MostrarTablaEstadias(); MostrarTablaDePasajes(); MostrarTablaDeFirmantes(); if (!idAreasUsuario.Contains(comision.AreaActual.Id)) // || !usuario.EsFirmante) NOTA IMPORTANTE: volver a poner obteniendo desde la bd esta condición porque el login ya no lo trae más { this.controlDeTransiciones.Visible = false; } else { CargarControlesDeTransicion(); this.controlDeTransiciones.Visible = true; } if (!idAreasUsuario.Contains(comision.AreaActual.Id)) { this.BotonModificar.Visible = false; } else { this.BotonModificar.Visible = true; } }
//GPR: Se movió el Viatico a la pantalla de presente como Grupo 5. private void CargarDatosParaViatico(object sender) { ComisionDeServicio comisionEnEdicion = new ComisionDeServicio(); comisionEnEdicion.Estadias = new Estadia[0]; comisionEnEdicion.Pasajes = new Pasaje[0]; Persona personaViatico = new Persona(); TableRow rowClickeada = (TableRow)((TableCell)((LinkButton)sender).Parent).Parent; string[] nombreCompleto = rowClickeada.Cells[2].Text.Split(','); personaViatico.Documento = int.Parse(rowClickeada.Cells[1].Text.Replace(".", "").Replace(" ", "")); personaViatico.Apellido = nombreCompleto[0]; personaViatico.Nombre = nombreCompleto[1]; Session["personaViatico"] = personaViatico; Session[ConstantesDeSesion.VIATICO_EN_EDICION] = comisionEnEdicion; //Session["Viatico vacio"] = comisionEnEdicion; Session["VieneDeModificacion"] = false; //se agregan estos dos session para poder en el form siguiente quitar estadias y pasajes guardandolo en las respectivas sessiones Session["EstadiasQuitadas"] = new List <string>(); Session["PasajesQuitadas"] = new List <string>(); }
private List <ComisionDeServicio> GetViaticosFromTabla(TablaDeDatos tablaViaticos) { List <ComisionDeServicio> viaticos = new List <ComisionDeServicio>(); if (tablaViaticos.Rows.Count > 0) { var un_viatico = new ComisionDeServicio(); var un_pasaje = new Pasaje(); var una_estadia = new Estadia(); var una_transicion = new TransicionDeViatico(); var una_zona = new Zona(); tablaViaticos.Rows.ForEach(row => { if (viaticos.FindAll(t => t.Id == row.GetInt("Id")).Count == 0) { un_viatico = new ComisionDeServicio(); un_viatico.Id = row.GetInt("Id"); un_viatico.Baja = row.GetBoolean("Baja"); un_viatico.FechaCreacion = row.GetDateTime("fecha"); un_viatico.AreaCreadora = new Area(); un_viatico.AreaCreadora.Id = row.GetInt("IdAreaCreadora"); un_viatico.AreaCreadora.Nombre = row.GetString("DescripcionAreaCreadora"); un_viatico.AreaSuperior = new Area(); un_viatico.AreaSuperior.Id = row.GetInt("IdAreaCreadora"); un_viatico.AreaSuperior.Nombre = row.GetString("DescripcionAreaCreadora"); un_viatico.Persona = new Persona(); un_viatico.Persona.Nombre = row.GetString("Persona_Nombre"); un_viatico.Persona.Apellido = row.GetString("Persona_Apellido"); un_viatico.Persona.Documento = row.GetInt("Persona_Documento"); un_viatico.Persona.Area = new Area(); un_viatico.Persona.Area.Id = row.GetInt("Persona_Area_Id"); un_viatico.Persona.Area.Nombre = row.GetString("Persona_Area_Descripcion"); un_viatico.Persona.Cuit = row.GetString("Cuil_Persona"); un_viatico.Persona.Legajo = row.GetInt("Legajo_Persona").ToString(); un_viatico.Persona.Telefono = row.GetString("Telefono_Area"); un_viatico.Persona.Categoria = row.GetString("Categoria_Persona"); un_viatico.Persona.Nivel = row.GetString("Nivel_Funcion"); un_viatico.Persona.Grado = row.GetString("Grado_Rango"); //FC:agrego el estado mockeado por ahora para poder filtrar // viaticos.Add(un_viatico); un_pasaje = new Pasaje(); una_estadia = new Estadia(); una_transicion = new TransicionDeViatico(); } if (!(row.GetObject("Estadia_Id") is DBNull)) { if (un_viatico.Estadias.FindAll(t => t.Id == row.GetInt("Estadia_Id")).Count == 0) { una_estadia = new Estadia(); una_zona = new Zona(row.GetSmallintAsInt("Id_Zona"), row.GetString("Nombre_Zona")); una_estadia.Id = row.GetInt("Estadia_Id"); una_estadia.Desde = row.GetDateTime("Estadia_Desde"); una_estadia.Hasta = row.GetDateTime("Estadia_Hasta"); una_estadia.Provincia = new Provincia(); una_estadia.Provincia.Id = row.GetSmallintAsInt("Estadia_Provincia_Id"); una_estadia.Provincia.Nombre = row.GetString("Estadia_Provincia_Nombre"); una_estadia.Provincia.Zona = una_zona; una_estadia.Eventuales = Decimal.Parse(row.GetObject("Estadia_Eventuales").ToString()); // GetObject("Estadia_Eventuales"); una_estadia.AdicionalParaPasajes = Decimal.Parse(row.GetObject("Estadia_AdicionalParaPasajes").ToString()); //GetObject("Estadia_AdicionalParaPasajes"); una_estadia.CalculadoPorCategoria = Decimal.Parse(row.GetObject("Estadia_CalculadoPorCategoria").ToString()); //GetObject("Estadia_CalculadoPorCategoria"); una_estadia.Motivo = row.GetString("Estadia_Motivo"); una_estadia.Persona = un_viatico.Persona; un_viatico.Estadias.Add(una_estadia); } } if (!(row.GetObject("Pasaje_Id") is DBNull)) { if (un_viatico.Pasajes.FindAll(t => t.Id == row.GetInt("Pasaje_Id")).Count == 0) { un_pasaje = new Pasaje(); un_pasaje.Id = row.GetInt("Pasaje_Id"); un_pasaje.Origen = new Localidad(); un_pasaje.Origen.Id = row.GetInt("Pasaje_LocalidadOrigen_Id"); un_pasaje.Origen.Nombre = row.GetString("Pasaje_LocalidadOrigen_Nombre"); un_pasaje.Destino = new Localidad(); un_pasaje.Destino.Id = row.GetInt("Pasaje_LocalidadDestino_Id"); un_pasaje.Destino.Nombre = row.GetString("Pasaje_LocalidadDestino_Nombre"); un_pasaje.FechaDeViaje = row.GetDateTime("Pasaje_FechaDeViaje"); un_pasaje.MedioDeTransporte = new MedioDeTransporte(); un_pasaje.MedioDeTransporte.Id = row.GetSmallintAsInt("Pasaje_MedioDeTransporte_Id"); un_pasaje.MedioDeTransporte.Nombre = row.GetString("Pasaje_MedioDeTransporte_Nombre"); un_pasaje.MedioDePago = new MedioDePago(); un_pasaje.MedioDePago.Id = row.GetSmallintAsInt("Pasaje_MedioDePago_Id"); un_pasaje.MedioDePago.Nombre = row.GetString("Pasaje_MedioDePago_Nombre"); un_pasaje.Precio = Decimal.Parse(row.GetObject("Pasaje_Precio").ToString());//.GetObject("Pasaje_Precio"); un_viatico.Pasajes.Add(un_pasaje); } } if (!(row.GetObject("Transicion_Id") is DBNull)) { if (un_viatico.TransicionesRealizadas.FindAll(t => t.Id == row.GetInt("Transicion_Id")).Count == 0) { var id_transicion = row.GetInt("Transicion_Id"); var id_area_origen = row.GetInt("Transicion_AreaOrigen_Id"); var nombre_area_origen = row.GetString("Transicion_AreaOrigen_Descripcion"); var area_origen = new Area(id_area_origen, nombre_area_origen); var responsableAreaOrigen = new Persona(); responsableAreaOrigen.Nombre = row.GetString("Transicion_AreaOrigen_Responsable_Nombre"); responsableAreaOrigen.Apellido = row.GetString("Transicion_AreaOrigen_Responsable_Apellido"); responsableAreaOrigen.Documento = row.GetInt("Transicion_AreaOrigen_Responsable_Documento"); area_origen.Responsables = new List <Persona>(); area_origen.Responsables.Add(responsableAreaOrigen); var id_area_destino = row.GetInt("Transicion_AreaDestino_Id"); var nombre_area_destino = row.GetString("Transicion_AreaDestino_Descripcion"); var area_destino = new Area(id_area_destino, nombre_area_destino); var responsableAreaDestino = new Persona(); responsableAreaDestino.Nombre = row.GetString("Transicion_AreaDestino_Responsable_Nombre"); responsableAreaDestino.Apellido = row.GetString("Transicion_AreaDestino_Responsable_Apellido"); responsableAreaDestino.Documento = row.GetInt("Transicion_AreaDestino_Responsable_Documento"); area_destino.Responsables = new List <Persona>(); area_destino.Responsables.Add(responsableAreaDestino); var repositorioAcciones = new RepositorioDeAccionesDeTransicion(); var accion = repositorioAcciones.GetAccionDeTransicionById(row.GetInt("Transicion_Id_Accion")); var fecha = row.GetDateTime("Transicion_Fecha"); var comentario = row.GetString("Transicion_Comentario"); if (comentario == null) { comentario = ""; } una_transicion = new TransicionDeViatico(id_transicion, area_origen, area_destino, accion, fecha, comentario); un_viatico.TransicionesRealizadas.Add(una_transicion); } } }); } return(viaticos); }
protected void Page_Load(object sender, EventArgs e) { Sesion.VerificarSesion(this); //GetFotosDelDirectorio(); Encriptador crypt = new Encriptador(); //esta idtemporal es para ir agregando los id negativos a las estadias y pasajes nuevos durante el cargado if (Session["idtemporal"] == null) { Session["idtemporal"] = 0; } if (Session["personaViatico"] != null) { WSViaticosSoapClient service = new WSViaticosSoapClient(); Persona personaViat = (Persona)Session["personaViatico"]; personaViat = service.CompletarDatosDeContratacion(personaViat); Session[ConstantesDeSesion.PERSONA] = personaViat; string documentoEncriptado = crypt.getMd5Hash(personaViat.Documento + ".jpg"); this.img_perfil.ImageUrl = "../Imagenes/fotosEncriptadas/" + documentoEncriptado + ".jpg"; } /*AZA -Para control de fechas superpuestas contra la base. Ver si se deja.*/ //if (Session["estadiasAnteriores"] == null) //{ // WSViaticosSoapClient service = new WSViaticosSoapClient(); // Persona personaViat = (Persona)Session["personaViatico"]; // lista_estadias_anteriores_persona = service.GetEstadiasPorPersona(personaViat.Documento); // Session["estadiasAnteriores"] = lista_estadias_anteriores_persona; try { this.DatosDelAgente1.Agente = (Persona)Session[ConstantesDeSesion.PERSONA]; this.DatosDelAgente1.Area = (Area)Session[ConstantesDeSesion.AREA_ACTUAL]; } catch (Exception) { Response.Redirect("~\\Principal.aspx"); } if (Session["zonas"] == null) { WSViaticosSoapClient service = new WSViaticosSoapClient(); //WSViaticos.WSViaticos service = new WSViaticos.WSViaticos(); Session["zonas"] = service.ZonasDeViaticos(); Session["mediosDeTransporte"] = service.MediosDeTransporte(); Session["mediosDePagos"] = service.MediosDePago(); } List <Provincia> provincias = new List <Provincia>(); foreach (Zona unaZona in (Zona[])Session["zonas"]) { foreach (Provincia unaProvincia in unaZona.Provincias) { provincias.Add(unaProvincia); } } Provincia[] vectorProvincias = new Provincia[provincias.Count]; for (int i = 0; i < provincias.Count; i++) { vectorProvincias[i] = provincias[i]; } if (!IsPostBack) { this.ControlEstadia.Provincias = vectorProvincias; this.ControlPasaje.Medios = (MedioDeTransporte[])Session["mediosDeTransporte"]; this.ControlPasaje.Pagos = (MedioDePago[])Session["mediosDePagos"]; } this.ControlPasaje.Provincias = vectorProvincias; this.ControlPasaje.Acepto += new EventHandler(CambioCombo); this.ControlGrillaEstadias.AgregarEncabezado(); this.ControlGrillaPasajes.AgregarEncabezado(); ComisionDeServicio comision = (ComisionDeServicio)HttpContext.Current.Session[ConstantesDeSesion.VIATICO_EN_EDICION]; if ((bool)Session["VieneDeModificacion"]) { if (comision.Id != 0) { //Completar la grilla para modificar this.ControlGrillaEstadias.MostrarTablaDeEstadias(comision); this.ControlGrillaPasajes.MostrarTablaDePasajes(comision); Session["VieneDeModificacion"] = false; } } //esto es para capturar el id que se envia por la url de la pantalla y poder quitar o no de las listas string id_estadia = Request.QueryString["EstadiaAQuitar"]; string id_pasaje = Request.QueryString["PasajeAQuitar"]; QuitarEstadia(id_estadia); QuitarPasaje(id_pasaje); }