private void Paso2Viaje(Viaje viajeEditable)
        {
            txbCiudadOrigen.Text = viajeEditable.GetCiudadOrigen().Direccion;
            txbCiudadDestino.Text = viajeEditable.GetCiudadDestino().Direccion;

            txbCupos.Text = "0";
            txbFechaPartida.Text = viajeEditable.FechaHoraPartida.ToString("MM/dd/yyyy");
            txbHora.Text = viajeEditable.FechaHoraPartida.ToString("hh:mm tt").Replace(".","");
            txbTarifa.Text = Convert.ToInt32(viajeEditable.AporteEconomico).ToString();
            txbCupos.Text = viajeEditable.TrayectosViaje.First().CuposDisponibles.ToString();
        }
        public List<ItemTablaCalificacion> CrearItemCalificacion(Viaje pViaje, Usuario pUsuarioApp)
        {
            var listaResultados = new List<ItemTablaCalificacion>();
            List<Calificacion> listaCalificaciones;

            if (pViaje.Calificaciones != null && pViaje.Calificaciones.Count > 0)
            {
                listaCalificaciones = pViaje.Calificaciones.Where(c => c.IdUsuarioEvaluador == pUsuarioApp.IdUsuario && c.FechaRealizacion == null).ToList();
                listaResultados = listaCalificaciones.Select(c => new ItemTablaCalificacion()
                    {
                        CiudadDestino = pViaje.GetCiudadDestino().Direccion,
                        CiudadOrigen = pViaje.GetCiudadOrigen().Direccion,
                        IdEvaluador = c.IdUsuarioEvaluador,
                        IdEvaluado = c.IdUsuarioEvaluado,
                        NombreParticipante = pViaje.GetPasajeros().Find(p => p.IdUsuario == c.IdUsuarioEvaluado).ObtenerNombreApellidos(),
                        Reputacion = pUsuarioApp.Reputacion != null ? pUsuarioApp.Reputacion.ToString() : "Sin reputación",
                        IdCalificacion = c.IdCalificacion
                    }).ToList();
            }
            return listaResultados;
        }
        public List<ItemTablaSolicitud> CreateItemSolicitud(Viaje pViaje)
        {
            var listaResult = new List<ItemTablaSolicitud>();
            foreach (var trayecto in pViaje.TrayectosViaje)
            {
                if (trayecto.ListaSolicitudes == null) continue;
                var trayecto1 = trayecto;
                //var listaTrayectosPendientes = trayecto.ListaSolicitudes.FindAll(s => s.Estado == Solicitud.SolicitudEstado.Pendiente);

                listaResult.AddRange(trayecto.ListaSolicitudes.Select((solicitud => new ItemTablaSolicitud()
                    {
                        CiudadDestino = pViaje.GetCiudadDestino().Direccion,
                        CiudadOrigen = pViaje.GetCiudadOrigen().Direccion,
                        Comentario = solicitud.Comentario,
                        CuposDisponibles = trayecto1.CuposDisponibles.ToString(),
                        CuposSolicitados = solicitud.CuposSolicitados.ToString(),
                        IdSolicitud = solicitud.IdSolicitud,
                        NombreSolicitante = solicitud.CreadorSolicitud.ObtenerNombreApellidos(),
                        //TODO la reputacion podria mostrarse con unas estrellas
                        Reputacion = (String.IsNullOrWhiteSpace(solicitud.CreadorSolicitud.Reputacion.ToString()))
                                         ? "Sin reputacion"
                                         : solicitud.CreadorSolicitud.Reputacion.ToString(),
                        Estado = solicitud.Estado
                    })));
            }
            return listaResult;
        }
        public void CorreoParticipacionCancelada(Viaje pvViaje, Solicitud pSolicitud)
        {
            //inicializa los parametros de envio del correo
            var destinatarios = new List<string> { pvViaje.Conductor.Email };

            string asunto = "Carpooling Colombia - Participacion cancelada";

            string mensaje = "El participante: " + pSolicitud.CreadorSolicitud.ObtenerNombreApellidos() +
                             " ha decidido cancelar la participación en uno de tus viajes, desde la ciudad de: " +
                             pvViaje.GetCiudadOrigen().Direccion +
                             " hasta la ciudad de: " + pvViaje.GetCiudadDestino().Direccion;

            mensaje += "<br/> Puedes ver mas informacion con relacion al viaje dentro del listado de tus viajes.";
            mensaje += "<br/><br/>Gracias por hacer parte de Carpooling Colombia.";
            EnviarCorreoPlano(CuentaEmailAdministrador, destinatarios, null, null, asunto, mensaje, true);
        }