Exemplo n.º 1
0
 public DataProvider()
 {
     NotesProvider      = new NotesProvider(this);
     RelationsProvider  = new RelationsProvider(this);
     CategoriesProvider = new CategoriesProvider(this);
     UsersProvider      = new UsersProvider(this);
 }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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");
                    }
                }
            }
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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
        }
Exemplo n.º 8
0
        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;
                        }
                    }
                }
            }
        }
Exemplo n.º 9
0
        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);
                        }
                    }
                }
            }
        }
Exemplo n.º 10
0
        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());
        }
Exemplo n.º 12
0
 public async Task <bool> RemoveFromCategory(string id)
 {
     return(await CategoriesProvider.RemoveArchiveFromCategory(id, archiveID));
 }
Exemplo n.º 13
0
 public async Task <bool> AddToCategory(string id)
 {
     return(await CategoriesProvider.AddArchiveToCategory(id, archiveID));
 }