public EPersona asignarRol(int id, Rol rol) { EPersona ep = iPersona.getPersona(id); if (rol == Rol.Admin) { iAdmin.addAdmin(ep.id); return(ep); } if (rol == Rol.Conductor) { iConductor.addConductor(ep.id, new DateTime(1900, 10, 10)); // 10/10/1900 significa NULL return(ep); } if (rol == Rol.Usuario) { iUsuario.addUsuario(ep.id); return(ep); } return(ep); }
/// <summary> /// /// </summary> /// <param name="idViaje"></param> /// <param name="idUsuario"> -1 si el usuario no esta logeado. </param> /// <param name="idParadaOrigen"></param> /// <param name="idParadaDestino"></param> /// <param name="tipoDoc"> "vacio" si el usaurio esta logeado.</param> /// <param name="documento"> "vacio" si el usaurio esta logeado.</param> /// <param name="asiento"> Se gurdara -1 si, el costo de pasaje es inferior al parámetro.</param> /// <returns></returns> public EPasaje comprarPasaje(int idViaje, int idUsuario, int idParadaOrigen, int idParadaDestino, string tipoDoc, string documento, int asiento) { EViaje ev = iViaje.getViaje(idViaje); if (ev == null) { return(null); //Si no encuentra el viaje retorna null } ESalida es = iSalida.getSalidas(ev.IdSalida); if (es == null) { return(null); //Si no encuentra una salida retorna null } ELinea el = iLinea.getLinea(es.IdLinea); if (el == null) { return(null); //Si no encuentra una linea retorna null } List <ETramo> tramos = el.Tramo.ToList <ETramo>(); int posOrigen = -1; int posdestino = -1; foreach (var t in tramos) { if (t.IdLinea == el.IdLinea && t.IdParada == idParadaOrigen) { posOrigen = tramos.IndexOf(t); } if (t.IdLinea == el.IdLinea && t.IdParada == idParadaDestino) { posdestino = tramos.IndexOf(t); } } List <ETramo> subTramos = new List <ETramo>(); for (int e = posOrigen; e <= posdestino; e++) { subTramos.Add(tramos.ElementAt(e)); } int cosotP = 0; foreach (var s in subTramos) { cosotP = cosotP + iTramo.valorVigente(s.IdLinea, s.IdParada); } EParametro epara = iParametro.getAllParametros().Last(); if (epara.Valor > cosotP) { asiento = -1; } EPasaje ep = new EPasaje(); if (idUsuario == -1) //Usuario NOO logeado { ep = iPasaje.addPasaje(asiento, documento, tipoDoc, idViaje, idParadaDestino, idParadaOrigen, idUsuario); } else //Usuario Logeado { EPersona epe = iPersona.getPersona(idUsuario); string strTipoDoc; if (epe.TipoDocumento == 1) { strTipoDoc = "CI"; } else { strTipoDoc = "Credencial"; } ep = iPasaje.addPasaje(asiento, epe.Documento, strTipoDoc, idViaje, idParadaDestino, idParadaOrigen, idUsuario); EPersona eper = iPersona.getPersona(idUsuario); string correoE = eper.Correo; enviarCorreo(correoE, ep.IdPasaje.ToString(), eper, ep, cosotP);//generar pdf con codigo QR y enviarlo } return(ep); }