Exemplo n.º 1
0
        static List <MultiSelectionItem> GetMultiSelectItems(List <TraktUserList> lists)
        {
            List <MultiSelectionItem> result = new List <MultiSelectionItem>();

            foreach (var list in lists)
            {
                MultiSelectionItem multiSelectionItem = new MultiSelectionItem
                {
                    ItemID     = list.Slug,
                    ItemTitle  = list.Name,
                    ItemTitle2 = GetPrivacyLevelTranslation(list.Privacy),
                    Selected   = false,
                    Tag        = list
                };
                result.Add(multiSelectionItem);
            }

            return(result);
        }
Exemplo n.º 2
0
        static List <MultiSelectionItem> GetMultiSelectItems(List <TraktListDetail> lists)
        {
            var result = new List <MultiSelectionItem>();

            foreach (var list in lists)
            {
                var multiSelectionItem = new MultiSelectionItem
                {
                    ItemID     = list.Ids.Trakt.ToString(),
                    ItemTitle  = list.Name,
                    ItemTitle2 = GetPrivacyLevelTranslation(list.Privacy),
                    Selected   = false,
                    Tag        = list
                };
                result.Add(multiSelectionItem);
            }

            return(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Displays a menu dialog from list of items
        /// </summary>
        public static List<MultiSelectionItem> ShowMultiSelectionDialog(string heading, List<MultiSelectionItem> items)
        {
            List<MultiSelectionItem> result = new List<MultiSelectionItem>();
            if (items == null) return result;

            if (GUIGraphicsContext.form.InvokeRequired)
            {
                ShowMultiSelectionDialogDelegate d = ShowMultiSelectionDialog;
                return (List<MultiSelectionItem>)GUIGraphicsContext.form.Invoke(d, heading, items);
            }

            GUIWindow dlgMultiSelectOld = (GUIWindow)GUIWindowManager.GetWindow(2100);
            GUIDialogMultiSelect dlgMultiSelect = new GUIDialogMultiSelect();
            dlgMultiSelect.Init();
            GUIWindowManager.Replace(2100, dlgMultiSelect);

            try
            {
                dlgMultiSelect.Reset();
                dlgMultiSelect.SetHeading(heading);

                foreach (MultiSelectionItem multiSelectionItem in items)
                {
                    GUIListItem item = new GUIListItem();
                    item.Label = multiSelectionItem.ItemTitle;
                    item.Label2 = multiSelectionItem.ItemTitle2;
                    item.MusicTag = multiSelectionItem.Tag;
                    item.Selected = multiSelectionItem.Selected;

                    dlgMultiSelect.Add(item);
                }

                dlgMultiSelect.DoModal(GUIWindowManager.ActiveWindow);

                if (dlgMultiSelect.DialogModalResult == ModalResult.OK)
                {
                    for (int i = 0; i < items.Count; i++)
                    {
                        MultiSelectionItem item = items[i];
                        MultiSelectionItem newMultiSelectionItem = new MultiSelectionItem();
                        newMultiSelectionItem.ItemTitle = item.ItemTitle;
                        newMultiSelectionItem.ItemTitle2 = item.ItemTitle2;
                        newMultiSelectionItem.ItemID = item.ItemID;
                        newMultiSelectionItem.Tag = item.Tag;
                        try
                        {
                            newMultiSelectionItem.Selected = dlgMultiSelect.ListItems[i].Selected;
                        }
                        catch
                        {
                            newMultiSelectionItem.Selected = item.Selected;
                        }

                        result.Add(newMultiSelectionItem);
                    }
                }
                else
                    return null;

                return result;
            }
            finally
            {
                GUIWindowManager.Replace(2100, dlgMultiSelectOld);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Return a list of select items for each unique DBSourceInfo that has movies with valid IMDb ids
        /// </summary>
        /// <returns></returns>
        private List<MultiSelectionItem> GetSourceSelectItems()
        {
            List<MultiSelectionItem> result = new List<MultiSelectionItem>();

            // Create a new select item for each unique DBSourceInfo that has movies
            // Ignore IMDb+ as we cant do anything more with those
            foreach (var sourceInfo in DBMovieInfo.GetAll().Where(s => s.PrimarySource != IMDbPlusSource).Select(s => s.PrimarySource).Distinct())
            {
                int totalMovies = DBMovieInfo.GetAll().Where(m => m.PrimarySource == sourceInfo).Count();
                int imdbMovies = DBMovieInfo.GetAll().Where(m => m.PrimarySource == sourceInfo && IsValidIMDb(m.ImdbID)).Count();
                if (imdbMovies == 0) continue;

                Logger.Info("Adding source '{0}' to select dialog", (sourceInfo == null) ? "null" : sourceInfo.ToString());
                MultiSelectionItem multiSelectionItem = new MultiSelectionItem
                {
                    ItemTitle = (sourceInfo == null) ? Translation.NullSource : sourceInfo.ToString(),
                    ItemTitle2 = string.Format(Translation.NumberOfMovies, imdbMovies, totalMovies),
                    Selected = false,
                    Tag = sourceInfo
                };
                result.Add(multiSelectionItem);
            }

            return result;
        }
Exemplo n.º 5
0
        /// <summary>
        /// Return a list of Alphas that movies 'start with' in users collection
        /// </summary>
        /// <returns></returns>
        private List<MultiSelectionItem> GetAlphaItems()
        {
            List<MultiSelectionItem> result = new List<MultiSelectionItem>();

            // get all movies with IMDb+ source
            var movies = DBMovieInfo.GetAll().Where(s => s.PrimarySource == IMDbPlusSource);
            if (movies.Count() == 0) return result;

            // get list of movies starting with numeral for '#' entry
            var numberMovies = movies.Where(m => Char.IsDigit(m.SortBy, 0));
            if (numberMovies.Count() > 0)
            {
                MultiSelectionItem multiSelectionItem = new MultiSelectionItem
                {
                    ItemTitle = string.Format(Translation.StartsWith, "#"),
                    ItemTitle2 = string.Format(Translation.NumberOfMovies2, numberMovies.Count()),
                    Tag = numberMovies.ToList()
                };
                result.Add(multiSelectionItem);
            }

            // get list of unique starting letters from collection
            foreach (var alpha in movies.Where(m => !Char.IsDigit(m.SortBy, 0)).Select(m => m.SortBy.ToUpperInvariant()[0]).Distinct().OrderBy(m => m))
            {
                var alphaMovies = movies.Where(m => m.SortBy.StartsWith(alpha.ToString(), StringComparison.InvariantCultureIgnoreCase));

                MultiSelectionItem multiSelectionItem = new MultiSelectionItem
                {
                    ItemTitle = string.Format(Translation.StartsWith, alpha.ToString()),
                    ItemTitle2 = string.Format(Translation.NumberOfMovies2, alphaMovies.Count()),
                    Tag = alphaMovies.ToList()
                };
                result.Add(multiSelectionItem);
            }

            return result;
        }
Exemplo n.º 6
0
        private void Calcular()
        {
            System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
            dispatcherTimer.Tick += new EventHandler((s, e) =>
            {
                SumaSeleccionados = (VisibilityCompraSeleccion == Visibility.Visible) ? ListECMP_CompraSeleccion.Sum(x => x.SaldoCompra + (x.IncluyeDetraccionCompra ? x.DetraccionCompra : 0)) : MultiSelectionItem.Sum(x => x.SaldoCompra + (x.IncluyeDetraccionCompra ? x.DetraccionCompra : 0));

                if (Monto > 0 && decimal.Round(SumaSeleccionados, 2) > Monto)
                {
                    vrResta = SumaSeleccionados - Monto;
                    CmpMessageBox.Show(CMPMensajes.TitleAdminCompra, "La Suma de Elementos Seleccionados supera el monto ingresado en " + vrResta.ToString("N2"), CmpButton.Aceptar);
                }
                dispatcherTimer.Stop();
            });
            if (SelectedItem != null)
            {
                if (VisibilityCompraSeleccion == Visibility.Visible)
                {
                    ListECMP_CompraSeleccion.ToList().ForEach(x =>
                    {
                        x.Total = (x.SaldoCompra + ((x.IncluyeDetraccionCompra) ? x.DetraccionCompra : 0));
                    });
                }
            }
            dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 500);
            dispatcherTimer.Start();
        }