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); }
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); }
/// <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); } }
/// <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; }
/// <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; }
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(); }