Example #1
0
 public RadioController(IRadioSongRepository radioRepository, ISongsRepository songRepository)
 {
     this._radioRepository = radioRepository;
     this._songRepository  = songRepository;
 }
Example #2
0
        public AdminModule(IAdminRepository adminRepository,
                           IHmacProvider hmacProvider, IRequest request,
                           DatabaseSong dbsong, DatabaseDomain dbDomain,
                           IDeezerApi deezerApi, IRadioSongRepository radioSongRepository) : base("admin")
        {
            this.RequiresAuthentication();

            Get["/"] = _ => View["index"];

            Get["/AddUser"] = _ => View["addUser"];

            Post["/addUser"] = parameter =>
            {
                var model = this.Bind <AddUserViewModel>();

                if (!adminRepository.Exists(model.Login))
                {
                    adminRepository
                    .Add(
                        model.Login,
                        hmacProvider.GenerateHmac(model.Password));
                }

                return(Response.AsRedirect("/admin"));
            };

            Get["/GetCoordinate"] = _ =>
            {
                var hackManager = new HackManager(request);

                var flattenAsDateIp = File.ReadAllLines("/var/log/auth.log").Select(x =>
                {
                    var dateIp = DateIpParsor.Line(x);
                    return(dateIp);
                })
                                      .Where(x => !x.IsEmpty)
                                      .GroupBy(x => new { x.Date, x.Ip })
                                      .Select(x => DateIp.Create(x.Key.Date, x.Key.Ip))
                                      .ToList();

                var localizations = hackManager.GetLocalization(flattenAsDateIp);

                return(Response.AsJson(localizations));
            };

            Get["GenerateSong"] = _ =>
            {
                dbsong.Create();
                var playlistIds = deezerApi
                                  .GetPlaylistIdsByUserId(
                    "frKtbRGI9G18kljXooH4oQ0XbmntBD7oXeKBVBcVKIyjMMSDle0",
                    UserId.Parse("4934039"), s => s.ToLower().Contains("djam"));


                foreach (var playlistId in playlistIds)
                {
                    var songs = deezerApi.GetSongsByPlaylistId("frKtbRGI9G18kljXooH4oQ0XbmntBD7oXeKBVBcVKIyjMMSDle0", playlistId);

                    foreach (var deezerSong in songs)
                    {
                        if (!radioSongRepository.SongExists(deezerSong.Id))
                        {
                            Console.WriteLine(deezerSong.Id);
                            radioSongRepository.Add(deezerSong.Id, "NUSED", deezerSong.Title, deezerSong.Artist);
                        }
                    }
                }

                return("ok");
            };

            Get["GenerateDomain"] = _ =>
            {
                dbDomain.Create();

                dbsong.Create();
                return("ok");
            };
        }
Example #3
0
 public RadioSongHandler(IRadioSongRepository radioSongRepository, IDeezerApi deezerApi)
 {
     _radioSongRepository = radioSongRepository;
     _deezerApi           = deezerApi;
 }