/// <summary> /// Метод добавления аудио в БД /// </summary> /// <param name="audio">Аудиозапись</param> /// <returns>Возвращает true, если успешно</returns> public bool AddAudio(SocialNetworkAudio audio) { using (db = provider.GetProvider()) { db.SocialNetworkUserAudios.Add(audio); db.SaveChanges(); return(true); } }
private async void LoadAudiosVK() { await Task.Run(() => { enabledLoadButton = false; try { // Нужно выбрать только цифры из адреса вк int UserID = 0; int.TryParse(string.Join("", selectedSocialNetwork.WebAddress.Where(c => char.IsDigit(c))), out UserID); var user = VkLogic.MyApi.UserLogic.GetUser(UserID); if (!user.IsClosed.Value) { var audiosVK = VkLogic.MyApi.AudiosLogic.GetAudious(UserID); foreach (var item in audiosVK) { // Ищем аудио в БД var findAudio = logic.GroupLogic.GetOneGroup(selectedSocialNetwork.Id, item.Title).Result; // Если группа не найдена в БД, то добавь ее в БД if (findAudio == null) { SocialNetworkAudio audio = new SocialNetworkAudio() { SocialNetworkUserID = selectedSocialNetwork.Id, ArtistName = item.Artist, AudioName = item.Title, Duration = item.Duration, DateAddedOnDB = System.DateTime.Now, DateAddedSocNetw = item.Date }; logic.AudiosLogic.AddAudio(audio); } } } else { MessageBox.Show("Профиль закрытый!", "Ошибка!", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.No, MessageBoxOptions.ServiceNotification); } } catch (NullReferenceException) { MessageBox.Show("Авторизируйтесь в социальной сети!", "Ошибка!", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.No, MessageBoxOptions.ServiceNotification); return; } catch (Exception ex) { MessageBox.Show($"{ex.Message}", "Ошибка!", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.No, MessageBoxOptions.ServiceNotification); return; } finally { enabledLoadButton = true; LoadAudios(); } }); }