Exemplo n.º 1
0
        // -- Snip --

        public override string[] GetAllRoles()
        {
            using (var db = new Cabspot.Models.CabspotDB())
            {
                return(db.roles.Select(r => r.rol).ToArray());
            }
        }
Exemplo n.º 2
0
 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());
     }
 }
Exemplo n.º 3
0
        //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)
            {
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 6
0
        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());
        }
Exemplo n.º 7
0
        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);
            }
        }
Exemplo n.º 8
0
        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)
            {
            }
        }
Exemplo n.º 9
0
        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);
            }
        }