public ActionResult BusquedaCanciones([Bind(Include = "titulo, artista")] string titulo, string artista)
        {
            //Comprobamos que se haya metido titulo
            if (titulo.Trim().CompareTo("") != 0)
            {
                API.Api api = new API.Api();
                //Modelo de params ?q_track=buried alive&q_artist=avenged&apikey=9e7110145522bfa2bf3eb372b19e0ac9
                //APIKEY PARAMETRO &apikey=9e7110145522bfa2bf3eb372b19e0ac9

                //Realizamos la búsqueda de las canciones en la API
                Song cancion = api.cargaCancion(TITLEPARAM + titulo + ARTISTPARAM + artista);

                //Comprobamos el resultado
                if (cancion != null)
                {
                    ViewBag.nombre = User.Username;
                    return(View("cancionEncontrada", cancion));
                }
                else
                {
                    ViewBag.mensaje = "No se ha encontrado la canción en la base de datos de la API";
                    return(View("Error"));
                }
            }

            else
            {
                ViewBag.mensajeTitulo = "Debe introducirse un titulo";
                return(View());
            }
        }
Beispiel #2
0
        public static async Task BookActivities()
        {
            DocumentDbRepository <Activity> .Initialize();

            DocumentDbRepository <ApplicationUser> .Initialize();

            var bookingDay = DateTime.Today.AddDays(6);
            var activities = (await DocumentDbRepository <Activity> .GetItemsAsync(x => x.Text.Contains(bookingDay.ToString("dddd").Substring(0, 5)))).ToList();

            var activityIds = activities.Select(activity => activity.Id);
            var users       = (await DocumentDbRepository <ApplicationUser> .GetAllItemsAsync())
                              .Where(user => user.ActivityIds.Intersect(activityIds).Any()).ToList();

            users.ForEach(user =>
            {
                var api = new API.Api(user.LeisureBookingUsername, user.LeisureBookingPassword);

                activities.ForEach(activity =>
                {
                    if (user.ActivityIds.Contains(activity.Id))
                    {
                        api.BookActivity(activity.Id);

                        //Handle the response from the booking method.
                        //We will email the user if there is a problem.
                    }
                });

                api.LogOut();
            });
        }
Beispiel #3
0
        public static async Task UpdateActivities()
        {
            DocumentDbRepository <Activity> .Initialize();

            DocumentDbRepository <ApplicationUser> .Initialize();

            var user = await DocumentDbRepository <ApplicationUser> .GetFirstItemAsync();

            var api = new API.Api(user.LeisureBookingUsername, user.LeisureBookingPassword);
            var scrapedActivities = api.GetActivities();

            var activities = await DocumentDbRepository <Activity> .GetAllItemsAsync();

            PersistActivities(scrapedActivities, activities);
        }