//Envia el correo notificando calificacion pendiente al pasajero public void CorreoCalificacionConductor(Viaje pViaje) { //inicializa los parametros de envio del correo List<string> destinatarios = new List<string> { pViaje.Conductor.Email }; string asunto = "Carpooling Colombia - Tienes un viaje por calificar"; string mensaje = "Por favor califica a los pasajeros que viajaron contigo en el viaje con destino a la ciudad de: " + pViaje.GetCiudadDestino().Direccion; mensaje += "<br/><br/>Gracias por hacer parte de Carpooling Colombia."; EnviarCorreoPlano(CuentaEmailAdministrador, destinatarios, null, null, asunto, mensaje, true); }
public List<ItemTablaPregunta> CreateItemPregunta(Viaje pViaje) { return pViaje.Preguntas.Select(p => new ItemTablaPregunta() { IdPregunta = p.IdPregunta, NombreCreador = p.CreadorPregunta.ObtenerNombreApellidos(), TextoPregunta = p.TextoPregunta, TextoRespuesta = (String.IsNullOrWhiteSpace(p.TextoRespuesta))?"Sin respuesta":p.TextoRespuesta }).ToList(); }
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(); }
//Envia el correo notificando calificacion pendiente al conductor public void CorreoCalificacionParticipante(Viaje pViaje, Usuario pUsuario) { //inicializa los parametros de envio del correo var destinatarios = new List<string> { pUsuario.Email }; //TODO probar que el trayecto venga dentro de la solicitud y no solo el id del trayecto string asunto = "Carpooling Colombia - Tienes un viaje por calificar"; string mensaje = "Por favor califica el viaje con destino a la ciudad de: " + pViaje.GetCiudadDestino().Direccion + " , en el que participaste."; mensaje += "<br/><br/>Gracias por hacer parte de Carpooling Colombia."; EnviarCorreoPlano(CuentaEmailAdministrador, destinatarios, null, null, asunto, mensaje, true); }
protected void AceptarPopUpCancelacion(object sender, EventArgs e) { if (ViajeDetalle == null) ViajeDetalle = (Viaje) Session["ViajeSeleccionado"]; mpeConfirmarCancelacion.Hide(); if (AdministradorViajes.Instancia.CancelarViaje(ViajeDetalle)) { popUpConfirmacionCancelacion.MensajePrincipal = "Ya se ha cancelado tu viaje, de tener participantes ellos seran informados"; popUpConfirmacionCancelacion.TituloPopUp = "Transaccion exitosa"; } else { popUpConfirmacionCancelacion.MensajePrincipal = "No se ha podido cancelar tu viaje, Lo sentimos."; popUpConfirmacionCancelacion.TituloPopUp = "Transaccion fallida"; } popUpConfirmacionCancelacion.MostrarPopUp(); }
public bool AceparSolicitud(Viaje pViaje, Solicitud pSolicitud) { var trayectoSeleccionado = pViaje.TrayectosViaje.Find(t => t.IdTrayecto == pSolicitud.IdTrayecto); IEnumerable<Trayecto> trayectosModificar = (trayectoSeleccionado.TrayectoSimple) ? DeterminarTrayectosAfectosTryS(pViaje, trayectoSeleccionado) : DeterminarTrayectosAfectosTryC(pViaje, trayectoSeleccionado); trayectosModificar.ToList().ForEach(t => t.CuposDisponibles -= pSolicitud.CuposSolicitados); trayectoSeleccionado.CuposDisponibles -= pSolicitud.CuposSolicitados; var trayectosSinModificar = pViaje.TrayectosViaje.Where( trayecto => trayectosModificar.ToList().All(t => t.IdTrayecto != trayecto.IdTrayecto)).ToList(); pViaje.TrayectosViaje.Clear(); pViaje.TrayectosViaje.AddRange(trayectosSinModificar.ToList()); pViaje.TrayectosViaje.AddRange(trayectosModificar); pSolicitud.Estado = Solicitud.SolicitudEstado.Aprobada; var result = TrayectoDao.Instancia.ActualizarCuposAprobados(pViaje.TrayectosViaje, pSolicitud); if(result) AdministradorCorreosElectronicos.Instancia.CorreoSolicitudAprobada(pSolicitud); return result; }
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 long ActualizarParametrosViaje(Viaje pViaje, CARPOOLEntities pContext) { var viajeEditableDb = from v in pContext.VIAJE where v.ID_VIAJE == pViaje.IdViaje select v; if(viajeEditableDb.Any()) { var viajeEncontrado = (VIAJE) viajeEditableDb.First(); viajeEncontrado.FECHA_HORA_PARTIDA = pViaje.FechaHoraPartida; viajeEncontrado.APORTE_ECONOMICO = pViaje.AporteEconomico; TrayectoDao.Instancia.BorrarTrayecto(viajeEncontrado.TRAYECTO.ToList(), pContext, false); foreach (var trayecto in pViaje.TrayectosViaje) { var trayectoDb = ToDataEntity.Instancia.ToTrayecto(trayecto); viajeEncontrado.TRAYECTO.Add(trayectoDb); } if (ConfirmarCambios(pContext) > 0) return viajeEncontrado.ID_VIAJE; } return 0; }
//Busca la lista de trayectos que deben ser modificados en terminos de cupos, dado que se acepte una //solicitud para un trayecto compuesto private List<Trayecto> DeterminarTrayectosAfectosTryC(Viaje pViaje, Trayecto pTrayectoSeleccionado) { var trayectoAlgoritmoSimple = DeterminarTrayectosAfectosTryS(pViaje, pTrayectoSeleccionado); var trayectosPendientes = pViaje.TrayectosViaje.Except(trayectoAlgoritmoSimple); var iParadaOrigen = pTrayectoSeleccionado.ParadaOrigen.NumeroParada; var iParadaDestino = pTrayectoSeleccionado.ParadaDestino.NumeroParada; var listResult = (from trayectoViaje in trayectosPendientes let tempOrigen = trayectoViaje.ParadaOrigen.NumeroParada let tempDestino = trayectoViaje.ParadaDestino.NumeroParada where (tempOrigen > iParadaOrigen && tempOrigen < iParadaDestino) || (tempDestino > iParadaOrigen && tempDestino < iParadaDestino) select trayectoViaje).ToList(); listResult.AddRange(trayectoAlgoritmoSimple); return listResult; }
//Busca la lista de trayectos que deben ser modificados en terminos de cupos, dado que se acepte una //solicitud para un trayecto simple private static List<Trayecto> DeterminarTrayectosAfectosTryS(Viaje pViaje, Trayecto pTrayectoSeleccionado) { var iParadaOrigen = pTrayectoSeleccionado.ParadaOrigen.NumeroParada; var iParadaDestino = pTrayectoSeleccionado.ParadaDestino.NumeroParada; return (from trayectoViaje in pViaje.TrayectosViaje let tempOrigen = trayectoViaje.ParadaOrigen.NumeroParada let tempDestino = trayectoViaje.ParadaDestino.NumeroParada where (iParadaOrigen > tempOrigen && iParadaOrigen < tempDestino) || (iParadaDestino > tempOrigen && iParadaDestino < tempDestino) select trayectoViaje).ToList(); }
protected void Page_Load(object sender, EventArgs e) { this.popUpCalificar.OnContinuarClick += new EventHandler(PopupCalificar_OnContinuarClick); string idViajeStr = Request.QueryString["idViajeDetalle"]; try { if (idViajeStr == null) throw new Exception("Por favor re-ingrese a la aplicacón, su tiempo de sesiòn ha expirado."); UsuarioConectado = (Usuario) Session["usuario"]; IdViaje = Convert.ToInt64(idViajeStr); ViajeDetalle = AdministradorViajes.Instancia.VerDetalleViaje(IdViaje); Session["ViajeSeleccionado"] = ViajeDetalle; if(ViajeDetalle.Estado == Viaje.ViajeEstado.Realizado) { btnEditar.Visible = false; btnCancelarViaje.Visible = false; } PintarDetalleViaje(); PintarSolicitudes(); PintarPreguntas(); PintarCalificaciones(); CrearHiddenFields(); } catch (Exception ex) { var error = new ErrorAplicacion {TituloError = ex.Message, DetalleError = ex.StackTrace}; ((Global) Context.ApplicationInstance).ErrorExcepcion = error; Response.Redirect("~/Front/Error.aspx"); } }
protected void dataListCalificaciones_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandName.ToLower().Equals("calificar")) { popUpCalificar.TituloPopUp = "Calificar a " + ((Label)e.Item.FindControl("lblParticipanteCalificar")).Text; if (ViajeDetalle == null) ViajeDetalle = (Viaje)Session["ViajeSeleccionado"]; var calificacionActual = new Calificacion() { IdCalificacion = Convert.ToInt64(((LinkButton)e.Item.FindControl("btnCalificarParticipante")).CommandArgument), IdUsuarioEvaluado = ((HiddenField)e.Item.FindControl("hdfIdEvaluado")).Value, IdUsuarioEvaluador = ((HiddenField)e.Item.FindControl("hdfIdEvaluador")).Value, IdViaje = ViajeDetalle.IdViaje }; popUpCalificar.CalificacionActual = calificacionActual; if (calificacionActual.IdUsuarioEvaluado.Equals(ViajeDetalle.Conductor.IdUsuario)) popUpCalificar.MostrarVentana(Rol.Conductor); else popUpCalificar.MostrarVentana(Rol.Pasajero); } }
//Actualiza la seccion de calificacion private void PintarCalificaciones() { if (ViajeDetalle == null) ViajeDetalle = (Viaje)Session["ViajeSeleccionado"]; hdfEstadoViaje.Value = ViajeDetalle.Estado.ToString(); if (ViajeDetalle.Estado != Viaje.ViajeEstado.Realizado) { tabCalificaciones.Visible = false; PanelCalificacionesDetalle.Visible = false; } else { List<ItemTablaCalificacion> listaCalificaciones = AdministradorCalificaciones.Instancia.CrearItemCalificacion(ViajeDetalle, UsuarioConectado); NumeroCalificacionesPendientes = listaCalificaciones.Count; if (NumeroCalificacionesPendientes > 0) { tabCalificaciones.InnerText = "Calificaciones (" + NumeroCalificacionesPendientes + ")"; dataListCalificaciones.DataSource = listaCalificaciones; dataListCalificaciones.DataBind(); lblSinCalificaciones.Visible = false; } else { lblSinCalificaciones.Visible = true; dataListCalificaciones.DataSource = null; dataListCalificaciones.DataBind(); } } }
public long GuardarViaje(Viaje viaje) { VIAJE viajeInsertar = ToDataEntity.Instancia.ToViaje(viaje); EstablecerConexion(); Conexion.VIAJE.Add(viajeInsertar); //Conexion.SaveChanges(); ConfirmarCambios(); return viajeInsertar.ID_VIAJE; }
private void ActualizarViajeDetalle() { string idViajeStr = Request.QueryString["idViajeDetalle"]; ViajeDetalle = AdministradorViajes.Instancia.VerDetalleViaje(IdViaje); Session["ViajeSeleccionado"] = ViajeDetalle; }
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); }
public VIAJE ToViaje(Viaje viajeActual) { var viajeDao = new VIAJE { //TODO esta fecha de creacion deberia ser con la horaPartidaStr y fecha del servidor FECHA_CREACION = DateTime.Now, APORTE_ECONOMICO = viajeActual.AporteEconomico, FECHA_HORA_PARTIDA = viajeActual.FechaHoraPartida, ID_CONDUCTOR = viajeActual.Conductor.IdUsuario, ESTADO = (int) viajeActual.Estado, ID_VIAJE = viajeActual.IdViaje, PREGUNTA = (viajeActual.Preguntas ==null)?null:viajeActual.Preguntas.Select(ToPregunta).ToList(), //USUARIO = (viajeActual.Conductor !=null)?ToUsuario(viajeActual.Conductor):null, //TRAYECTO = viajeActual.TrayectosViaje.Select(ToTrayecto).ToList(), CALIFICACION = (viajeActual.Calificaciones==null)?null:viajeActual.Calificaciones.Select(ToCalificacion).ToList(), TRAYECTO = new Collection<TRAYECTO>() }; foreach (Trayecto trayectoActual in viajeActual.TrayectosViaje) { var trayectoDao = new TRAYECTO { TRAYECTO_SIMPLE = trayectoActual.TrayectoSimple }; var coordenadaOrigen = new PARADA() { LATITUD = trayectoActual.ParadaOrigen.Latitud, LONGITUD = trayectoActual.ParadaOrigen.Longitud, DIRECCION= trayectoActual.ParadaOrigen.Direccion, TIPO_PARADA = trayectoActual.ParadaOrigen.TipoParada, NUMERO_PARADA = trayectoActual.ParadaOrigen.NumeroParada }; var coordenadaDestino = new PARADA() { LATITUD= trayectoActual.ParadaDestino.Latitud, LONGITUD= trayectoActual.ParadaDestino.Longitud, DIRECCION = trayectoActual.ParadaDestino.Direccion, TIPO_PARADA = trayectoActual.ParadaDestino.TipoParada, NUMERO_PARADA = trayectoActual.ParadaDestino.NumeroParada }; trayectoDao.PARADA.Add(coordenadaOrigen); trayectoDao.PARADA.Add(coordenadaDestino); trayectoDao.CUPOS = trayectoActual.CuposDisponibles; viajeDao.TRAYECTO.Add(trayectoDao); } return viajeDao; }
//Actualiza el listado de las solicitudes (Aprobadas y pendientes) segun el viaje seleccionado private void PintarSolicitudes() { if (ViajeDetalle == null) ViajeDetalle = (Viaje) Session["ViajeSeleccionado"]; List<Trayecto> listTrayectosSolicitudesPendientes = AdministradorSolicitudes.Instancia.DeterimnarTrayectosConSolicitudesPendientes( ViajeDetalle.TrayectosViaje); if (listTrayectosSolicitudesPendientes.Count > 0 && ViajeDetalle.Estado != Viaje.ViajeEstado.Realizado) { tabSolicitudes.InnerText = "Solicitudes (" + listTrayectosSolicitudesPendientes.Count + ")"; dataListSolicitudes.DataSource = listTrayectosSolicitudesPendientes; dataListSolicitudes.DataBind(); lblSinSolicitudes.Visible = false; } else { lblSinSolicitudes.Visible = true; dataListSolicitudes.DataSource = null; dataListSolicitudes.DataBind(); } List<ItemTablaSolicitud> listaSolicitudesItem = AdministradorSolicitudes.Instancia.CreateItemSolicitud(ViajeDetalle); List<ItemTablaSolicitud> solicitudesAprobadas = listaSolicitudesItem.FindAll(s => s.Estado == Solicitud.SolicitudEstado.Aprobada); if (solicitudesAprobadas.Any()) { tabParticipantes.InnerText = "Participantes (" + solicitudesAprobadas.Count + ")"; dataListParticipantes.DataSource = solicitudesAprobadas; dataListParticipantes.DataBind(); lblSinParticipantes.Visible = false; } else lblSinParticipantes.Visible = true; }
private void PintarPreguntas() { if (ViajeDetalle == null) ViajeDetalle = (Viaje) Session["ViajeSeleccionado"]; if (ViajeDetalle.Preguntas.Count > 0) { tabPreguntas.InnerText = (ViajeDetalle.Preguntas.Any(p => String.IsNullOrWhiteSpace(p.TextoRespuesta))) ? "Preguntas (" + ViajeDetalle.Preguntas.FindAll( p => String.IsNullOrWhiteSpace(p.TextoRespuesta)).Count + ")" : "Preguntas"; dataListPreguntas.DataSource = AdministradorPreguntas.Instancia.CreateItemPregunta(ViajeDetalle); dataListPreguntas.DataBind(); lblSinPreguntas.Visible = false; } else lblSinPreguntas.Visible = true; }
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 bool EliminarViaje(Viaje viaje) { EstablecerConexion(); var regViaje = from v in Conexion.VIAJE where v.ID_VIAJE == viaje.IdViaje select v; if (regViaje.Any()) { var viajeDb = regViaje.First(); viajeDb.ESTADO = 2; } return ConfirmarCambios(); }
protected void BtnEnviarSolicitud(object sender, EventArgs eventArgs) { var pasajero = (Usuario)Session["usuario"]; var idTrayecto = (long)Session["idTrayecto"]; var solicitudNueva = new Solicitud() { Comentario = txbComentario.Text, CuposSolicitados = int.Parse(txbCuposSolicitados.Text), Estado = Solicitud.SolicitudEstado.Pendiente, CreadorSolicitud = pasajero, IdTrayecto = idTrayecto }; var usuarioConectado = (Usuario)Session["usuario"]; var idViajeStr = Convert.ToInt32(Request.QueryString["idViajeDetalle"]); ViajeDetalle = AdministradorViajes.Instancia.VerDetalleViaje(idViajeStr); var conductor = (Usuario) ViajeDetalle.Conductor; if (conductor.IdUsuario.Equals(usuarioConectado.IdUsuario)) { lblMensajeError.Text = "No puede realizar participaciones a un viaje que ústed creó."; txbCuposSolicitados.Enabled = false; txbComentario.Enabled = false; panelError.Visible = true; } else if(AdministradorViajes.Instancia.HayCuposSuficientes(solicitudNueva,idTrayecto)) { if (AdministradorViajes.Instancia.RegistrarSolicitud(solicitudNueva)) { panelExitoso.Visible = true; HabilitarPopUp(false); } else { lblMensajeError.Text = "No es posible enviar mas de una solicitud al mismo trayecto."; txbCuposSolicitados.Enabled = false; txbComentario.Enabled = false; panelError.Visible = true; } } else { lblMensajeError.Text = "No hay cupos suficientes en el trayecto que usted seleccionó."; txbCuposSolicitados.Enabled = false; txbComentario.Enabled = false; panelError.Visible = true; } }
public long GuardarCambios(ViajeJSON viajeActual, Usuario conductor, string idViajeEditable) { var listParadas = new List<Parada> { viajeActual.Origin }; listParadas.AddRange(viajeActual.Waypoints); listParadas.Add(viajeActual.Destination); DateTime tmp = DateTime.ParseExact(viajeActual.FechaPartida, "MM/dd/yyyy", null); var viajeNuevo = new Viaje { IdViaje = Convert.ToInt32(idViajeEditable), FechaCreacion = DateTime.Now, AporteEconomico = viajeActual.Tarifa, Conductor = conductor, Estado = Viaje.ViajeEstado.Publicado, TrayectosViaje = CrearListadoTrayectos(listParadas, viajeActual.Cupos), FechaHoraPartida = Convert.ToDateTime(tmp.ToShortDateString() + " " + viajeActual.HoraPartida) }; var context = ViajeDao.Instancia.EstablecerConexion(); var result = ViajeDao.Instancia.ActualizarParametrosViaje(viajeNuevo, context); if(result!=0) return result; return 0; }
//Dentro del listado de mis viajes localizado en las variables de sesion busca la solicitud private Solicitud BuscarSolicitud(long idSolicitud) { if (ViajeDetalle == null) ViajeDetalle = (Viaje) Session["ViajeSeleccionado"]; foreach (Solicitud solicitudSeleccionada in ViajeDetalle.TrayectosViaje.Select( trayecto => trayecto.ListaSolicitudes.Find(t => t.IdSolicitud == idSolicitud)).Where( solicitudSeleccionada => solicitudSeleccionada != null)) { return solicitudSeleccionada; } throw new Exception("Error buscando la solicitud dentro de los trayectos del viaje"); }
protected void Page_Load(object sender, EventArgs e) { string idViajeStr = Request.QueryString["idViajeDetalle"]; if (idViajeStr != null) { bool desdeBusqueda = !String.IsNullOrWhiteSpace(Request.QueryString["b"]); if (desdeBusqueda) btnCancelarParticipacion.Visible = false; Session["idViajeDetalle"] = long.Parse(idViajeStr); UsuarioConectado = (Usuario)Session["usuario"]; IdViaje = Convert.ToInt64(idViajeStr); ViajeDetalle = AdministradorViajes.Instancia.VerDetalleViaje(IdViaje); PintarDetalleViaje(); CrearHiddenFields(); } }
//Envia el correo a los diferentes pasajeros del viaje public void CorreoCancelacionViaje(Viaje pViaje) { //inicializa los parametros de envio del correo List<string> destinatarios = pViaje.GetPasajeros().Select(p => p.Email).ToList(); string asunto = "Carpooling Colombia - Cancelación de un viaje"; string mensaje = "El viaje con destino a la ciudad de: " + pViaje.GetCiudadDestino() + ", en el cual usted se encontraba como participante en uno de los trayectos, desafortunadamente ha sido cancelado. "; mensaje += "<br/><br/>Gracias por hacer parte de Carpooling Colombia."; EnviarCorreoPlano(CuentaEmailAdministrador, destinatarios, null, null, asunto, mensaje, true); }
public bool CancelarViaje(Viaje pViaje) { pViaje.Estado = Viaje.ViajeEstado.Cancelado; if(ViajeDao.Instancia.EliminarViaje(pViaje)) { AdministradorCorreosElectronicos.Instancia.CorreoCancelacionViaje(pViaje); return true; } throw new Exception("El correo electronico a los pasajeros del viaje no ha sido enviado exitosamente, por favor re-intente realizar la acción"); }
private void CrearParadasViaje(Viaje viajeEditable) { var script = viajeEditable.GetParadasSinOrigenDestino().Aggregate<Parada, string>(null, (current, parada) => current + ("CrearParadaConCiudad('" + parada.Direccion + "'); ")); ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus", script, true); }
public long PublicarViaje(ViajeJSON viajeActual, Usuario conductor) { var listParadas = new List<Parada> {viajeActual.Origin}; listParadas.AddRange(viajeActual.Waypoints); listParadas.Add(viajeActual.Destination); DateTime tmp = DateTime.ParseExact(viajeActual.FechaPartida,"MM/dd/yyyy",null); var viajeNuevo = new Viaje { FechaCreacion = DateTime.Now, AporteEconomico = viajeActual.Tarifa, Conductor = conductor, Estado = Viaje.ViajeEstado.Publicado, TrayectosViaje = CrearListadoTrayectos(listParadas, viajeActual.Cupos), FechaHoraPartida = Convert.ToDateTime(tmp.ToShortDateString() + " " + viajeActual.HoraPartida) }; //TODO valiadaciones antes de guardar return ViajeDao.Instancia.GuardarViaje(viajeNuevo); }
protected void BtnEditarClick(object sender, EventArgs e) { if (ViajeDetalle == null) ViajeDetalle = (Viaje)Session["ViajeSeleccionado"]; if(ViajeDetalle.GetPasajeros().Count > 0) { popUpEdicionInvalidad.TituloPopUp = "Edición invalida"; popUpEdicionInvalidad.MensajePrincipal = "No es posible editar un viaje cuando ya existen pasajeros en el."; popUpEdicionInvalidad.MostrarPopUp(); } else Response.Redirect("../Viajes/EditarViaje.aspx?id=" + ViajeDetalle.IdViaje); }