public async Task SetYouTubeIdAsync(int from, int to) { var all_songs = await _liveContext.RadioSongs.ToListAsync(); //Console.WriteLine(all_songs.Count); var songs = all_songs.Where(x => all_songs.IndexOf(x) > from && all_songs.IndexOf(x) < to); foreach (var s in songs) { s.setSongID(s.Name); await _liveContext.SaveChangesAsync(); System.Threading.Thread.Sleep(3000); } }
public async Task <UserAdminDto> ChangeUserStatus(SocialLogin user) { var exUser = _liveContext.Users.FirstOrDefault(x => x.UserEmail == user.Email && x.AuthType == user.AuthType); //Console.WriteLine("-----" + user.Email); // Console.WriteLine("-----" + user.AuthType); if (exUser != null) { exUser.ChangeStatus(); _liveContext.Update(exUser); await _liveContext.SaveChangesAsync(); return(_autoMapper.Map <UserAdminDto>(exUser)); } return(null); }
public async Task <UserDto> SocialLoginAsync(string userId, string name, string email, string authType) { User user = _liveContext.Users.FirstOrDefault(x => x.UserEmail == email && x.AuthType == authType && x.UserSocialId == userId); //bool sended = _emailService.ResetPassword(user, new Guid()); if (user == null) { //Console.WriteLine("Save user to database"); if (string.IsNullOrEmpty(email)) { var wrong = new UserDto(); wrong.Email = "noEmail"; return(wrong); } else { User newUser = new User(userId, name, email, authType, "USER"); // var usersCount = _liveContext.Users. await _liveContext.AddAsync(newUser); await _liveContext.SaveChangesAsync(); var userDto = _autoMapper.Map <UserDto>(newUser); userDto.JwtToken = _jwtService.CreateToken(newUser.ID, newUser.UserRole).Token; return(userDto); } } else { if (!user.IsActive) { Log.Warning($"Try get deactivate user: {user.UserName}"); return(null); } //Console.WriteLine($"login existing user: {user.UserYoutubes.Count}"); //user.UserYoutubes.Add(new UserYoutube("dVVsa","dVVVas","dVVfs","gdVVV")); user.NextLogin(); _liveContext.Update(user); await _liveContext.SaveChangesAsync(); } var userDtoExist = _autoMapper.Map <UserDto>(user); userDtoExist.JwtToken = _jwtService.CreateToken(user.ID, user.UserRole).Token; return(userDtoExist); }
public async Task DeleteByYouTubeId(string id) { var archiveSongs = await GetByYouTubeFromArchive(id); var actuallSongs = await GetByYouTubeFromActuall(id); if (archiveSongs != null) { _liveContext.ArchiveSongs.RemoveRange(archiveSongs); } if (actuallSongs.Count > 0) { _liveContext.Songs.RemoveRange(actuallSongs); } await _liveContext.SaveChangesAsync(); }
public async Task <string> ChangeRating(string newRating, string videoId) { var movies = await _liveContext.TVMovies.Include(x => x.YouTube) .Where(x => x.YouTube.VideoID == videoId).ToListAsync(); var archMovies = await _liveContext.ArchiveMovies.Include(x => x.YouTube) .Where(x => x.YouTube.VideoID == videoId).ToListAsync(); string rating = "0,0"; var actuallMovie = movies.FirstOrDefault(); if (actuallMovie != null) { if (string.IsNullOrEmpty(newRating)) { rating = actuallMovie.getFilmwebRating(); } else { rating = newRating; } _liveContext.Update(actuallMovie); foreach (var movie in movies) { movie.changeRating(rating); //movie.getFilmwebRating(); _liveContext.Update(movie); } foreach (var movie in archMovies) { movie.changeRating(rating); //movie.getFilmwebRating(); _liveContext.Update(movie); } } await _liveContext.SaveChangesAsync(); return(rating); }
public async Task <bool> AddYouTubeAsync(EntitySetter addYoutube, Guid userId, string tagsString) { var exist = _liveContext.UserYoutubes.FirstOrDefault(x => x.UserId == userId && x.VideoId == addYoutube.Id); if (exist == null) { var titles = addYoutube.Title.Split("||").ToList(); string title = titles.Count > 0 ? titles[0] : addYoutube.Title; var newYoutube = new UserYoutube(userId, addYoutube.Id, title, addYoutube.Left, addYoutube.Top, addYoutube.FolderId, tagsString, addYoutube.Source); _liveContext.UserYoutubes.Add(newYoutube); await _liveContext.SaveChangesAsync(); return(true); } else { return(false); } }
public async Task SongsUpdateAsync() { if (InfoCaches.duringSongsUpdate) { return; } InfoCaches.duringSongsUpdate = true; try { //Log.Information("Start radio songs updating"); //Console.WriteLine($"{DateTime.Now} Start radio songs updating"); var stations = new Dictionary <int, string>() { { 1, "zet" }, { 2, "rmf" }, { 3, "eska" }, { 4, "rmfmaxx" }, { 9, "zloteprzeboje" }, { 30, "vox" }, { 40, "chillizet" } }; var dateLast = await GetLastDate(); // Console.WriteLine("Context works datelst -> " + dateLast); //Console.WriteLine(dateLast); var dateNow = DateTime.Now; int hourNow = dateNow.Hour; //Console.WriteLine(dateNow ); var hours = (dateNow - dateLast).TotalHours; int i = 0; int h = 50; if (hours >= 12) { i = 12; } if (hourNow == dateLast.Hour && hours < 12) { i = 0; } if (hourNow != dateLast.Hour && hours < 12) { while (h != hourNow) { dateLast = dateLast.AddHours(1); h = dateLast.Hour; i++; } } var listOfInitialSongs = new List <Song>(); var songsCount = 0; for (int j = 0; j < i; j++) { var hourTo = dateNow.AddHours(-j).Hour; var dateBase = dateNow.AddHours(-j); var date = dateNow.AddHours(-j - 1).ToString("dd-MM-yyyy"); var hourFrom = dateNow.AddHours(-j - 1).Hour; foreach (var s in stations.Keys) { string addres = "https://www.odsluchane.eu/szukaj.php?r=" + s + "&date=" + date + "&time_from=" + hourFrom + "&time_to=" + hourTo; //Console.WriteLine(addres); var names = getSongsNamesFromUrl(addres); if (names.Count > 0) { foreach (var name in names) { listOfInitialSongs.Add(new Song(name, stations[s], dateBase)); } } } } //Log.Information($"Radio Songs UPDATED with {listOfInitialSongs.Count} songs"); //Console.WriteLine($"Radio Songs UPDATED with {listOfInitialSongs.Count} songs"); if (listOfInitialSongs.Count > 0) { var toManyReq = false; songsCount = listOfInitialSongs.Count; //using(var context = new LiveContext(_sql)) //using(var context = new LiveContext()) //{ try { foreach (var song in listOfInitialSongs) { var archiveSong = await _context.ArchiveSongs.Include(x => x.YouTube).FirstOrDefaultAsync(s => s.Name == song.Name); if (archiveSong is null) { if (toManyReq == false) { song.SetYoutube(); } else { song.SetWhileYoutube(); } if (song.YouTube.VideoID.Contains("FirstError")) { Log.Warning("First ERROR from Song Update"); toManyReq = true; } var toArchiveSong = new ArchiveSong(song); //Console.WriteLine("Adding new song to archive"); await _context.ArchiveSongs.AddAsync(toArchiveSong); await _context.SaveChangesAsync(); } else { song.SetYoutube(archiveSong); } song.Added = DateTime.Now; //Console.WriteLine("Adding song to Songs"); await _context.Songs.AddAsync(song); songsCount = songsCount - 1; } await _context.SaveChangesAsync(); } catch (Exception ex) { Log.Error($"Error while updating songs: {ex.Message}"); Log.Error(ex.StackTrace); //context.Dispose(); } //} } if (listOfInitialSongs.Count > 0) { //using(var context = new LiveContext(_sql)) // using(var context = new LiveContext()) //{ _context.Songs.RemoveRange(_context.Songs.Where(s => s.PlayAt < dateNow.AddHours(-13))); await _context.SaveChangesAsync(); //} var errors = listOfInitialSongs.Where(x => x.YouTube.VideoID.Contains("Error")).ToList(); Log.Information($"Finish radio songs update with {listOfInitialSongs.Count} songs and {errors.Count} youtube errors"); //Console.WriteLine($"Finish radio songs update with {listOfInitialSongs.Count} songs and {errors.Count} youtube errors"); } InfoCaches.duringSongsUpdate = false; } catch (Exception ex) { Log.Error($"Error in updating songs {ex.Message}"); Log.Error(ex.StackTrace); Console.WriteLine($"Error in updating songs {ex.Message}"); Console.WriteLine(ex.StackTrace); InfoCaches.duringSongsUpdate = false; } }
public async Task UpdateAsync() { Console.WriteLine("Start updatign books"); var bestList = new List <Book>(); await _liveContext.SaveChangesAsync(); var bonitos = await new Bonito().GetBestsellersAsync(); bestList.AddRange(bonitos); var aros = await new Aros().GetBestsellersAsync(); bestList.AddRange(aros); var czytams = await new Czytam().GetBestsellersAsync(); bestList.AddRange(czytams); var empiks = await new Empik().GetBestsellersAsync(); bestList.AddRange(empiks); var gandalfs = await new Gandalf().GetBestsellersAsync(); bestList.AddRange(gandalfs); var livros = await new Livro().GetBestsellersAsync(); bestList.AddRange(livros); var profit24s = await new Profit24().GetBestsellersAsync(); bestList.AddRange(profit24s); Log.Information($"Finish bestsellers update with {bestList.Count} books"); Log.Information($"{bonitos.Count} from Bonito"); Log.Information($"{aros.Count} from Aros"); Log.Information($"{czytams.Count} from Czytam"); Log.Information($"{empiks.Count} from Empik"); Log.Information($"{gandalfs.Count} from Gandalf"); Log.Information($"{livros.Count} from Livro"); Log.Information($"{profit24s.Count} from Profit24"); var actualBestsellers = _liveContext.Bestsellers.ToList(); _liveContext.Bestsellers.RemoveRange(_liveContext.Bestsellers.Where(x => x.Store != "")); _liveContext.SaveChanges(); int group = 1; foreach (var book in bestList) { var theSameList = bestList.Where(x => x.GroupNo == -1) .Where(x => x.TheSame(book.Title, book.Author)).ToList(); if (theSameList.Count > 0) { foreach (var theSameBook in theSameList) { theSameBook.GroupNo = group; } group++; } } int no = 1; foreach (var book in bestList) { var exists = actualBestsellers.FirstOrDefault(x => x.ImageSrc == book.ImageSrc); if (exists != null) { Console.WriteLine("Added exists"); exists.Added = DateTime.Now; var theSame = bestList .FirstOrDefault(x => x.TheSame(exists.Title, exists.Author)); if (theSame != null) { exists.SetGroupNo(theSame.GroupNo); } else { int max = bestList.Select(x => x.GroupNo).Max() + no; no++; exists.SetGroupNo(max); } await _liveContext.Bestsellers.AddAsync(exists); } else { var bestseller = new Bestseller(book); bestseller.Added = DateTime.Now; Console.WriteLine("Added new"); await _liveContext.Bestsellers.AddAsync(bestseller); } } await _liveContext.SaveChangesAsync(); InfoCaches._booksUpdatingRunning = true; // Console.WriteLine("========Finish book update=========="); }