public TimeLines_n_CreateBig_Page()
 {
     this.InitializeComponent();
     //CurrentUserName = "******";
     //SignInUserPwd.Text = "******";
     //TODO: ARS-Get user's Name for Interactive.
     CurrentUserName = "******";
     using (var db = new PRSappContext())
     {
         //UsersDefaulHomePageListView.ItemsSource = db.Titles.ToList();
         ShowTitlesListView.ItemsSource = db.Titles.ToList();
         //UpdateTitlesListView.ItemsSource = db.Titles.ToList();
         //DeleteTitlesListView.ItemsSource = db.Titles.ToList();
     }
 }
Пример #2
0
        private static void Main()
        {
            SetupDatabase();

            using (var db = new PRSappContext())
            {
                #region Query
                var pListAndItems = db.PlayListAndItems.ToList();

                foreach (var pListAndItem in pListAndItems)
                {
                    Console.WriteLine($"{pListAndItem.PlayListName} has {pListAndItem.PlayListName} PlayListItems.");//
                    Console.WriteLine();
                }
                #endregion
            }
        }
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            #region Show current users titles
            using (var context = new PRSappContext())
            {
                var usersTitles =
                    from t in context.Titles
                    where t.UserId == CurrentUserId
                    orderby t.TitleId descending
                    select t;

                List <Title> selectedUsersTitles = usersTitles.ToList();
                //foreach (var title in selectedUsersTitles)
                //{
                //    Debug.WriteLine(selectedUsersTitles.ToString());
                //}

                //Refresh ListView's ItemsSource
                ShowTitlesListView.ItemsSource = selectedUsersTitles;
            }
            #endregion
        }
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            using (var db = new PRSappContext())
            {
                ShowTitlesListView.ItemsSource = db.Titles.ToList();
            }

            #region Show current users titles
            using (var context = new PRSappContext())
            {
                var usersTitles =
                    from t in context.Titles
                    where t.UserId == CurrentUserId
                    orderby t.TitleId descending
                    select t;

                List <Title> selectedUsersTitles = usersTitles.ToList();

                //Refresh ListView's ItemsSource
                ShowTitlesListView.ItemsSource = selectedUsersTitles;
            }
            #endregion
        }
