Example #1
0
        public void FindLastUsage()
        {
            var usages = ImpDatabase.FileUsages(this.SmartId);

            if (usages.Count == 0)
            {
                return;
            }

            if (this.FileType == FileTypes.Pictures)
            {
                var minTime = TimeSpan.FromSeconds(2);
                this.LastUsage = usages.Where(x => x.Completed ||
                                              (x.TimeClosed != null && x.TimeClosed.Value - x.TimeOpened > minTime))
                                 .OrderBy(x => x.TimeOpened).FirstOrDefault()?.TimeOpened;
            }
            else if (this.FileType == FileTypes.Music)
            {
                var minTime = TimeSpan.FromSeconds(30);
                this.LastUsage = usages.Where(x => x.Completed ||
                                              (x.TimeClosed != null && x.TimeClosed.Value - x.TimeOpened > minTime))
                                 .OrderBy(x => x.TimeOpened).FirstOrDefault()?.TimeOpened;
            }
            else if (this.FileType == FileTypes.Videos)
            {
                var minTime     = TimeSpan.FromMinutes(2);
                var minFileTime = TimeSpan.FromMinutes(5);
                this.LastUsage = usages.Where(x => x.Completed ||
                                              (x.TimeClosed != null && x.TimeClosed.Value - x.TimeOpened > minTime && x.FileTimeClosed > minFileTime))
                                 .OrderBy(x => x.TimeOpened).FirstOrDefault()?.TimeOpened;
            }
        }