/// <summary> /// Create a new HentaiPaser from the page and store in sitename/subfolder /// </summary> /// <param name="html">The downloaded page content as string</param> /// <param name="subfolder">The name or number of the doujin to download</param> /// <param name="siteName">Name of the site, comming from the Site Context</param> public HentaiParser(string html, string subfolder, string siteName, string basePath) { _albumName = subfolder; _document = new HtmlParser().ParseDocumentAsync(html).Result; _subfolder = Path.Combine(basePath, "downloads", siteName, subfolder); _filesContext = new FilesContext(siteName, basePath); }
private void OkButton_Click(object sender, EventArgs e) { var tags = tagsBox.Text; if (tags.Contains("|")) { MessageBox.Show( "Cannot use character '|' in tags.", "Invalid tags", MessageBoxButtons.OK, MessageBoxIcon.Exclamation ); return; } var newTags = Helpers.TagStringToHash(tags); int count = 0; foreach (var file in EditedFiles) { file.Custom_fts.UnionWith(newTags); } using (var ctx = new FilesContext()) { count = ctx.UpdateFilesTags(EditedFiles); } MessageBox.Show( $"Updated {count} file(s).", "Updated" ); Close(); }
private void watcherListBox_SelectedIndexChanged(object sender, EventArgs e) { var index = watcherListBox.SelectedIndex; if (index == -1) { return; } HashSet <string> tagSet = new HashSet <string>(); using (var ctx = new FilesContext()) { Watcher found = ctx.Watchers.Include(watcher => watcher.Files).Where(watcher => watcher.Id == _watchers[index].Id).FirstOrDefault(); if (found == null) { return; } foreach (var fileTagSet in found.Files.Select(t => t.XMPTags_fts).Where(set => set != null)) { tagSet.UnionWith(fileTagSet); } } tagsWatcherListBox.BeginUpdate(); tagsWatcherListBox.Items.Clear(); tagsWatcherListBox.Items.AddRange(EnumerableToSortedArray(tagSet)); tagsWatcherListBox.EndUpdate(); }
public ChatService(ApplicationContext context, FilesContext files, UserManager <User> users) { _users = users; _files = files; _application = context; _chatConverter = new ChatConverter(_files); }
private void RemoveButton_Click(object sender, EventArgs e) { if (watcherListView.SelectedItems.Count == 0) { return; } var item = watcherListView.SelectedItems[0]; var id = (int)item.Tag; using (var ctx = new FilesContext()) { Watcher found = ctx.Watchers.SingleOrDefault(watcher => watcher.Id == id); if (found == null) { Console.Write($"Could not find watcher with id {id}."); return; } var confirmResult = MessageBox.Show( $"Are you sure you want to delete this watcher? This will delete all custom tags and command for files in:\n{found.Directory}", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning ); if (confirmResult != DialogResult.Yes) { return; } ctx.Watchers.Remove(found); ctx.SaveChanges(); Monitor.Stop(found); } RefreshListView(); }
private void RefreshListView() { watcherListView.Items.Clear(); List <ListViewItem> watcherList = new List <ListViewItem>(); using (var ctx = new FilesContext()) { foreach (var watcher in ctx.Watchers) { var item = new ListViewItem(new[] { watcher.Name, watcher.Enabled.ToString(), watcher.Directory, Watcher.HashToExtensionString(watcher.Whitelist), watcher.ScanSubdirectories.ToString(), watcher.GenerateVideoThumbnails.ToString(), watcher.ShortcutKeys == Keys.None ? "None" : _keysConverter.ConvertToString(watcher.ShortcutKeys), watcher.GlobalShortcut.ToString() }); item.Tag = watcher.Id; watcherList.Add(item); } } watcherListView.Items.AddRange(watcherList.ToArray()); }
public void InsertFile(File file) { using (var context = new FilesContext()) { context.Fisiere.Add(file); context.SaveChanges(); } }
public void Setup() { DbContextOptions <FilesContext> options = new DbContextOptionsBuilder <FilesContext>().UseSqlServer(SqlString).Options; FilesContext databaseContext = new FilesContext(options); databaseContext.Database.EnsureCreated(); _dbContext = databaseContext; }
public JsonResult Policy(string Company) { FilesContext db = new FilesContext(); List <string> policyList = new List <string>(); switch (Company) { case "Select": var select = new Company { Name = "Select:" }; policyList.Add(select.Name); break; case "WPS Insurance": var wpsList = from p in db.Policies where p.Company.Name.Contains("WPS") select p; foreach (Models.Policy p in wpsList) { policyList.Add(p.Name); } break; case "United HealthCare": var uhcList = from p in db.Policies where p.Company.Name.Contains("United HealthCare") select p; foreach (Models.Policy p in uhcList) { policyList.Add(p.Name); } break; case "Blue Cross Blue Shield": var bcbsList = from p in db.Policies where p.Company.Name.Contains("Blue Cross Blue Shield") select p; foreach (Models.Policy p in bcbsList) { policyList.Add(p.Name); } break; case "Common Ground HealthCare": var cghcList = from p in db.Policies where p.Company.Name.Contains("Common Ground Health") select p; foreach (Models.Policy p in cghcList) { policyList.Add(p.Name); } break; } return(Json(policyList)); }
public static void InitDatabase(SearchTagEditor editor) { FilesContext.videoThumbnailExtractor = new VideoThumbnailExtractor(); FilesContext.searchTagEditor = editor; using (var ctx = new FilesContext()) { ctx.Database.Migrate(); } }
public void DeleteFile(File file) { using (var context = new FilesContext()) { context.Fisiere.Attach(file); context.Fisiere.Remove(file); context.SaveChanges(); } }
public File GetFileById(int id) { if (id == 0) { throw new ArgumentException("id"); } using (var context = new FilesContext()) { return(context.Fisiere.FirstOrDefault(c => c.Id == id)); } }
public List <FileMetadata> GetFilesMetadataForUserId(int userId) { using (var context = new FilesContext()) { return((from file in context.Fisiere where file.UserId == userId select new FileMetadata() { Description = file.Description, FileName = file.FileName, FileType = file.FileType, UserId = file.UserId, Id = file.Id, LastDateChanged = file.Data }).ToList()); } }
public MultiXMPEditForm(List <File> files, SearchTagEditor searchTagEditor, WatcherMonitor watcherMonitor) { InitializeComponent(); _files = files; _searchTagEditor = searchTagEditor; _watcherMonitor = watcherMonitor; using (var ctx = new FilesContext()) { _watchers = ctx.Watchers.ToList(); } RefreshView(); }
public TestHelper() { var builder = new DbContextOptionsBuilder <FilesContext>(); builder.UseInMemoryDatabase(databaseName: "LibraryDbInMemory"); var dbContextOptions = builder.Options; fileContext = new FilesContext(dbContextOptions); // Delete existing db before creating a new one fileContext.Database.EnsureDeleted(); fileContext.Database.EnsureCreated(); }
public async Task <IActionResult> Index(SiteViewModel model) { if (ModelState.IsValid) { model.Sites = await _context.GetAllAsync(); model.ToDownload = model.ToDownload.Trim('/'); var siteName = model.Sites.Where(x => x.Id == model.SiteId).First().Name; var filesContext = new FilesContext(siteName, _environment.ContentRootPath); if (!await filesContext.AddDownloadingAsync(model.ToDownload)) { return(await GetFileForDownload(siteName, model.ToDownload)); } try { var siteType = _context.IdToType(model.SiteId); var site = (ISite)Activator.CreateInstance(siteType); var url = site.GetDownloadUrl(model.Sites.Where(x => x.Id == model.SiteId).First().Url, model.ToDownload); var response = await client.GetStringAsync(url); var genericParser = Type.GetType("Ahegao.Models.HentaiParser`1"); var parser = genericParser.MakeGenericType(new Type[] { siteType }); var p = (IParser)Activator.CreateInstance(parser, new string[] { response, model.ToDownload, siteName, _environment.ContentRootPath }); await p.DownloadImages(); await p.GeneratePdf(); return(await GetFileForDownload(siteName, model.ToDownload)); } catch (HttpRequestException e) { Console.WriteLine("Exception Caught!"); Console.WriteLine("Message :{0} ", e.Message); } } return(View(model)); }
private void OkButton_Click(object sender, EventArgs e) { var tags = tagsBox.Text; if (tags.Contains("|")) { MessageBox.Show("Cannot use character '|' in tags."); return; } EditedFile.Custom_fts = Helpers.TagStringToHash(tags); using (var ctx = new FilesContext()) { ctx.UpdateFileTags(EditedFile); } Close(); }
public List <File> GetFilesForUserProfile(UserProfile userProfile) { if (userProfile == null) { throw new ArgumentNullException("userProfile"); } if (userProfile.UserId == 0) { throw new ArgumentException(); } using (var context = new FilesContext()) { return(context.Fisiere.Where <File>(c => c.UserId == userProfile.UserId).ToList()); } }
public void EditFile(File file) { using (var context = new FilesContext()) { var oldFile = context.Fisiere.FirstOrDefault(c => c.Id == file.Id); if (oldFile != null) { oldFile.Data = file.Data; oldFile.FileContent = file.FileContent; oldFile.FileType = file.FileType; oldFile.Description = file.Description; oldFile.FileName = file.FileName; } context.SaveChanges(); } }
private void AddButton_Click(object sender, EventArgs e) { if (!ValidCheck()) { return; } var name = NameTextBox.Text; var directory = DirectoryTextBox.Text; var whitelist = ExtensionTextBox.Text; Watcher watcher; using (var ctx = new FilesContext()) { watcher = ctx.AddWatcherForm(name, directory, whitelist, GenerateVideoThumbnailsBox.Checked, scanSubdirectoriesBox.Checked); } Console.WriteLine(GenerateVideoThumbnailsBox.Checked); AddedWatcher = watcher; this.Close(); }
private void MaybeUpdateWatcher() { bool whitelistChanged = !_orignalWhitelist.SetEquals(Watcher.ExtensionStringToHash(ExtensionTextBox.Text)); if (_orignalName != NameTextBox.Text || whitelistChanged || _originalScanBool != scanSubdirectoriesBox.Checked || _originalVideoBool != GenerateVideoThumbnailsBox.Checked) { using (var ctx = new FilesContext()) { ctx.UpdateWatcherForm(_watcher.Id, NameTextBox.Text, ExtensionTextBox.Text, scanSubdirectoriesBox.Checked, scanSubdirectoriesBox.Checked); } if (_originalScanBool != scanSubdirectoriesBox.Checked || whitelistChanged) { Console.WriteLine("restart"); _watcherMonitor.RestartById(_watcher.Id); } } }
public ActionResult ExternalLoginConfirmation(RegisterExternalLoginModel model, string returnUrl) { string provider = null; string providerUserId = null; if (User.Identity.IsAuthenticated || !OAuthWebSecurity.TryDeserializeProviderUserId(model.ExternalLoginData, out provider, out providerUserId)) { return(RedirectToAction("Manage")); } if (ModelState.IsValid) { // Insert a new user into the database using (var db = new FilesContext()) { UserProfile user = db.UserProfiles.FirstOrDefault(u => u.UserName.ToLower() == model.UserName.ToLower()); // Check if user already exists if (user == null) { // Insert name into the profile table db.UserProfiles.Add(new UserProfile { UserName = model.UserName }); db.SaveChanges(); OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, model.UserName); OAuthWebSecurity.Login(provider, providerUserId, createPersistentCookie: false); return(RedirectToLocal(returnUrl)); } else { ModelState.AddModelError("UserName", "User name already exists. Please enter a different user name."); } } } ViewBag.ProviderDisplayName = OAuthWebSecurity.GetOAuthClientData(provider).DisplayName; ViewBag.ReturnUrl = returnUrl; return(View(model)); }
private async Task <FileContentResult> GetFileForDownload(string siteName, string album) { var filesContext = new FilesContext(siteName, _environment.ContentRootPath); while (!await filesContext.IsDoujinDownloadedAsync(album)) { await Task.Delay(500); } ContentDisposition cd = new ContentDisposition { FileName = $"{album}.pdf", Inline = false // false = prompt the user for downloading; true = browser to try to show the file inline }; Response.Headers.Add("Content-Disposition", cd.ToString()); var filepath = Path.Combine(_environment.ContentRootPath, "downloads", siteName, $"{album}.pdf"); return(File(System.IO.File.ReadAllBytes(filepath), MediaTypeNames.Application.Pdf)); }
private void okButton_Click(object sender, EventArgs e) { var tags = tagsBox.Text; if (tags.Contains("|")) { MessageBox.Show("Cannot use character '|' in tags."); return; } EditedFile.XMPTags_fts = Helpers.TagStringToHash(tags); var editResult = _searchTagEditor.setSearchTag(EditedFile.FullName, EditedFile.XMPTags_fts.ToHashSet()); if (editResult == false) { MessageBox.Show("Could not set XMP tags for image.", "ImageGallery", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { using (var ctx = new FilesContext()) { ctx.UpdateXMPFileTags(EditedFile); } } }
private bool MaybeUpdateKey() { if ((enabledBox.Checked == false || hotkeyTextBox.Text.Length == 0) && _orignalKey != Keys.None) { using (var ctx = new FilesContext()) { ctx.UpdateShortcuts(_watcher, Keys.None, globalBox.Checked); } } else { try { object keyObject = _keysConverter.ConvertFromInvariantString(hotkeyTextBox.Text); if (keyObject == null) { throw new ArgumentException(); } if (_orignalGlobalKeyBool != globalBox.Checked || (Keys)keyObject != _orignalKey) { using (var ctx = new FilesContext()) { ctx.UpdateShortcuts(_watcher, (Keys)keyObject, globalBox.Checked); } } } catch (ArgumentException) { MessageBox.Show("Invalid key", "Could not set this key.", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } _watcherKeyManager.UpdateDataAndEnable(); return(true); }
private void editButton_Click(object sender, EventArgs e) { if (watcherListView.SelectedItems.Count == 0) { return; } var item = watcherListView.SelectedItems[0]; var id = (int)item.Tag; Watcher found = null; using (var ctx = new FilesContext()) { found = ctx.Watchers.SingleOrDefault(watcher => watcher.Id == id); } if (found == null) { Console.Write($"Could not find watcher with id {id}."); return; } var editWatcherForm = new EditWatcherForm(found, _watcherKeyManager, Monitor); editWatcherForm.ShowDialog(); RefreshListView(); }
public FilesController(FilesContext context) { _context = context; }
public UserService(UserManager <User> userManager, FilesContext files) { _files = files; _users = userManager; _converter = new UserConverter(_files); }
public FilesFetcherHandler(ILogger <FilesController> logger, FilesContext dbContext) { _logger = logger; _dbContext = dbContext; }
public FileDetailsRepository(FilesContext context) { _context = context; }