public SettingsViewModel(
            IScreen screen,
            ISettingsProvider settingsProvider,
            IFolderHelper folderHelper, 
            IAppContext appContext)
        {
            HostScreen = screen;

            BackCommand = new ReactiveAsyncCommand();
            BackCommand.RegisterAsyncAction(_ => HostScreen.Router.NavigateBack.Execute(null));

            SelectFolder = new ReactiveAsyncCommand();
            SelectFolder.RegisterAsyncAction(_ =>
            {
                var result = folderHelper.SelectFolder();
                if (result.Result == true) {
                    UpdateLocation = result.Folder;
                }
            }, appContext.DispatcherScheduler);

            UpdateLocation = settingsProvider.UpdateLocation;

            _IsError = this.WhenAny(vm => vm.UpdateLocation, vm => vm.Value)
                           .DistinctUntilChanged()
                           .Throttle(TimeSpan.FromMilliseconds(500))
                           .ObserveOn(appContext.DispatcherScheduler)
                           .Select(text => !IsUrlOrFolder(text))
                           .Do(error => {
                                if (!error) {
                                    settingsProvider.UpdateLocation = UpdateLocation;
                                }
                            })
                            .ToProperty(this, vm => vm.IsError, setViaReflection: false);
        }
示例#2
0
 public void LoadChildren(IEnumerable <string> children)
 {
     IFolderHelper.RemovePlaceholder(this);
     foreach (var child in children)
     {
         Nodes.Add(new ContainerNode(child));
     }
 }
示例#3
0
 private async Task LoadFoldersAsync <T>(T folderNode) where T : TreeNode, IFolderNode
 {
     await DoActionAsync(tslAccountStatus, "Finding directories...", async() =>
     {
         var account      = CurrentAccount;
         string container = CurrentContainer.Name;
         var service      = new BlobService(account.Name, account.Key);
         var folders      = await service.ListDirectoriesAsync(container, folderNode.Prefix);
         tvwObjects.BeginUpdate();
         IFolderHelper.RemovePlaceholder(folderNode);
         foreach (var dir in folders)
         {
             folderNode.Nodes.Add(new FolderNode(dir));
         }
         tvwObjects.EndUpdate();
     });
 }
示例#4
0
文件: Startup.cs 项目: vlod11/stu-api
        public void Configure(IApplicationBuilder app,
                              SeedDatabase seedDatabase,
                              IHostingEnvironment env,
                              IFolderHelper folderHelper,
                              IOptions <FilesOptions> filesOptions,
                              ILoggerFactory loggerFactory)
        {
            loggerFactory.AddSerilog();

            app.UseAuthentication();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            }

            folderHelper.CreateFilesFoldersIfNotExist();

            seedDatabase.Seed();

            app.UseStaticFiles();

            app.AllowFilesGettingFromServer(env, filesOptions.Value.UploadFolder);

            app.UseSwagger();

            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "UniHub V1");
            });

            app.UseAuthentication();

            app.UseMvcWithDefaultRoute();
            app.UseMvc();
        }
        public SettingsViewModel(
            IScreen screen,
            ISettingsProvider settingsProvider,
            IFolderHelper folderHelper,
            IAppContext appContext)
        {
            HostScreen = screen;

            BackCommand = new ReactiveAsyncCommand();
            BackCommand.RegisterAsyncAction(_ => HostScreen.Router.NavigateBack.Execute(null));

            SelectFolder = new ReactiveAsyncCommand();
            SelectFolder.RegisterAsyncAction(_ =>
            {
                var result = folderHelper.SelectFolder();
                if (result.Result == true)
                {
                    UpdateLocation = result.Folder;
                }
            }, appContext.DispatcherScheduler);

            UpdateLocation = settingsProvider.UpdateLocation;

            _IsError = this.WhenAny(vm => vm.UpdateLocation, vm => vm.Value)
                       .DistinctUntilChanged()
                       .Throttle(TimeSpan.FromMilliseconds(500))
                       .ObserveOn(appContext.DispatcherScheduler)
                       .Select(text => !IsUrlOrFolder(text))
                       .Do(error => {
                if (!error)
                {
                    settingsProvider.UpdateLocation = UpdateLocation;
                }
            })
                       .ToProperty(this, vm => vm.IsError, setViaReflection: false);
        }
 public InternalDirectoryProcessor(IFolderHelper folderHelper, IQueryInternalDirectory internalDirectory)
 {
     _folderHelper      = folderHelper;
     _internalDirectory = internalDirectory;
 }
示例#7
0
 public PathBuilder(IFolderHelper folderHelper)
 {
     this.folderHelper = folderHelper;
 }
示例#8
0
 public void LoadChildren(IEnumerable <IFolderNode> children)
 {
     IFolderHelper.RemovePlaceholder(this);
 }
示例#9
0
 public bool HasChildren() => IFolderHelper.HasFolders(this);
 /// <summary>Initializes a new instance of the <see cref="T:MvvmCross.Template.FixTemplateRoot"/> class.</summary>
 /// <param name="folderHelper">Helper service to handle folder operations.</param>
 public FixTemplateRoot(IFolderHelper folderHelper) => _folderHelper = folderHelper;
示例#11
0
 public FixIosProject(IFolderHelper folderHelper)
 {
     _folderHelper  = folderHelper;
     _iOsFolder     = Path.Combine(TemplateFolder, "Proso.MvvmCross.iOS");
     _testIosFolder = Path.Combine(TemplateFolder, "Proso.MvvmCross.Test.iOS");
 }
示例#12
0
 public PathBuilder(IFolderHelper folderHelper)
 {
     this.folderHelper = folderHelper;
 }