Пример #5
0
        /// <summary>
        /// Initializes the singleton application object.  This is the first line of authored code
        /// executed, and as such is the logical equivalent of main() or WinMain().
        /// </summary>
        public App()
        {
            this.InitializeComponent();
            this.Suspending += OnSuspending;

            #region ARS- code set 1.1 (part 1 or 2) Handling PRSapp app life cycle
            //ORIGIN of this code Set https://docs.microsoft.com/en-us/windows/uwp/launch-resume/reduce-memory-usage
            // Subscribe to key lifecyle events to know when the app
            // transitions to and from foreground and background.
            // Leaving the background is an important transition
            // because the app may need to restore UI.
            this.EnteredBackground += AppEnteredBackground;
            this.LeavingBackground += AppLeavingBackground;

            // During the transition from foreground to background the
            // memory limit allowed for the application changes. The application
            // has a short time to respond by bringing its memory usage
            // under the new limit.
            Windows.System.MemoryManager.AppMemoryUsageLimitChanging += MemoryManager_AppMemoryUsageLimitChanging;

            // After an application is backgrounded it is expected to stay
            // under a memory target to maintain priority to keep running.
            // Subscribe to the event that informs the app of this change.
            Windows.System.MemoryManager.AppMemoryUsageIncreased += MemoryManager_AppMemoryUsageIncreased;
            #endregion



            ////ARS- The Below Using statement is to: Add Code to create the database on application startup\\\\
            //Since you want the database to be created on the device that the app runs on, add code
            //to apply any pending migrations to the local database on application startup.
            //The first time that the app runs, this will take care of creating the local database.
            using (var db = new PRSappContext())
            {
                db.Database.Migrate();
            }
        }
        private void ShowTitlesListView_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //Title dt_t = new Title();
            //List<Title> ts = new List<Title>();
            //ts.Add(dt_t.TitleId = 100);
            //    dt_t.TitleName = "Name1",
            //    dt_t.TtsRaw="IpsumLipsi",
            //    dt_t.UserId= 44,
            //    dt_t.DirPath = "C:Users\\Documents\\Media");

            //ts.Add("TitleName1", "C:Users\\Documents\\Media");
            //Multi selection
            if (ShowTitlesListView.SelectedItems.Count > 1)
            {
                // List<Object> DeletionTitles;// = new List<Title>();
                //  List<Title>  DeletionTitles = ((Title)ShowTitlesListView.SelectedItems);
                //  DeletionTitles.AddRange(SelectedTitles);

                //List<Title> selectedTitles = selectedTitlesID;
                //Get public Title Id for Deleting a single and user forgets to select it
                // SelectedTitleId = selectedTitlesID.TitleId;

                //var TitlesList = new List<Title>();
                //using (var context = new PRSappContext())
                //{
                //    var TitlesSelected =
                //    from t in context.Titles
                //    where t.TitleId == DeletionTitles.TitleId
                //    select t;

                //    // TitleListIds.AddRange(usersTitleDetails);
                //    TitleListIds = TitlesSelected.ToList();
                //    foreach (var item in TitleListIds)
                //    {
                //        Trace.WriteLine(item);
                //    }


                //Refresh Show Titles List View
                List <Title> selectedTitles = TitleListIds; //usersTitleDetails.ToList();
            }
            //}

            //== "test")
            //if (ShowTitlesListView.SelectedItems.Count > 1)
            //{

            //        Title selectedTitleID = ((Title)ShowTitlesListView.SelectedItem);
            //        List<Title> selectedTitlesID = new List<Title>();
            //        //Get public Title Id for Deleting a single and user forgets to select it
            //        SelectedTitleId = selectedTitleID.TitleId;

            //    var TitlesList = new List<Title>();
            //        using (var context = new PRSappContext())
            //        {
            //           var usersTitleDetails =
            //           from t in context.Titles
            //           where t.TitleId == selectedTitleID.TitleId
            //           select t;

            //       // TitleListIds.AddRange(usersTitleDetails);

            //        List<Title> selectedUsersTitles = TitleListIds; //usersTitleDetails.ToList();


            //        }

            //}

            DataPackage dataPackage = new DataPackage();

            foreach (var item in e.AddedItems.OfType <ListViewItem>())
            {
                // copy
                dataPackage.RequestedOperation = DataPackageOperation.Copy;
            }
            //TitlesListView Title = ((new_client)Listview.SelectedItem);
            //MyClient.new_name;
            //MyClient.new_clientId;

            if (ShowTitlesListView.SelectedItems.Count > 0)
            {
                Title selectedTitleID  = ((Title)ShowTitlesListView.SelectedItem);
                int   _selectedTitleID = selectedTitleID.TitleId;
                //Get public Title Id for Deleting a single and user forgets to select it
                SelectedTitleId = selectedTitleID.TitleId;

                using (var context = new PRSappContext())
                {
                    var usersTitleDetails =
                        from t in context.Titles
                        where t.TitleId == selectedTitleID.TitleId
                        select t;

                    List <Title> selectedUsersTitles = usersTitleDetails.ToList();

                    ////TitleDetailsListView.ItemsSource = selectedUsersTitles;
                    ////TitleDetailsListView.SelectedIndex = 0;
                }
            }

            #region Commented code for Selected item, Index, DataValue, and DataValuePath
            // Debug.WriteLine("Selected: {0}", e.AddedItems[0]);

            // SelectedItemIndex = ShowTitlesListView.SelectedIndex;
            // Debug.WriteLine(SelectedItemIndex.ToString());

            //  SelectedItem = ShowTitlesListView.SelectedItem;
            // Debug.WriteLine(SelectedItem.ToString());

            // var SelectedDataValue = ShowTitlesListView.SelectedValue;
            // Debug.WriteLine(SelectedDataValue.ToString());

            // var SelectedValuePath = ShowTitlesListView.SelectedValuePath;
            // Debug.WriteLine(SelectedValuePath.ToString());

            //  String text = UsersTitlesPListView.SelectedItems[2].ToString();
            //do something

            //  var lookat = text;
            //var item = e.AddedItems?.FirstOrDefault();
            ////int Uid = (int)item.ToString

            //if (TitlesListView.SelectedItems.Count > 0)
            //{
            //    var itemrow = ShowTitlesListView.SelectedItems[0];
            //    //rest of your logic
            //}

            //if (TitlesListView.SelectedItems.Count > 0)
            //{
            //    var myitem = ShowTitlesListView.SelectedItems[0];
            //    //rest of your logic
            //}
            #endregion
        }
        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
            }
        }
Пример #9
0
        private static void SetupDatabase()
        {
            using (var db = new PRSappContext())
            {
                if (db.Database.EnsureCreated())
                {
                    //working way down
                    db.PlayLists.Add(
                        new PlayList
                    {
                        Name          = "Fish PlayList",
                        Uses          = "ForceTalk",
                        PlayListItems = new List <PlayListItem>
                        {
                            new PlayListItem {
                                ItemTitleName = "Fish care 101"
                            },
                            new PlayListItem {
                                ItemTitleName = "Caring for tropical fish"
                            },
                            new PlayListItem {
                                ItemTitleName = "Types of ornamental fish"
                            }
                        }
                    });

                    db.PlayLists.Add(
                        new PlayList
                    {
                        Name          = "Cats PlayList",
                        Uses          = "t-30",
                        PlayListItems = new List <PlayListItem>
                        {
                            new PlayListItem {
                                ItemTitleName = "Cat care 101"
                            },
                            new PlayListItem {
                                ItemTitleName = "Caring for tropical cats"
                            },
                            new PlayListItem {
                                ItemTitleName = "Types of ornamental cats"
                            }
                        }
                    });

                    db.PlayLists.Add(
                        new PlayList
                    {
                        Name          = "Catfish PlayList",
                        Uses          = "Reminder",
                        PlayListItems = new List <PlayListItem>
                        {
                            new PlayListItem {
                                ItemTitleName = "Catfish care 101"
                            },
                            new PlayListItem {
                                ItemTitleName = "History of the catfish name"
                            }
                        }
                    });

                    db.SaveChanges();

                    //I created view manually in sqlite manager
                    //#region View
                    //db.Database.ExecuteSqlCommand(
                    //    @"CREATE VIEW View_PlayListAndItems AS
                    //        SELECT b.Name, Count(p.PlayListItemId) as ItemCount
                    //        FROM PlayLists b
                    //        JOIN PlayListItems p on p.PlayListId = b.PlayListId
                    //        GROUP BY b.Name");
                    //#endregion
                }
            }
        }