Exemplo n.º 1
0
        public Model.ScanModels.EverythingResult EverythingSearch(string token, string content)
        {
            var to = ScanDataBaseManager.GetToken().Token;

            if (to == token)
            {
                var htmlModel = HtmlManager.GetHtmlContentViaUrl("http://*****:*****@"?s=&o=0&j=1&p=c&path_column=1&size_column=1&j=1&q=!c:\ " + EverythingHelper.Extensions + " " + content);

                if (htmlModel.Success)
                {
                    var retModel = JsonConvert.DeserializeObject <Model.ScanModels.EverythingResult>(htmlModel.Content);

                    if (retModel != null && retModel.results != null)
                    {
                        retModel.results = retModel.results.OrderByDescending(x => double.Parse(x.size)).ToList();

                        foreach (var r in retModel.results)
                        {
                            r.sizeStr = FileSize.GetAutoSizeString(double.Parse(r.size), 1);
                        }

                        return(retModel);
                    }
                }
            }

            return(new Model.ScanModels.EverythingResult());
        }
Exemplo n.º 2
0
        public static void Insert115FileSha(List <FileItemModel> models, bool truncate = false)
        {
            var files = models.Where(x => !string.IsNullOrEmpty(x.fid)).ToList();

            Console.WriteLine($"获取到{files.Count}个文件");
            int index = 1;

            if (files != null && files.Any())
            {
                if (truncate)
                {
                    ScanDataBaseManager.TruncateOneOneFiveFileShaMapping();
                }

                foreach (var file in files)
                {
                    Console.WriteLine($"正在处理{index++}");

                    OneOneFiveFileShaMapping entity = new OneOneFiveFileShaMapping()
                    {
                        FileName  = file.n,
                        FileSize  = file.s,
                        Sha       = file.sha,
                        IsOnLocal = false
                    };

                    ScanDataBaseManager.InserOneOneFiveFileShaMapping(entity);
                }
            }
        }
Exemplo n.º 3
0
        public static void CopyFiles(double gigaLimits, string toFolder, string where = "")
        {
            double        limits      = gigaLimits * 1024 * 1024 * 1024;
            double        currentSize = 0d;
            List <string> froms       = new List <string>();
            List <string> tos         = new List <string>();
            var           files       = ScanDataBaseManager.GetWishList(where);

            foreach (var f in files)
            {
                if (!string.IsNullOrEmpty(f.FilePath) && File.Exists(f.FilePath))
                {
                    var temp = new FileInfo(f.FilePath);

                    if (currentSize + temp.Length < limits)
                    {
                        currentSize += temp.Length;

                        froms.Add(f.FilePath);

                        tos.Add(toFolder + temp.Name);
                    }
                }
            }

            //FileUtility.TransferFileUsingSystem(froms, tos, false);
        }
Exemplo n.º 4
0
        public static void SyncLocalAnd115FileStatus(string folder = "1834397846621504875", bool update115Maping = false)
        {
            var oneOneFiles     = Get115FilesModel(folder);
            var localFiles      = GetAllLocalAvs();
            var localShaMapping = ScanDataBaseManager.GetAllLocalShaMapping();

            if (oneOneFiles != null && oneOneFiles.Any())
            {
                if (update115Maping)
                {
                    Insert115FileSha(oneOneFiles);
                }

                //刷新本地sha,更新本地是否保存
                foreach (var oneOneFive in oneOneFiles)
                {
                    var matchedMapping = localShaMapping.FirstOrDefault(x => x.Sha1 == oneOneFive.sha);

                    if (matchedMapping != null)
                    {
                        ScanDataBaseManager.UpdateOneOneFiveFileShaMapping(matchedMapping.Sha1, true);
                    }
                }
            }
        }
Exemplo n.º 5
0
        public JsonResult SaveJavSetting(string category, string url, string name)
        {
            var ret = 0;

            try
            {
                FaviScan fs = new FaviScan();

                fs.Category = category;
                fs.Url      = url;
                fs.Name     = name;

                ret = ScanDataBaseManager.InsertFaviScan(fs);
            }
            catch (Exception ee)
            {
                ApplicationLog.Debug(ee.ToString());
            }

            if (ret > 0)
            {
                return(Json(new { success = "success" }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { success = "fail" }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 6
0
        public static CookieContainer Get115Cookie()
        {
            CookieContainer cc = new CookieContainer();

            var sessionCookie = ScanDataBaseManager.GetOneOneFiveCookie();

            if (sessionCookie != null && !string.IsNullOrEmpty(sessionCookie.OneOneFiveCookie))
            {
                List <CookieItem> sessionCookieItems = JsonConvert.DeserializeObject <List <CookieItem> >(sessionCookie.OneOneFiveCookie);

                foreach (var item in sessionCookieItems)
                {
                    Cookie temp = new Cookie(item.Name, item.Value, "/", "115.com");
                    cc.Add(temp);
                }
            }

            //cookieData = new ChromeCookieReader().ReadCookies("webapi.115.com");

            //foreach (var item in cookieData.Where(x => !x.Value.Contains(",")).Distinct())
            //{
            //    Cookie c = new Cookie(item.Name, item.Value, "/", "115.com");
            //    cc.Add(c);
            //}

            //var tempCc = HtmlManager.GetCookies("http://www.115.com", "utf-8", cc);

            return(cc);
        }
Exemplo n.º 7
0
        public static void GenerateReportDataOnly()
        {
            List <ReportItem> items = new List <ReportItem>();

            ScanDataBaseManager.DeleteReportItem();
            var allAv    = JavDataBaseManager.GetAllAV();
            var allMatch = GenerateExistingAVs();

            Report report = new Report();

            report.ExtensionModel = new Dictionary <string, int>();
            report.TotalCount     = allAv.Count;

            var reportId = ScanDataBaseManager.InsertReport(report);

            report.ReportId = reportId;
            int process = 0;

            foreach (var av in allAv)
            {
                ProcessReportType(av, allMatch, report, items);
                process++;
                Console.WriteLine(process + " / " + allAv.Count);
            }
            ;

            ScanDataBaseManager.BatchInserReportItem(items);
            ScanDataBaseManager.UpdateReport(report);
            ScanDataBaseManager.UpdateReportFinish(reportId);
        }
Exemplo n.º 8
0
        private void ProcessJSON()
        {
            if (json.Count > 0 && json[index] != null)
            {
                labelStatus.Text = string.Format(status, index + 1, json.Count);

                var pic = imgFolder + json[index].ID + FileUtility.ReplaceInvalidChar(json[index].Title) + ".jpg";
                if (File.Exists(pic))
                {
                    pictureBox1.Image = Image.FromFile(pic);
                }

                var comments = JavDataBaseManager.GetComment(json[index].ID, FileUtility.ReplaceInvalidChar(json[index].Title));

                if (ScanDataBaseManager.HasMatch(json[index].ID))
                {
                    labelMark.BackColor = Color.Green;
                }
                else
                {
                    labelMark.BackColor = Color.Red;
                }

                ShowContent(comments);
            }
        }
Exemplo n.º 9
0
        public ActionResult Login(string token = "")
        {
            string uName       = Request.Form["userName"];
            string uPwd        = Request.Form["userPassword"];
            string uValidate   = Request.Form["validate"];
            string serviceCode = Session["ValidateCode"] as string;//服务器端验证码

            if (!string.IsNullOrEmpty(uName) && !string.IsNullOrEmpty(uPwd) && uValidate.Equals(serviceCode))
            {
                try
                {
                    if (ScanDataBaseManager.IsUser(uName, uPwd))
                    {
                        Guid guid = Guid.NewGuid();

                        CookieTools.AddCookie("token", guid.ToString(), "");
                        CookieTools.AddCookie("uName", uName, "");

                        CacheTools.CacheInsert(uName, guid.ToString(), DateTime.Now.AddDays(1));

                        TempData["LoginState"] = 1;

                        return(Redirect("Index"));
                    }
                }
                catch (Exception e)
                {
                }
            }

            return(View("Login"));
        }
Exemplo n.º 10
0
        public TaskCommonModel RunTask(string token, string name = "ScanJavJob")
        {
            TaskCommonModel ret = new TaskCommonModel();
            var             to  = ScanDataBaseManager.GetToken().Token;

            if (to == token)
            {
                TaskService ts   = new TaskService();
                var         task = ts.FindTask(name);

                ret.Message = "程序没有执行";

                if (task != null && task.State == TaskState.Ready)
                {
                    task.Run();

                    ret.Message = "开始执行";
                }
            }
            else
            {
                ret.Message = "没有权限";
            }

            return(ret);
        }
Exemplo n.º 11
0
        public TaskCommonModel SiriRunJob(string token, string jobName = "SiriRun", int page = 15)
        {
            TaskCommonModel ret = new TaskCommonModel();
            var             to  = ScanDataBaseManager.GetToken().Token;

            if (to == token)
            {
                var parameter = new ScanParameter();
                parameter.IsAsc        = true;
                parameter.PageSize     = page;
                parameter.StartingPage = new List <string>()
                {
                    "http://www.javlibrary.com/cn/vl_update.php?mode="
                };

                var jobId = ScanDataBaseManager.InsertScanJob(jobName, JsonConvert.SerializeObject(parameter));

                ret.Message = "建立成功";
            }
            else
            {
                ret.Message = "没有权限";
            }

            return(ret);
        }
Exemplo n.º 12
0
        public ActionResult ScanJobList(int pageSize = 20)
        {
            var model = ScanDataBaseManager.GetScanJob(pageSize);

            model.ForEach(x => x.CurrentItemCount = ScanDataBaseManager.GetScanJobItem(x.ScanJobId));

            return(View(model));
        }
Exemplo n.º 13
0
 private void Play(ListViewItem current)
 {
     if (current != null)
     {
         System.Diagnostics.Process.Start(@"" + current.Tag);
         current.BackColor = Color.Green;
         ScanDataBaseManager.InsertViewHistory(FileUtility.ReplaceInvalidChar(current.Tag + ""));
     }
 }
Exemplo n.º 14
0
        private static void FaviScan(List <string> urls)
        {
            ScanDataBaseManager.DeleteFaviScan();

            Parallel.ForEach(urls, new ParallelOptions {
                MaxDegreeOfParallelism = 10
            }, url =>
            {
                var htmlRes = JavCookieContanierHelper(url);

                if (htmlRes.Success)
                {
                    HtmlDocument htmlDocument = new HtmlDocument();
                    htmlDocument.LoadHtml(htmlRes.Content);

                    var titlePath = "//div[@class='boxtitle']";

                    var titleNode = htmlDocument.DocumentNode.SelectSingleNode(titlePath);

                    if (titleNode != null)
                    {
                        var textArray = titleNode.InnerHtml.Trim().Split(' ');

                        var category = "";
                        var name     = textArray[0].Replace("&quot;", "");

                        if (textArray[1] == "所执导的影片")
                        {
                            category = "director";
                        }
                        else if (textArray[1] == "识别码搜寻结果")
                        {
                            category = "prfix";
                        }
                        else if (textArray[1] == "相关的影片")
                        {
                            category = "category";
                        }
                        else
                        {
                            category = "actress";
                        }

                        FaviScan fs = new FaviScan
                        {
                            Url      = url,
                            Name     = name,
                            Category = category
                        };

                        Console.WriteLine("扫描 " + url + " 分类 " + category + " 名称 " + name);
                        ScanDataBaseManager.InsertFaviScan(fs);
                    }
                }
            });
        }
Exemplo n.º 15
0
        private static void UpdateCache()
        {
            if (!CacheTools.HasCache("cache-prefix"))
            {
                var allPrefix = ScanDataBaseManager.GetPrefix().Select(x => x.Prefix).ToList();
                allPrefix = allPrefix.OrderByDescending(x => x.Length).ToList();

                CacheTools.CacheInsert("cache-prefix", allPrefix, DateTime.Now.AddDays(1));
            }
        }
Exemplo n.º 16
0
        async static void DoJob(string arg, int jobId)
        {
            await StartJavRefresh("", arg, OutputJavRefresh);

            ScanDataBaseManager.SetScanJobFinish(jobId, -1, models.Count);

            await Task.Run(() => UpdateRefreshUi(jobId));

            IsFinish = false;
        }
Exemplo n.º 17
0
        private void InitAutoComplete()
        {
            var source = new AutoCompleteStringCollection();

            source.AddRange(ScanDataBaseManager.GetSearchHistory().Select(x => x.Content).ToArray());

            textBox1.AutoCompleteCustomSource = source;
            textBox1.AutoCompleteMode         = AutoCompleteMode.SuggestAppend;
            textBox1.AutoCompleteSource       = AutoCompleteSource.CustomSource;
        }
Exemplo n.º 18
0
        public ActionResult ScanJav()
        {
            #region  页面
            List <ScanMap> page = new List <ScanMap>();

            page.Add(new ScanMap()
            {
                Title = "新话题",
                Url   = "http://www.javlibrary.com/cn/vl_update.php?mode="
            });

            page.Add(new ScanMap()
            {
                Title = "新加入",
                Url   = "http://www.javlibrary.com/cn/vl_newentries.php?mode="
            });
            page.Add(new ScanMap()
            {
                Title = "最想要",
                Url   = "http://www.javlibrary.com/cn/vl_mostwanted.php?mode="
            });
            page.Add(new ScanMap()
            {
                Title = "高评价",
                Url   = "http://www.javlibrary.com/cn/vl_bestrated.php?mode="
            });
            page.Add(new ScanMap()
            {
                Title = "新发行",
                Url   = "http://www.javlibrary.com/cn/vl_newrelease.php?mode="
            });

            ViewData.Add("page", page);
            #endregion

            #region  演员
            var actress = JavDataBaseManager.GetActress();
            ViewData.Add("actress", actress);
            #endregion

            #region  类型
            var cate = JavDataBaseManager.GetCategories();
            ViewData.Add("cate", cate);
            #endregion

            #region  收藏
            var faviModel = ScanDataBaseManager.GetFaviScan();

            var favi = faviModel.GroupBy(x => x.Category).ToDictionary(x => x.Key, x => x.ToList());

            ViewData.Add("favi", favi);
            #endregion

            return(View());
        }
Exemplo n.º 19
0
        private static void UpdateRefreshUi(int jobId = 0)
        {
            Random ran = new Random();

            Parallel.ForEach(models, new ParallelOptions {
                MaxDegreeOfParallelism = 5
            }, rm =>
            {
                RemoteScanMag entity = new RemoteScanMag();
                entity.JobId         = jobId;

                Console.WriteLine("处理 --> " + rm.Name + models.IndexOf(rm) + "/" + models.Count);

                var matchFiles = new EverythingHelper().SearchFile(rm.Id + " | " + rm.Id.Replace("-", ""), EverythingSearchEnum.Video);

                var list = MagService.SearchSukebei(rm.Id);

                if (list != null && list.Count > 0)
                {
                    ScanDataBaseManager.DeleteMagUrlById(rm.Id);

                    if (matchFiles.Count > 0)
                    {
                        entity.SearchStatus = 2;
                        entity.MatchFile    = matchFiles.FirstOrDefault(x => x.Length == matchFiles.Max(y => y.Length)).FullName;
                    }
                    else
                    {
                        entity.SearchStatus = 1;
                    }

                    foreach (var seed in list)
                    {
                        entity.AvId     = rm.Id;
                        entity.AvName   = FileUtility.ReplaceInvalidChar(rm.Name);
                        entity.AvUrl    = rm.Url;
                        entity.MagDate  = seed.Date;
                        entity.MagSize  = seed.Size;
                        entity.MagTitle = FileUtility.ReplaceInvalidChar(seed.Title);
                        entity.MagUrl   = seed.MagUrl;
                        //entity.SearchStatus = 1;

                        ScanDataBaseManager.InsertRemoteScanMag(entity);
                    }
                }
                else
                {
                    Console.WriteLine("没搜到");
                    entity.SearchStatus = 0;
                }

                Thread.Sleep(10 * ran.Next(5));
            });
        }
Exemplo n.º 20
0
        static void Main(string[] args)
        {
            CookieContainer cc = new CookieContainer();

            var cookieData = new ChromeCookieReader().ReadCookies("115");

            var json = JsonConvert.SerializeObject(cookieData.Where(x => !x.Value.Contains(",")).Distinct());

            ScanDataBaseManager.InsertOneOneFiveCookie(new OneOneFiveCookieModel
            {
                OneOneFiveCookie = json
            });
        }
Exemplo n.º 21
0
        private static void UpdateCache()
        {
            List <string> allPrefix = new List <string>();

            foreach (var name in JavDataBaseManager.GetAllAVId().Select(x => x.ID).ToList())
            {
                if (!allPrefix.Contains(name.Split('-')[0]))
                {
                    allPrefix.Add(name.Split('-')[0]);
                    ScanDataBaseManager.InsertPrefix(name.Split('-')[0]);
                }
            }
        }
Exemplo n.º 22
0
        public ActionResult Catelog(int limitGiga = 0, int page = 1, int pageSize = 200)
        {
            var    scanResult = new List <ScanResult>();
            var    toBe       = new List <ScanResult>();
            string scanCache  = "scan";

            if (CacheTools.HasCache(scanCache))
            {
                scanResult = CacheTools.GetCache <List <ScanResult> >(scanCache);
            }
            else
            {
                scanResult = ScanDataBaseManager.GetMatchScanResult();
                CacheTools.CacheInsert(scanCache, scanResult, DateTime.Now.AddHours(3));
            }

            scanResult = scanResult.Where(x => !string.IsNullOrEmpty(x.Location)).ToList();

            if (limitGiga > 0)
            {
                double limit = (double)limitGiga * 1024 * 1024 * 1024;
                ApplicationLog.Debug("catelog -> limitGiga: " + limitGiga + " limit: " + limit);
                ApplicationLog.Debug("catelog -> beforeCount: " + scanResult.Count);

                foreach (var s in scanResult)
                {
                    if (new FileInfo(s.AvFilePath).Length >= limit)
                    {
                        toBe.Add(s);
                    }
                }

                ApplicationLog.Debug("catelog -> afterCount: " + toBe.Count);
            }
            else
            {
                toBe = scanResult;
            }

            var pageContent = toBe.OrderByDescending(x => x.ReleaseDate).Skip((page - 1) * pageSize).Take(pageSize).ToList();

            ViewData.Add("avs", pageContent);
            ViewData.Add("count", (int)Math.Ceiling((decimal)toBe.Count / pageSize));
            ViewData.Add("size", pageSize);
            ViewData.Add("current", page);
            ViewData.Add("total", toBe.Count);
            ViewData.Add("limit", limitGiga);

            return(View());
        }
Exemplo n.º 23
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            WebViewLog log = new WebViewLog();

            log.IPAddress  = filterContext.RequestContext.HttpContext.Request.UserHostAddress;
            log.Controller = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
            log.UserAgent  = filterContext.RequestContext.HttpContext.Request.UserAgent;
            log.Action     = filterContext.ActionDescriptor.ActionName;

            var    arrParameter = filterContext.ActionDescriptor.GetParameters();
            string paramter     = "?";

            foreach (var pName in arrParameter)
            {
                var parameterValue = filterContext.ActionParameters[pName.ParameterName];

                paramter += pName.ParameterName + "=" + parameterValue.ToString() + "&";
            }
            log.Parameter = paramter;

            var uNameStr = filterContext.RequestContext.HttpContext.Request.Cookies.AllKeys.FirstOrDefault(x => x == "uName");
            var tokenStr = filterContext.RequestContext.HttpContext.Request.Cookies.AllKeys.FirstOrDefault(x => x == "token");

            if (uNameStr != null && tokenStr != null)
            {
                var uName = filterContext.RequestContext.HttpContext.Request.Cookies.Get("uName");
                var token = filterContext.RequestContext.HttpContext.Request.Cookies.Get("token");

                var guid = CacheTools.GetCache <string>(uName.Value);

                if (token.Value == guid)
                {
                    log.IsLogin = 1;
                    ScanDataBaseManager.InserWebViewLog(log);
                    base.OnActionExecuting(filterContext);
                }
                else
                {
                    ScanDataBaseManager.InserWebViewLog(log);
                    filterContext.RequestContext.HttpContext.Response.Redirect("/webav/NoRights");
                }
            }
            else
            {
                ScanDataBaseManager.InserWebViewLog(log);
                filterContext.RequestContext.HttpContext.Response.Redirect("/webav/NoRights");
            }

            ScanDataBaseManager.InserWebViewLog(log);
        }
Exemplo n.º 24
0
        public JsonResult DeleteScanJob(int jobId)
        {
            var ret = 0;

            ret += ScanDataBaseManager.DeleteScanJob(jobId);
            ret += ScanDataBaseManager.DeleteRemoteMagScan(jobId);

            if (ret > 0)
            {
                return(Json(new { success = "Success" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { success = "Fail" }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 25
0
        private void FaviList_Load(object sender, EventArgs e)
        {
            listView1.Items.Clear();

            var data = ScanDataBaseManager.GetFaviScan();

            foreach (var d in data)
            {
                ListViewItem lvi = new ListViewItem(d.Category);

                lvi.SubItems.Add(d.Name);
                lvi.SubItems.Add(d.Url);

                listView1.Items.Add(lvi);
            }
        }
Exemplo n.º 26
0
        async static void DoJob(string arg, int jobId, ScanParameter parameter = null)
        {
            if (parameter == null)
            {
                await StartJavRefresh("", arg, OutputJavRefresh);
            }
            else
            {
                models = JavBusDownloadHelper.GetJavbusAVList(parameter.StartingPage.FirstOrDefault(), parameter.PageSize, parameter.IsAsc);
            }

            ScanDataBaseManager.SetScanJobFinish(jobId, -1, models.Count);

            await Task.Run(() => UpdateRefreshUi(jobId));

            IsFinish = false;
        }
Exemplo n.º 27
0
        public string Save115Cookie(string cookie)
        {
            List <CookieItem> items = new List <CookieItem>();

            CookieContainer cc = new CookieContainer();

            var cookieData = new ChromeCookieReader().ReadCookies(".115.com");

            if (cookieData != null)
            {
                items.AddRange(cookieData);
            }

            try
            {
                if (!string.IsNullOrEmpty(cookie))
                {
                    foreach (var item in cookie.Split(';'))
                    {
                        items.Add(new CookieItem()
                        {
                            Name  = item.Split('=')[0].Trim(),
                            Value = item.Split('=')[1].Trim(),
                        });
                    }
                }

                if (items.Count > 0)
                {
                    ScanDataBaseManager.TruncateOneOneFiveCookie();

                    ScanDataBaseManager.InsertOneOneFiveCookie(new OneOneFiveCookieModel
                    {
                        OneOneFiveCookie = JsonConvert.SerializeObject(items)
                    });
                }
            }
            catch (Exception)
            {
                return("fail");
            }

            return("success");
        }
Exemplo n.º 28
0
        public static void CheckAvatorMatch()
        {
            Dictionary <string, List <string> > matchRecord = new Dictionary <string, List <string> >();
            List <string> avators = new List <string>();
            var           folder  = @"G:\Github\AllInOneAV\Setting\avator";
            var           avs     = JavDataBaseManager.GetActress();

            foreach (var f in Directory.GetDirectories(folder))
            {
                foreach (var a in Directory.GetFiles(f))
                {
                    if (!avators.Contains(a))
                    {
                        avators.Add(a);
                    }
                }
            }

            foreach (var a in avs)
            {
                foreach (var m in avators.OrderByDescending(x => x.Length))
                {
                    if (m.Contains(a.Name))
                    {
                        if (!matchRecord.ContainsKey(a.Name))
                        {
                            matchRecord.Add(a.Name, new List <string>()
                            {
                                m.Replace(@"G:\Github\AllInOneAV\Setting\", @"\Imgs\").Replace(@"\", "/")
                            });
                            break;
                        }
                    }
                }
            }

            foreach (var m in matchRecord)
            {
                ScanDataBaseManager.UpdateFaviAvator(m.Key, m.Value.FirstOrDefault());
            }

            Console.ReadKey();
        }
Exemplo n.º 29
0
        public NextRunModel GetNextRunTime(string token, string name = "ScanJavJob")
        {
            NextRunModel ret = new NextRunModel();
            var          to  = ScanDataBaseManager.GetToken().Token;

            if (to == token)
            {
                TaskService ts   = new TaskService();
                var         task = ts.FindTask("ScanJavJob");

                if (task != null)
                {
                    ret.NextRunTime         = task.NextRunTime;
                    ret.NextRunCountMinutes = (int)Math.Ceiling((task.NextRunTime - DateTime.Now).TotalMinutes);
                }
            }

            return(ret);
        }
Exemplo n.º 30
0
        public static List <UnmatchVW> GetUnMatch(bool includePlayed)
        {
            List <UnmatchVW> ret = new List <UnmatchVW>();

            var drivers = Environment.GetLogicalDrives();
            var folder  = "pt";

            foreach (var driver in drivers)
            {
                if (Directory.Exists(driver + "\\" + folder))
                {
                    List <FileInfo> fi    = new List <FileInfo>();
                    var             files = FileUtility.GetFilesRecursive(driver + "\\" + folder, formats, excludes, fi, 500);

                    foreach (var f in fi)
                    {
                        UnmatchVW temp = new UnmatchVW();
                        temp.FileName = f.Name.Replace(f.Extension, "");
                        temp.FilePath = f.FullName;
                        temp.FileSize = FileSize.GetAutoSizeString(f.Length, 2);
                        temp.FileExts = f.Extension;

                        if (ScanDataBaseManager.ViewedFile(FileUtility.ReplaceInvalidChar(f.FullName)))
                        {
                            temp.HasPlayed = true;
                        }

                        if (includePlayed)
                        {
                            ret.Add(temp);
                        }
                        else
                        {
                            if (temp.HasPlayed == false)
                            {
                                ret.Add(temp);
                            }
                        }
                    }
                }
            }
            return(ret);
        }