Пример #1
0
 // CONSTRUCTORS
 public AllItemViewModelBase()
 {
     entities                  = new System.Windows.Data.ListCollectionView(UnitOfWork.GetRepository <TEntity>().Get().ToArray());
     selectedEntity            = null;
     statisticViewModelFactory = new Core.Services.Factory <StatisticOfItemViewModelBase <TEntity> >();
     RegistrateStatisticViewModel();
 }
Пример #2
0
        public SuperexpressDrawsDesign()
            : base(null, null)
        {
            var items = new ObservableCollection <SuperexpressDrawInfoModel>();

            Draws = new System.Windows.Data.ListCollectionView(items);

            for (int i = 0; i < 12; i++)
            {
                var draw = new SuperexpressDrawInfoModel
                {
                    BaseAmount     = 10 + i * 4,
                    Code           = $"FD9J",
                    Id             = i * 132 + 9541,
                    MinBetAmount   = 1.5m * (10 + i * 4),
                    Name           = $"Футбол. Лига Европы.",
                    Number         = i + 7 * 81,
                    SuperexpressId = i + 8,
                    EventCount     = i * 2 + 6,
                    StartBetsDate  = new DateTime(2018, 09, 17).AddDays(i).AddHours(-i).AddMinutes(i * 17),
                    EndBetsDate    = new DateTime(2018, 11, 17).AddDays(-i).AddHours(+i).AddMinutes(-i * 17),
                };

                items.Add(draw);
            }
        }
        public YoutubeCollectionView(MediaState mediaState) :
            base(mediaState)
        {
            Filter = filterFunc;

            InfoIconsCache = InfoIconsCacheStatic;

            FilterModes = new System.Windows.Data.ListCollectionView(Enum.GetValues(typeof(FilterMode)));

            FilterModes.CurrentChanged += (s, e) =>
            {
                refresh();
            };

            SortItemCollection <SortItem, SortMode> sortItems = new SortItemCollection <SortItem, SortMode>();

            foreach (SortMode mode in Enum.GetValues(typeof(SortMode)))
            {
                sortItems.Add(new SortItem(mode));
            }

            sortItems.ItemSortDirectionChanged += sortItems_ItemSortDirectionChanged;

            SortModes = new System.Windows.Data.ListCollectionView(sortItems);

            SortModes.CurrentChanged += (s, e) =>
            {
                SortItem item = (SortItem)SortModes.CurrentItem;

                switch (item.SortMode)
                {
                case SortMode.Relevance:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        YoutubeItem itemA = (YoutubeItem)a.Item;
                        YoutubeItem itemB = (YoutubeItem)b.Item;

                        return(itemA.Relevance.CompareTo(itemB.Relevance));
                    });
                    break;

                case SortMode.Width:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        int result = hasMediaTest(a, b);
                        if (result != 0)
                        {
                            return(result);
                        }

                        YoutubeItemMetadata metaA = (YoutubeItemMetadata)a.Item.Metadata;
                        YoutubeItemMetadata metaB = (YoutubeItemMetadata)b.Item.Metadata;

                        return(Nullable.Compare <int>(metaA.Width, metaB.Width));
                    });
                    break;

                case SortMode.Height:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        int result = hasMediaTest(a, b);
                        if (result != 0)
                        {
                            return(result);
                        }

                        YoutubeItemMetadata metaA = (YoutubeItemMetadata)a.Item.Metadata;
                        YoutubeItemMetadata metaB = (YoutubeItemMetadata)b.Item.Metadata;

                        return(Nullable.Compare <int>(metaA.Height, metaB.Height));
                    });
                    break;

                case SortMode.Duration:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        int result = hasMediaTest(a, b);
                        if (result != 0)
                        {
                            return(result);
                        }

                        YoutubeItemMetadata metaA = (YoutubeItemMetadata)a.Item.Metadata;
                        YoutubeItemMetadata metaB = (YoutubeItemMetadata)b.Item.Metadata;

                        return(Nullable.Compare <long>(metaA.DurationSeconds, metaB.DurationSeconds));
                    });
                    break;

                case SortMode.MimeType:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        int result = hasMediaTest(a, b);
                        if (result != 0)
                        {
                            return(result);
                        }

                        YoutubeItemMetadata metaA = (YoutubeItemMetadata)a.Item.Metadata;
                        YoutubeItemMetadata metaB = (YoutubeItemMetadata)b.Item.Metadata;

                        return(String.Compare(metaA.MimeType, metaB.MimeType));
                    });
                    break;

                case SortMode.Author:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        int result = hasMediaTest(a, b);
                        if (result != 0)
                        {
                            return(result);
                        }

                        YoutubeItemMetadata metaA = (YoutubeItemMetadata)a.Item.Metadata;
                        YoutubeItemMetadata metaB = (YoutubeItemMetadata)b.Item.Metadata;

                        return(String.Compare(metaA.Author, metaB.Author));
                    });
                    break;

                case SortMode.PublishedAt:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        int result = hasMediaTest(a, b);
                        if (result != 0)
                        {
                            return(result);
                        }

                        YoutubeItemMetadata metaA = (YoutubeItemMetadata)a.Item.Metadata;
                        YoutubeItemMetadata metaB = (YoutubeItemMetadata)b.Item.Metadata;

                        return(Nullable.Compare <DateTime>(metaA.CreationDate, metaB.CreationDate));
                    });
                    break;

                case SortMode.ViewCount:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        int result = hasMediaTest(a, b);
                        if (result != 0)
                        {
                            return(result);
                        }

                        YoutubeItemMetadata metaA = (YoutubeItemMetadata)a.Item.Metadata;
                        YoutubeItemMetadata metaB = (YoutubeItemMetadata)b.Item.Metadata;

                        return(Nullable.Compare <long>(metaA.ViewCount, metaB.ViewCount));
                    });
                    break;

                case SortMode.Rating:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        int result = hasMediaTest(a, b);
                        if (result != 0)
                        {
                            return(result);
                        }

                        YoutubeItemMetadata metaA = (YoutubeItemMetadata)a.Item.Metadata;
                        YoutubeItemMetadata metaB = (YoutubeItemMetadata)b.Item.Metadata;

                        return(Nullable.Compare <double>(metaA.Rating, metaB.Rating));
                    });
                    break;

                case SortMode.FramesPerSecond:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        int result = hasMediaTest(a, b);
                        if (result != 0)
                        {
                            return(result);
                        }

                        YoutubeItemMetadata metaA = (YoutubeItemMetadata)a.Item.Metadata;
                        YoutubeItemMetadata metaB = (YoutubeItemMetadata)b.Item.Metadata;

                        return(Nullable.Compare <double>(metaA.Rating, metaB.Rating));
                    });
                    break;

                default:
                    break;
                }

                SortDirection = item.SortDirection;

                refresh();
            };
        }
