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)); }
public async Task <int> UpdateAvModel(AvModel model) { var sql = "UPDATE AvModel SET PicUrl = @PicUrl WHERE Id = @Id"; return(await ExecuteAsync(sql, model)); }
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); }