private async void DeleteSelectionAsync_Click(object sender, RoutedEventArgs e) { //List<Object> items = ShowTitlesListView.SelectedItems.Cast<ListViewItem>() // .Select(item => item.tit) //List<SelectedItems> selItems = new List<SelectedItems>(); var listViewItems = ShowTitlesListView.SelectedItems; foreach (var item in listViewItems) { } //ListView.sho; SelectedItems selectedItems // = new //I need to to get the selected items into a list first. //Multi selection if (ShowTitlesListView.SelectedItems.Count > 0) { // List<Title> selectedtitles = new List<Title>() // { // foreach(var item in ShowTitlesListView.SelectedItems) // new Department(){TitleID=1}, // new Department(){Id=2}, // new Department(){Id=3} //}; // (Title)ShowTitlesListView = ((Title)ShowTitlesListView.SelectedItems); using (var context = new PRSappContext()) { //( //var queryresults = // from t in context.Titles // where t.TitleId == ShowTitlesListView.SelectedItems.Add() // && t.TitleId == SelectedTitleId // select t; //context.Titles.RemoveRange(selectedTitles); await context.SaveChangesAsync(); //Refresh listview after delete var queryresults = from t in context.Titles where t.UserId == CurrentUserId // && t.TitleId == SelectedTitleId select t; int count = queryresults.Count(); if (count > 0) { //Put queryresults into a collection List <Title> selectedUsersTitles = queryresults.ToList(); //Load Update Title Panel with Selected Item ShowTitlesListView.ItemsSource = selectedUsersTitles; } //List<Title> titles = new List<Title>(); //titles = (Title)ShowTitlesListView.SelectedItems; //context.Titles.RemoveRange(items); } } //TODO: ARS- Use this if/else approach for PlayListFxsDetails List or Titles List // becuase we only want one item/row/title domain object at a sime here ////if(TitleDetailsListView.SelectedItems.Count > 0) ////{ // var title = new Title() //{ // TitleId = DeleteTitleId //}; //using (var context = new PRSappContext()) //{ // //EntityState is set as ‘Deleted’ // context.Titles.Remove(title); // //Have EF Core actually delete record from db // context.SaveChanges(); // //Refresh listview after delete // var queryresults = // from t in context.Titles // where t.UserId == CurrentUserId // select t; // int count = queryresults.Count(); // if (count > 0) // { // //Put queryresults into a collection // List<Title> selectedUsersTitles = queryresults.ToList(); // //Load Update Title Panel with Selected Item // TitleDetailsListView.ItemsSource = selectedUsersTitles; // } // ////else // ////{ // ////} //} ////} }
private async void AddTitleBigAsync_Click(object sender, RoutedEventArgs e) { string ttsRaw; string tag = (sender as Button).Tag.ToString(); if (tag == "btnAddTitleBigAsync") { #region validation user input checking (if,else if) if (String.IsNullOrEmpty(boxAddTitleNameBig.Text.Trim())) { ttsRaw = CurrentUserName + "," + "some belive, that one should give the title a name before adding it."; boxAddTitleNameBig.Focus(FocusState.Pointer); try { await this.SpeakTextAsync(ttsRaw, this.uiMediaElement); } catch (Exception ex) { Debug.WriteLine(ex.Message.ToString()); } return; } else if (String.IsNullOrEmpty(boxTtsRawBig.Text.Trim())) { ttsRaw = "Confucious say" + "." + ", there are times when it helps to give it something" + " to speak before adding it."; boxTtsRawBig.Focus(FocusState.Pointer); try { await this.SpeakTextAsync(ttsRaw, this.uiMediaElement); } catch (Exception ex) { Debug.WriteLine(ex.Message.ToString()); } return; } #endregion using (var context = new PRSappContext()) { var title = new Title { //TitleId = Auto Generated - Primary Key TitleName = boxAddTitleNameBig.Text, TtsRaw = boxTtsRawBig.Text, UserId = CurrentUserId, DirPath = "In Database" //Titles = new List<Title> //{ // new Title // { // TitleName = NewTitleTitleName.Text, // TtsRaw = NewTitleTtsRaw.Text // }, //} }; context.Titles.Add(title); //Async Save await context.SaveChangesAsync(); #region refresh Titles and Titles Details of Title just Added var usersTitles = from t in context.Titles where t.UserId == CurrentUserId orderby t.TitleId descending select t; List <Title> refreshedUsersTitles = usersTitles.ToList(); //ShowTitlesListView.ItemsSource = refreshedUsersTitles; //validation logic btnAddTitleBigAsync.IsEnabled = false; #endregion #region validation logic boxAddTitleNameBig.IsReadOnly = true; boxTtsRawBig.IsReadOnly = true; btnTestPlayBig.Focus(FocusState.Pointer); #endregion } #region refresh Titles and Title Details of Title just Added //TODO: ARS- Get last PK Id Inserted using (var context = new PRSappContext()) { var usersTitle = (from t in context.Titles // where t.UserId == CurrentUserId // select t; where t.UserId == CurrentUserId orderby t.TitleId descending select t); //.FirstOrDefault(); var takeOne = usersTitle.Take(1); List <Title> refreshedUsersTitles = takeOne.ToList(); //TitleDetailsListView.ItemsSource = refreshedUsersTitles; } #endregion } }