private void TryAddActor()
        {
            if (!string.IsNullOrWhiteSpace(autoActors.Text))
            {
                Actor actor_from_cast = CastCollection.Where(x => x.tag.ToLower().Trim() == autoActors.Text.ToLower().Trim()).FirstOrDefault();

                if (actor_from_cast == null)
                {
                    Actor actor_from_search = AllActorsCollection.Where(x => x.tag.Trim() == autoActors.Text.Trim()).FirstOrDefault();

                    if (actor_from_search != null)
                    {
                        CastCollection.Add(actor_from_search);
                    }
                    else
                    {
                        CastCollection.Add(new Actor()
                        {
                            id = -1, tag = autoActors.Text.Trim()
                        });
                    }
                }
            }

            autoActors.Text         = string.Empty;
            autoActors.SelectedItem = null;
        }
        private void btnRemoveActor_Click(object sender, RoutedEventArgs e)
        {
            Button button = sender as Button;
            Actor  actor  = button.DataContext as Actor;

            CastCollection.Remove(actor);
        }
        private void LoadItemCollection(long library_id)
        {
            ItemCollection.Clear();
            ContainerMovies.Visibility = Visibility.Visible;
            CastCollection.Clear();
            ContainerCast.Visibility          = Visibility.Collapsed;
            MainGrid.RowDefinitions[2].Height = new GridLength(0);

            lvMovies.ItemsSource = null;

            foreach (DataRow row in Database.GetMetadataItems(library_id).Rows)
            {
                ItemCollection.Add(new MetadataItem()
                {
                    id           = long.Parse(row["id"].ToString()),
                    title        = row["title"].ToString(),
                    release_date = TryParseNullableDateTime(row["release_date"].ToString()),
                    date_added   = TryParseNullableDateTime(row["date_added"].ToString()),
                    actor_count  = int.Parse(row["actor_count"].ToString()),
                    user_fields  = row["user_fields"].ToString()
                });
            }

            lvMovies.ItemsSource = ItemCollection;
            this.lvMovies.ColumnFromDisplayIndex(0).SortDirection = ListSortDirection.Ascending;
        }
 private void btnCancel_Click(object sender, RoutedEventArgs e)
 {
     lvMovies.SelectedItem = null;
     CastCollection.Clear();
     ContainerCast.Visibility          = Visibility.Collapsed;
     MainGrid.RowDefinitions[2].Height = new GridLength(0);
 }
 private void btnSave_Click(object sender, RoutedEventArgs e)
 {
     Database.ResetTaggings((MetadataItem)lvMovies.SelectedItem, CastCollection);
     lvMovies.SelectedItem = null;
     CastCollection.Clear();
     ContainerCast.Visibility          = Visibility.Collapsed;
     MainGrid.RowDefinitions[2].Height = new GridLength(0);
 }
        private void LoadCastCollection(long item_id)
        {
            CastCollection.Clear();
            ContainerCast.Visibility          = Visibility.Visible;
            MainGrid.RowDefinitions[2].Height = new GridLength(65);
            autoActors.Text = string.Empty;

            lvActors.ItemsSource = null;

            foreach (DataRow row in Database.GetActors(item_id).Rows)
            {
                CastCollection.Add(new Actor()
                {
                    id  = long.Parse(row["id"].ToString()),
                    tag = row["tag"].ToString()
                });
            }

            lvActors.ItemsSource = CastCollection;
        }
        private void LoadLibraryCollection()
        {
            LibraryCollection.Clear();
            ContainerLibraries.Visibility = Visibility.Visible;
            ItemCollection.Clear();
            ContainerMovies.Visibility = Visibility.Collapsed;
            CastCollection.Clear();
            ContainerCast.Visibility          = Visibility.Collapsed;
            MainGrid.RowDefinitions[2].Height = new GridLength(0);

            lvLibrarySections.ItemsSource = null;

            foreach (DataRow row in Database.GetLibrarySections().Rows)
            {
                LibraryCollection.Add(new Library()
                {
                    id   = long.Parse(row["id"].ToString()),
                    name = row["name"].ToString()
                });
            }

            lvLibrarySections.ItemsSource = LibraryCollection;
        }