コード例 #1
0
        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
            //    ////{
            //    ////}
            //}
            ////}
        }
コード例 #2
0
        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
            }
        }