public async Task CreateUseAndBlockDelete() { var settingsId = 0; var proxyId = 0; using (var context = Repository.GetEntityContext()) { var proxy = new ProxySetting(ProxySettingType.Manual); await context.Save(proxy).ConfigureAwait(false); var setting = new MangaReader.Core.Services.MangaSetting() { Folder = AppConfig.DownloadFolder }; setting.ProxySetting = proxy; await context.Save(setting).ConfigureAwait(false); async Task DeleteProxy() { await context.Delete(proxy).ConfigureAwait(false); } settingsId = setting.Id; proxyId = proxy.Id; Assert.ThrowsAsync <EntityException <ProxySetting> >(DeleteProxy); } using (var context = Repository.GetEntityContext()) { var setting = await context.Get <MangaReader.Core.Services.MangaSetting>().SingleAsync(s => s.Id == settingsId).ConfigureAwait(false); var proxy = await context.Get <ProxySetting>().SingleAsync(s => s.Id == proxyId).ConfigureAwait(false); await context.Delete(setting).ConfigureAwait(false); await context.Delete(proxy).ConfigureAwait(false); } }
public static Type GetPluginType(MangaSetting mangaSetting) { return(ConfigStorage.Plugins.Single(p => p.MangaGuid == mangaSetting.Manga).GetType()); }
public MangaSettingCache(MangaSetting mangaSetting) : this(GetPluginType(mangaSetting), mangaSetting.ProxySetting) { }