Exemple #1
0
        public async Task <int> InsertAvModel(AvModel entity)
        {
            var sql = @"IF NOT EXISTS (SELECT * FROM AvModel WHERE Url = @Url)
                            BEGIN
                                INSERT INTO AvModel (AvId, Name, Url, PicUrl, Infos, FileNameWithoutExtension, AvLength, ReleaseDate, CreateTime, UpdateTime)
                                    VALUES(@AvId, @Name, @Url, @PicUrl, @Infos, @FileNameWithoutExtension, @AvLength, @ReleaseDate, GETDATE(), GETDATE());
                                SELECT @@IDENTITY;
                            END
                        ELSE
                            BEGIN
                                SELECT 0;
                            END";

            return(await QuerySingleOrDefaultAsync <int>(sql, entity));
        }
Exemple #2
0
        public async Task <int> UpdateAvModel(AvModel model)
        {
            var sql = "UPDATE AvModel SET PicUrl = @PicUrl WHERE Id = @Id";

            return(await ExecuteAsync(sql, model));
        }
Exemple #3
0
        private static void ProcessReportType(AvModel av, Dictionary <int, List <MyFileInfo> > existFiles, Report report, List <ReportItem> items)
        {
            int    exist     = 0;
            double existSize = 0d;

            if (existFiles.ContainsKey(av.Id))
            {
                var file = existFiles[av.Id];

                if (file.Count() > 0)
                {
                    var biggestFile = file.FirstOrDefault(x => x.Length == file.Max(y => y.Length));

                    exist     = 1;
                    existSize = biggestFile.Length;

                    report.TotalExist     += 1;
                    report.TotalExistSize += biggestFile.Length;

                    var extensionKey = biggestFile.Extension;

                    if (report.ExtensionModel.ContainsKey(extensionKey))
                    {
                        report.ExtensionModel[extensionKey] = report.ExtensionModel[extensionKey] + 1;
                    }
                    else
                    {
                        report.ExtensionModel.Add(extensionKey, 1);
                    }

                    if (biggestFile.Length < (long)1 * 1024 * 1024 * 1024)
                    {
                        report.LessThenOneGiga++;
                    }

                    if (biggestFile.Length >= (long)1 * 1024 * 1024 * 1024 && biggestFile.Length < (long)2 * 1024 * 1024 * 1024)
                    {
                        report.OneGigaToTwo++;
                    }

                    if (biggestFile.Length >= (long)2 * 1024 * 1024 * 1024 && biggestFile.Length < (long)4 * 1024 * 1024 * 1024)
                    {
                        report.TwoGigaToFour++;
                    }

                    if (biggestFile.Length >= (long)4 * 1024 * 1024 * 1024 && biggestFile.Length < (long)6 * 1024 * 1024 * 1024)
                    {
                        report.FourGigaToSix++;
                    }

                    if (biggestFile.Length >= (long)6 * 1024 * 1024 * 1024)
                    {
                        report.GreaterThenSixGiga++;
                    }

                    if (biggestFile.Name.Contains("-C" + biggestFile.Extension))
                    {
                        report.ChineseCount++;
                    }
                }
            }

            foreach (ReportType type in Enum.GetValues(typeof(ReportType)))
            {
                switch (type)
                {
                case ReportType.Actress:
                    foreach (var itemName in av.InfoObj.Where(x => x.Type == CommonModelType.Actress))
                    {
                        ProcessReportItem(ReportType.Actress, itemName.Name, exist, existSize, report.ReportId, items);
                    }
                    break;

                case ReportType.Category:
                    foreach (var itemName in av.InfoObj.Where(x => x.Type == CommonModelType.Category))
                    {
                        ProcessReportItem(ReportType.Category, itemName.Name, exist, existSize, report.ReportId, items);
                    }
                    break;

                case ReportType.Company:
                    foreach (var itemName in av.InfoObj.Where(x => x.Type == CommonModelType.Company))
                    {
                        ProcessReportItem(ReportType.Company, itemName.Name, exist, existSize, report.ReportId, items);
                    }
                    break;

                case ReportType.Date:
                    ProcessReportItem(ReportType.Date, av.ReleaseDate?.ToString("yyyy"), exist, existSize, report.ReportId, items);
                    break;

                case ReportType.Director:
                    foreach (var itemName in av.InfoObj.Where(x => x.Type == CommonModelType.Director))
                    {
                        ProcessReportItem(ReportType.Director, itemName.Name, exist, existSize, report.ReportId, items);
                    }
                    break;

                case ReportType.Prefix:
                    var prefix = av.AvId.Split('-').Length >= 2 ? av.AvId.Split('-')[0] : "";
                    if (!string.IsNullOrEmpty(prefix))
                    {
                        ProcessReportItem(ReportType.Prefix, prefix, exist, existSize, report.ReportId, items);
                    }
                    break;

                case ReportType.Publisher:
                    foreach (var itemName in av.InfoObj.Where(x => x.Type == CommonModelType.Publisher))
                    {
                        ProcessReportItem(ReportType.Publisher, itemName.Name, exist, existSize, report.ReportId, items);
                    }
                    break;

                default:
                    break;
                }
            }
        }
 //保存JavLibrary的AvModel
 public async static Task <int> SaveJavLibraryAvModel(AvModel avModel)
 {
     return(await new JavLibraryDAL().InsertAvModel(avModel));
 }
        public static string GenerateTagetFileName(string targetFolder, string extension, AvModel av, ManualRenameModel model)
        {
            var ret = targetFolder + av.AvId + "-" + av.Name;

            if (model.episode > 0)
            {
                ret += "-" + model.episode;
            }

            if (model.language == RenamneLanguage.Chinese)
            {
                ret += "-C";
            }

            return(ret + extension);
        }