Пример #4
0
        public SearchViewModel()
        {
            // initialize major collections
            Files = new ObservableCollection <CockleFile>();
            FilesListCollectionView = new System.Windows.Data.ListCollectionView(Files);
            FilesListCollectionView.GroupDescriptions.Add(
                new System.Windows.Data.PropertyGroupDescription("TicketPlusAttorney"));
            FilesFoundInCameraReady     = new ObservableCollection <CockleFileInCameraReady>();
            FoldersFoundInScratch       = new ObservableCollection <CockleFolderInScratch>();
            FilesConvertedToPdf_Ordered = new ObservableCollection <CockleFilePdf>();

            // initialize gui controls
            IsExecutingSearch = false;
            ShowLatestFiles   = true;
            closeModalContentOverlay(); // set to all modals to false
            CenteredCoverType = CenteredCoverType.NotSet;

            // test for Javascript, and replace if necessary
            var acro_js_is_working = Models.Utilities.AcrobatJS.AreAcrobatJavascriptsInPlace();

            #region populate recent search terms
            UserSearchTerms = new ObservableCollection <string>();

            if (null == Properties.Settings.Default.RecentSearchTerms)
            {
                for (var i = 0; i < 6; i++)
                {
                    UserSearchTerms.Add("");
                }
            }
            else if (Properties.Settings.Default.RecentSearchTerms.Equals(""))
            {
                for (var i = 0; i < 6; i++)
                {
                    UserSearchTerms.Add("");
                }
            }
            else
            {
                var orig      = Properties.Settings.Default.RecentSearchTerms.Split(',');
                var origCount = 0;
                foreach (var o in orig)
                {
                    if (origCount == 6)
                    {
                        break;
                    }
                    UserSearchTerms.Add(o);
                    origCount++;
                }
                while (UserSearchTerms.Count() < 6)
                {
                    UserSearchTerms.Add("");
                }
            }
            #endregion

            #region Command Registry: instantiate command properties (new RelayCommand)
            // Search command logic
            RunSearch                 = new RelayCommand(o => search(), o => canSearch());
            RunCancelSearch           = new RelayCommand(o => cancelSearchOrConvert(), o => canCancelSearchOrConvert());
            RunOpenSourceFolder       = new RelayCommand(o => openSourceFolder(), o => canOpenSourceFolder());
            RunOpenSelectedFile       = new RelayCommand(o => openSelectedFiles(), o => canOpenSelectedFile());
            RunConvertToPdf           = new RelayCommand(o => convertFilesToPdf(), o => canConvertFilesToPdf());
            RunConvertToPdfProof      = new RelayCommand(o => convertToPdfProof(), o => canConvertToPdfProof());
            RunSearchAndConvert       = new RelayCommand(o => searchAndConvertToPdf(), o => canSearchAndConvertToPdf());
            RunSearchAndSaveToScratch = new RelayCommand(o => searchAndSaveToScratch(), o => canSearchAndSaveToScratch());

            // Modal overlay logic commands
            RunSelectFolderInScratch = new RelayCommand(o => selectFolderInScratch(o), o => canSelectFolderInScratch(o));
            RunImposePdfOptions      = new RelayCommand(o => imposePdfOptions(o /*param for circuit or supreme court*/), o => canImposePdfOptions());
            RunShowOnlyCameraReadySearchTextTickets      = new RelayCommand(o => showOnlyCameraReadySearchTextTickets(o), o => canShowOnlyCameraReadySearchTextTickets(o));
            RunShowAllCameraReadyFilesAndClearSearchText = new RelayCommand(o => showAllCameraReadyFilesAndClearSearchText(), o => canShowAllCameraReadyFilesAndClearSearchText());
            RunCloseModalContentOverlay = new RelayCommand(o => closeModalContentOverlay());

            // Simple PDF logic commands
            RunOpenSelectedCameraReadyFile           = new RelayCommand(o => openSelectedCameraReadyFile(), o => canOpenSelectedCameraReadyFile());
            RunGetFilesFromScratchFolder             = new RelayCommand(o => getFilesFromScratchFolder(), o => canGetFilesFromScratchFolder());
            RunSaveSelectedCameraReadyFilesToScratch = new RelayCommand(o => saveSelectedCameraReadyFilesToScratch(o), o => canSaveSelectedCameraReadyFilesToScratch(o));

            // Manipulate PDF logic commands
            RunConvertToPdfA = new RelayCommand(o => convertToPdfA(o), o => canConvertToPdfA(o));
            RunRedistillPdfA = new RelayCommand(o => redistillPdfA(o), o => canRedistillPdfA(o));
            RunCombineFilesConvertedToPdf_Ordered = new RelayCommand(o => combineFilesConvertedToPdf_Ordered());
            RunCombineSelectedPdfFilesOptions     = new RelayCommand(o => combineSelectedPdfFilesOptions(), o => canCombineSelectedPdfFilesOptions());
            RunImposedPdf = new RelayCommand(o => imposePdf(), o => canImposePdf());
            RunImposeCircuitCourtCover_11x19   = new RelayCommand(o => imposeCircuitCourtCover_11x19());
            RunImposeCircuitCourtCover_8pt5x23 = new RelayCommand(o => imposeCircuitCourtCover_8pt5x23());
            RunImposeCircuitCourtBrief         = new RelayCommand(o => imposeCircuitCourtBrief(), o => canImposeCircuitCourtBrief());
            RunCenterPdfOptions            = new RelayCommand(o => centerPdfOptions(), o => canCenterPdfOptions());
            RunExecuteCenterPdf            = new RelayCommand(o => executeCenterPdf(), o => canExecuteCenterPdf());
            RunExtractPagesFromPdfDocument = new RelayCommand(o => extractPagesFromPdfDocument(), o => canExtractPagesFromPdfDocument());

            // Logic commands associated with UI (SelectionChanged, Refresh list, Clear list, Open directories/files)
            RunSelectionChanged            = new RelayCommand(o => searchGridSelectionChanged(o));
            RunPdfSelectionChanged         = new RelayCommand(o => pdfGridSelectionChanged(o));
            RunPdfSelectionChanged_Ordered = new RelayCommand(o => pdfSelectionChanged_Ordered(o));
            RunRefreshLoadedPdfFolder      = new RelayCommand(o => refreshLoadedPdfFolder(), o => canRefreshLoadedPdfFolder());
            RunClearPdfFiles                 = new RelayCommand(o => clearPdfFiles(), o => canClearPdfFiles());
            RunOpenSelectedPdfFile           = new RelayCommand(o => openSelectedPdfFiles(), o => canOpenSelectedPdfFiles());
            RunOpenPdfSourceFolder           = new RelayCommand(o => openPdfSourceFolder(), o => canOpenPdfSourceFolder());
            RunGetFilesFromCameraReadyFolder = new RelayCommand(o => getFilesFromCameraReadyFolder(), o => canGetFilesFromCameraReadyFolder());
            #endregion
        }
        public ImageResultCollectionView(MediaState mediaState)
            : base(mediaState)
        {
            SortItemCollection <SortItem, SortMode> sortItems = new SortItemCollection <SortItem, SortMode>();

            foreach (SortMode mode in Enum.GetValues(typeof(SortMode)))
            {
                sortItems.Add(new SortItem(mode));
            }

            sortItems.ItemSortDirectionChanged += sortItems_ItemSortDirectionChanged;

            SortModes = new System.Windows.Data.ListCollectionView(sortItems);

            SortModes.CurrentChanged += (s, e) => {
                SortItem sortItem = (SortItem)SortModes.CurrentItem;

                switch (sortItem.SortMode)
                {
                case SortMode.Relevance:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        ImageResultItem itemA = (ImageResultItem)a.Item;
                        ImageResultItem itemB = (ImageResultItem)b.Item;

                        return(itemA.Relevance.CompareTo(itemB.Relevance));
                    });
                    break;

                case SortMode.Location:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        ImageResultItem itemA = (ImageResultItem)a.Item;
                        ImageResultItem itemB = (ImageResultItem)b.Item;

                        return(itemA.ImageInfo.SourceUrl.CompareTo(itemB.ImageInfo.SourceUrl));
                    });
                    break;

                case SortMode.Width:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        ImageResultItem itemA = (ImageResultItem)a.Item;
                        ImageResultItem itemB = (ImageResultItem)b.Item;

                        return(Nullable.Compare(itemA.ImageInfo.Width, itemB.ImageInfo.Width));
                    });
                    break;

                case SortMode.Height:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        ImageResultItem itemA = (ImageResultItem)a.Item;
                        ImageResultItem itemB = (ImageResultItem)b.Item;

                        return(Nullable.Compare(itemA.ImageInfo.Height, itemB.ImageInfo.Height));
                    });
                    break;

                case SortMode.Size:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        ImageResultItem itemA = (ImageResultItem)a.Item;
                        ImageResultItem itemB = (ImageResultItem)b.Item;

                        return(Nullable.Compare(itemA.ImageInfo.FileSize, itemB.ImageInfo.FileSize));
                    });
                    break;

                case SortMode.MimeType:
                    SortFunc = new Func <SelectableMediaItem, SelectableMediaItem, int>((a, b) =>
                    {
                        ImageResultItem itemA = (ImageResultItem)a.Item;
                        ImageResultItem itemB = (ImageResultItem)b.Item;

                        return(itemA.ImageInfo.ContentType.CompareTo(itemB.ImageInfo.ContentType));
                    });
                    break;

                default:
                    break;
                }

                SortDirection = sortItem.SortDirection;

                refresh();
            };
        }