public DirectoryPath GetSpecialPath(SpecialPath path) { if (path == SpecialPath.ProgramFilesX86) { return new DirectoryPath(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)); } if (path == SpecialPath.Windows) { return new DirectoryPath(Environment.GetFolderPath(Environment.SpecialFolder.Windows)); } const string format = "The special path '{0}' is not supported."; throw new NotSupportedException(string.Format(format, path)); }
protected override bool CheckIfNeedLoadThumbnailOverlay() { return(SpecialPath.IsPathIncluded(Path, SpecialPath.SpecialPathEnum.OneDrive)); }
/// <summary> /// Sets a special path. /// </summary> /// <param name="kind">The special path kind.</param> /// <param name="path">The path.</param> public void SetSpecialPath(SpecialPath kind, DirectoryPath path) { _specialPaths[kind] = path; }
/// <summary> /// Gets a special path. /// </summary> /// <param name="path">The path.</param> /// <returns> /// A <see cref="DirectoryPath" /> to the special path. /// </returns> public DirectoryPath GetSpecialPath(SpecialPath path) { return(SpecialPathHelper.GetFolderPath(Platform, path)); }
/// <summary> /// Gets a special path. /// </summary> /// <param name="path">The path.</param> /// <returns> /// A <see cref="DirectoryPath" /> to the special path. /// </returns> public DirectoryPath GetSpecialPath( SpecialPath path ) { switch( path ) { case SpecialPath.ApplicationData: return new DirectoryPath( Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData ) ); case SpecialPath.CommonApplicationData: return new DirectoryPath( Environment.GetFolderPath( Environment.SpecialFolder.CommonApplicationData ) ); case SpecialPath.LocalApplicationData: return new DirectoryPath( Environment.GetFolderPath( Environment.SpecialFolder.LocalApplicationData ) ); case SpecialPath.ProgramFiles: return new DirectoryPath( Environment.GetFolderPath( Environment.SpecialFolder.ProgramFiles ) ); case SpecialPath.ProgramFilesX86: return new DirectoryPath( Environment.GetFolderPath( Environment.SpecialFolder.ProgramFilesX86 ) ); case SpecialPath.Windows: return new DirectoryPath( Environment.GetFolderPath( Environment.SpecialFolder.Windows ) ); case SpecialPath.LocalTemp: return new DirectoryPath( System.IO.Path.GetTempPath() ); } const string format = "The special path '{0}' is not supported."; throw new NotSupportedException( string.Format( CultureInfo.InvariantCulture, format, path ) ); }
/// <summary> /// Gets a special path. /// </summary> /// <param name="path">The path.</param> /// <returns> /// A <see cref="DirectoryPath" /> to the special path. /// </returns> public DirectoryPath GetSpecialPath(SpecialPath path) { throw new NotImplementedException(); }
public UserMineWorkSet(IOperationMqSender mq) { VirtualRoot.BuildEventPath <StartMineMqEvent>("收到StartMineMq消息后检查是否是作业挖矿,如果是则处理,否则忽略", LogEnum.None, path: message => { #region if (IsTooOld(message.Timestamp)) { return; } Guid workId = message.Data; // 只处理作业的 if (workId != Guid.Empty) { try { string workerName = string.Empty; WorkRequest request; // 如果是单机作业 if (workId.IsSelfMineWorkId()) { var clientData = AppRoot.ClientDataSet.GetByClientId(message.ClientId); if (clientData != null) { workerName = clientData.WorkerName; } request = new WorkRequest { WorkId = workId, WorkerName = workerName, LocalJson = string.Empty, ServerJson = string.Empty }; } else { IUserMineWork mineWork = AppRoot.MineWorkSet.GetById(workId); if (mineWork == null) { return; } string localJsonFileFullName = SpecialPath.GetMineWorkLocalJsonFileFullName(workId); string localJson = string.Empty; if (File.Exists(localJsonFileFullName)) { localJson = File.ReadAllText(localJsonFileFullName); if (!string.IsNullOrEmpty(localJson)) { var clientData = AppRoot.ClientDataSet.GetByClientId(message.ClientId); if (clientData != null) { workerName = clientData.WorkerName; } localJson = localJson.Replace(NTKeyword.MinerNameParameterName, workerName); } } string serverJsonFileFullName = SpecialPath.GetMineWorkServerJsonFileFullName(workId); string serverJson = string.Empty; if (File.Exists(serverJsonFileFullName)) { serverJson = File.ReadAllText(serverJsonFileFullName); } request = new WorkRequest { WorkId = workId, WorkerName = workerName, LocalJson = localJson, ServerJson = serverJson }; } mq.SendStartWorkMine(message.LoginName, message.ClientId, request); } catch (Exception e) { Logger.ErrorDebugLine(e); } } #endregion }, this.GetType()); }
private async Task LoadSyncStatusAsync() { if (SpecialPath.IsPathIncluded(Path, SpecialPath.SpecialPathEnum.OneDrive)) { switch (await GetStorageItemAsync()) { case StorageFile File: { IDictionary <string, object> Properties = await File.Properties.RetrievePropertiesAsync(new string[] { "System.FilePlaceholderStatus", "System.FileOfflineAvailabilityStatus" }); if (!Properties.TryGetValue("System.FilePlaceholderStatus", out object StatusIndex)) { if (!Properties.TryGetValue("System.FileOfflineAvailabilityStatus", out StatusIndex)) { SyncStatus = SyncStatus.Unknown; break; } } switch (Convert.ToUInt32(StatusIndex)) { case 0: case 1: case 8: { SyncStatus = SyncStatus.AvailableOnline; break; } case 2: case 3: case 14: case 15: { SyncStatus = SyncStatus.AvailableOffline; break; } case 9: { SyncStatus = SyncStatus.Sync; break; } case 4: { SyncStatus = SyncStatus.Excluded; break; } default: { SyncStatus = SyncStatus.Unknown; break; } } break; } case StorageFolder Folder: { IDictionary <string, object> Properties = await Folder.Properties.RetrievePropertiesAsync(new string[] { "System.FilePlaceholderStatus", "System.FileOfflineAvailabilityStatus" }); if (!Properties.TryGetValue("System.FileOfflineAvailabilityStatus", out object StatusIndex)) { if (!Properties.TryGetValue("System.FilePlaceholderStatus", out StatusIndex)) { SyncStatus = SyncStatus.Unknown; break; } } switch (Convert.ToUInt32(StatusIndex)) { case 0: case 1: case 8: { SyncStatus = SyncStatus.AvailableOnline; break; } case 2: case 3: case 14: case 15: { SyncStatus = SyncStatus.AvailableOffline; break; } case 9: { SyncStatus = SyncStatus.Sync; break; } case 4: { SyncStatus = SyncStatus.Excluded; break; } default: { SyncStatus = SyncStatus.Unknown; break; } } break; } default: { SyncStatus = SyncStatus.Unknown; break; } } } else { SyncStatus = SyncStatus.Unknown; } OnPropertyChanged(nameof(SyncStatus)); }
private LiteDatabase CreateDatabase(Guid workId) { return(new LiteDatabase($"filename={SpecialPath.GetMineWorkDbFileFullName(workId)};journal=false")); }