public DataProvider() { NotesProvider = new NotesProvider(this); RelationsProvider = new RelationsProvider(this); CategoriesProvider = new CategoriesProvider(this); UsersProvider = new UsersProvider(this); }
public async Task ChangeCategory(IList <object> archives) { if (archives.Count == 0) { return; } var items = archives.Cast <Archive>(); if (MoveToCategory) { foreach (var a in items) { foreach (var c in Categories) { if (c.archives.Contains(a.arcid)) { await CategoriesProvider.RemoveArchiveFromCategory(c.id, a.arcid); } } } } foreach (var a in items) { await CategoriesProvider.AddArchiveToCategory(SelectedCategory?.id ?? "", a.arcid); } MoveToCategory = false; }
private async Task Edit() { var listMode = string.IsNullOrEmpty(Category.search); if (Category.Unconfigured()) { var result = await Platform.OpenGenericDialog( Platform.GetLocalizedString("Dialogs/ConfigureCategory/Title"), Platform.GetLocalizedString("Dialogs/ConfigureCategory/PrimaryButtonText"), Platform.GetLocalizedString("Dialogs/ConfigureCategory/SecondaryButtonText"), Platform.GetLocalizedString("Dialogs/ConfigureCategory/CloseButtonText"), Platform.GetLocalizedString("Dialogs/ConfigureCategory/Content").AsFormat("\n")); switch (result) { case IDialogResult.Primary: listMode = true; break; case IDialogResult.Secondary: listMode = false; break; } } if (listMode) { Tabs.OpenTab(Tab.CategoryEdit, Category); } else { var dialog = Platform.CreateDialog <ICreateCategoryDialog>(Dialog.CreateCategory, true); dialog.Name = Category.name; dialog.Query = Category.search; dialog.Pin = Category.pinned; var result = await dialog.ShowAsync(); if (result == IDialogResult.Primary) { var updateResult = await CategoriesProvider.UpdateCategory(Category.id, dialog.Name, dialog.Query, dialog.Pin); if (updateResult) { Category.name = dialog.Name; Category.search = dialog.Query; Category.pinned = dialog.Pin; OnPropertyChanged("Category"); } } } }
private async Task Delete() { var result = await Platform.OpenGenericDialog( Platform.GetLocalizedString("Dialogs/RemoveCategory/Title").AsFormat(Category.name), Platform.GetLocalizedString("Dialogs/RemoveCategory/PrimaryButtonText"), closebutton : Platform.GetLocalizedString("Dialogs/RemoveCategory/CloseButtonText"), content : Platform.GetLocalizedString("Dialogs/RemoveCategory/Content") ); if (result == IDialogResult.Primary) { WeakReferenceMessenger.Default.Send(new DeleteCategoryMessage(Category)); Tabs.CloseTabWithId("Search_" + Category.id); await CategoriesProvider.DeleteCategory(Category.id); } }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); //Register dialog service singlton var dialogService = new Dialog(null); dialogService.Register <MainWindowViewModel, MainWindow>(); dialogService.Register <MessageDialogViewModel, MessageDialog>(); dialogService.Register <ConfigureDialogViewModel, ConfigureDialog>(); dialogService.Register <AboutViewModel, AboutDialog>(); DI.AddSinglton <IDialogService>(dialogService); //Register Categories Provider as singlton ICategoriesProvider catsProvider = new CategoriesProvider(); DI.AddSinglton <ICategoriesProvider>(catsProvider); //Register message composer as singlton. DI.AddSinglton <IMessageComposer>(new MessageComposer()); var assetsConfig = new AssetsSourceConfiguration(Environment.CurrentDirectory + "\\Configs\\ExcelConfig.json"); DI.AddSinglton <IAssetSourceConfiguration>(assetsConfig); var appSettingsProvider = new JsonSettingsProvider(Environment.CurrentDirectory + "\\Configs\\AppSettings.json"); DI.AddSinglton <ISettingsProvider>(appSettingsProvider); var assetsSource = new ExcelAssetReader(); assetsSource.Configure(assetsConfig); DI.AddSinglton <IAssetSource>(assetsSource); DI.AddSinglton <IClipBoard>(new ClipboardService()); //Register mail service as scoped DI.AddService <IMailService, OutlookMailService>(); DI.AddTransient(typeof(MainWindowViewModel)); DI.Construct(); IRC.Helpdesk.ViewModels.DI.SetProvider(DI.Provider); DI.GetService <IDialogService>().ShowWindow <MainWindowViewModel>(DI.GetService <MainWindowViewModel>(), true); }
static void Main(string[] args) { var connectionString = @"Server=.\SQLEXPRESS;Database=Northwind;Trusted_Connection=True;"; var provider = new CategoriesProvider(new TransactionManager(connectionString)); int count = 0; var rows = provider.GetAll(out count).ToArray(); var row = provider.GetByCategoryId(rows[2].CategoryId); var newRow = new Categories() { Picture = row.Picture, Description = row.Description, CategoryName = row.CategoryName, }; var updated = provider.Update(row); var updated2 = provider.Update(newRow); var inserted = provider.Insert(newRow); }
public Task <bool> Validate() { #if false #if WINDOWS_UWP await Crashes.SetEnabledAsync(false); // Disable to prevent false-positive errors #endif var archives = await ArchivesProvider.Validate(); var categories = await CategoriesProvider.Validate(); var database = await DatabaseProvider.Validate(); if (archives && categories && database) { #if WINDOWS_UWP await Crashes.SetEnabledAsync(Settings.CrashReporting); #endif Settings.Profile.AcceptedDisclaimer = false; Settings.SaveProfiles(); return(true); } if (Settings.Profile.AcceptedDisclaimer) { #if WINDOWS_UWP await Crashes.SetEnabledAsync(false); #endif return(true); } var result = (await Platform.OpenDialog(Dialog.ValidateApi, archives, categories, database)) == IDialogResult.Primary; Settings.Profile.AcceptedDisclaimer = result; if (result) { #if WINDOWS_UWP await Crashes.SetEnabledAsync(false); #endif } Settings.SaveProfiles(); return(result); #else return(Task.Run(() => true)); #endif }
public async Task Reload() { var result = await CategoriesProvider.GetCategories(); if (result != null) { foreach (var c in result) { if (string.IsNullOrEmpty(c.search)) { var target = Source.FirstOrDefault(cat => cat.id.Equals(c.id)); if (target != null) { target.archives = c.archives; } } } } }
public async Task Load() { var result = await CategoriesProvider.GetCategories(); if (result != null) { foreach (var c in result) { if (string.IsNullOrEmpty(c.search)) { Categories.Add(c); Source.Add(c); if (c.archives.Contains(archiveID)) { SelectedCategories.Add(c); } } } } }
public async Task Load() { var id = SelectedCategory?.id; Categories.Clear(); var result = await CategoriesProvider.GetCategories(); if (result != null) { foreach (var c in result) { if (string.IsNullOrEmpty(c.search)) { Categories.Add(c); } } SelectedCategory = Categories.FirstOrDefault(c => c.id.Equals(id)); if (SelectedCategory == null) { SelectedCategory = Categories.FirstOrDefault(); } } }
public IEnumerable <CategoryModel> GetTree() { CategoriesProvider categoriesProvider = new CategoriesProvider(); return(categoriesProvider.GetCategoriesTree()); }
public async Task <bool> RemoveFromCategory(string id) { return(await CategoriesProvider.RemoveArchiveFromCategory(id, archiveID)); }
public async Task <bool> AddToCategory(string id) { return(await CategoriesProvider.AddArchiveToCategory(id, archiveID)); }