// -- Snip -- public override string[] GetAllRoles() { using (var db = new Cabspot.Models.CabspotDB()) { return(db.roles.Select(r => r.rol).ToArray()); } }
public override string[] GetUsersInRole(string roleName) { using (var db = new Cabspot.Models.CabspotDB()) { return(db.empleados.Where(r => r.roles.rol.Equals(roleName)).Select(r => r.usuario).ToArray()); } }
//crear notificacion cuando una carrera es atendida //se envia al cliente la informacion del taxista y del vehiculo, asi como la posicion donde se encuentra y el tiempo //aproximado de recogida public static void crearNotificaciones(int idCarrera) { CabspotDB db = new CabspotDB(); notificacionCliente notificacion = new notificacionCliente(); var carrera = db.carreras.Find(idCarrera); var taxista = db.taxistas.Find(carrera.idTaxista); var vehiculo = taxista.vehiculos.Where(x => x.activo).First(); //respuesta json a almacenar en bd respuestaCarera respuesta = new respuestaCarera(); respuesta.idCarrera = idCarrera; respuesta.nombreTaxista = taxista.personas.nombres + " " + taxista.personas.apellidos; respuesta.ubicacion = taxista.latitudActual + "," + taxista.longitudActual; respuesta.vehiculo = vehiculo.marca + " " + vehiculo.modelo + " " + vehiculo.anio; respuesta.colorVehiculo = vehiculo.color; notificacion.idCliente = (int)carrera.idCliente; notificacion.codigoTaxista = taxista.codigoTaxista; notificacion.nombreTaxista = taxista.personas.nombres + " " + taxista.personas.apellidos; notificacion.ubicacionTaxista = Utilidades.getAddress((double)taxista.latitudActual, (double)taxista.longitudActual); notificacion.vehiculo = vehiculo.marca + " " + vehiculo.modelo + " " + vehiculo.anio + " [" + vehiculo.color + "]"; notificacion.tiempoAproximadoRecogida = Utilidades.getTravelTime((double)carrera.latitudOrigen, (double)carrera.longitudOrigen, (double)taxista.latitudActual, (double)taxista.longitudActual); try { db.notificacionCliente.Add(notificacion); db.SaveChangesAsync(); } catch (Exception e) { } }
public override string[] GetRolesForUser(string username) { Cabspot.Models.CabspotDB db = new Cabspot.Models.CabspotDB(); var roles = db.empleados.Include(e => e.roles).Where(e => e.usuario.Equals(username)).Select(e => e.roles.rol).ToArray(); return(roles); }
//buscar codigo de verificacion public static autenticacionsmstaxista getAutenticacionSMS(string codigoVerificacion) { CabspotDB db = new CabspotDB(); if (!string.IsNullOrEmpty(codigoVerificacion)) { var listaSMS = from l in db.autenticacionSmsTaxista where l.codigo.Equals(codigoVerificacion) select l; if (listaSMS.Count() > 0) { return(listaSMS.FirstOrDefault()); } } return(null); }
public empleados getEmpleado(string username) { var db = new CabspotDB(); if (username == null) { return(null); } var empleados = from e in db.empleados where e.usuario.Equals(username) select e; if (empleados.Count() == 0) { return(null); } return(empleados.First()); }
public static List <notificacionCliente> getNotificaciones(int idCliente) { //buscar cliente CabspotDB db = new CabspotDB(); clientes cliente = db.clientes.Find(idCliente); if (cliente != null) { //buscar notificaciones para ese cliente //var notificaciones = db.notificacionCliente.Where(x => x.idCliente == cliente.idCliente).ToList(); var notificaciones = from n in db.notificacionCliente where n.idCliente == idCliente && !n.enviada select n; //var notificacionesReturn = from n in db.notificacionCliente where n.idCliente == idCliente && !n.enviada select n.tramaJson; List <notificacionCliente> notificacionesReturn = new List <notificacionCliente>(); if (notificaciones.Count() > 0) { //marcar notificaciones como leidas try { foreach (var n in notificaciones) { n.enviada = true; db.Entry(n).State = EntityState.Modified; notificacionesReturn.Add(n); } db.SaveChanges(); } catch (Exception e) { return(null); } //devolver las notificaciones return(notificacionesReturn.ToList()); } else { return(null); } } else { return(null); } }
private static void crearNotificaciones(List <taxistas> taxistasDisponibles, List <solicitudes> solicitudes) { CabspotDB db = new CabspotDB(); List <notificacionTaxista> notificaciones = new List <notificacionTaxista>(); foreach (taxistas t in taxistasDisponibles) { foreach (solicitudes s in solicitudes) { //trama json (idSolicitud y direciones origen y destino) var solicitudesTaxista = db.solicitudes.Where(x => x.idTaxista == t.idTaxista && x.idSolicitud == s.idSolicitud) .Select(x => new { x.idSolicitud, x.carreras.latitudOrigen, x.carreras.longitudOrigen, x.carreras.latitudDestino, x.carreras.longitudDestino, x.carreras.metodopago.metodoPago }); if (solicitudesTaxista.Count() > 0) { var solicitud = solicitudesTaxista.First(); notificacionTaxista notificacion = new notificacionTaxista(); notificacion.idTaxista = t.idTaxista; notificacion.metodoPago = solicitud.metodoPago; notificacion.ubicacionDestino = Utilidades.getAddress(solicitud.latitudDestino, solicitud.longitudDestino); notificacion.ubicacionOrigen = Utilidades.getAddress(solicitud.latitudOrigen, solicitud.longitudOrigen);; notificaciones.Add(notificacion); break; } } } try { db.notificacionTaxista.AddRange(notificaciones); db.SaveChangesAsync(); } catch (Exception e) { } }
public bool existe(string _usuario, string _contrasena) { CabspotDB db = new CabspotDB(); string contrasenaHash = Crypto.Hash(_contrasena); try { var usuario = from e in db.empleados where e.usuario.Equals(_usuario) && e.contrasena.Equals(contrasenaHash) select e; if (usuario.Count() > 0) { return(true); } return(false); } catch (Exception e) { return(false); } }