public async Task <ReturnResult> CreateAsync(IStorageItemWithPath source, bool registerHistory) { FileSystemStatusCode returnCode = FileSystemStatusCode.InProgress; Progress <FileSystemStatusCode> errorCode = new Progress <FileSystemStatusCode>(); errorCode.ProgressChanged += (s, e) => returnCode = e; IStorageHistory history = await filesystemOperations.CreateAsync(source, errorCode, cancellationToken); if (registerHistory && !string.IsNullOrWhiteSpace(source.Path)) { App.HistoryWrapper.AddHistory(history); } return(returnCode.ToStatus()); }
public static ReturnResult ToStatus(this FileSystemStatusCode errorCode) { switch (errorCode) { case FileSystemStatusCode.Success: return(ReturnResult.Success); case FileSystemStatusCode.Generic: return(ReturnResult.InProgress | ReturnResult.Cancelled); case FileSystemStatusCode.Unauthorized: return(ReturnResult.AccessUnauthorized); case FileSystemStatusCode.NotFound: return(ReturnResult.IntegrityCheckFailed); case FileSystemStatusCode.InUse: return(ReturnResult.AccessUnauthorized); case FileSystemStatusCode.NameTooLong: return(ReturnResult.UnknownException); case FileSystemStatusCode.AlreadyExists: return(ReturnResult.Failed | ReturnResult.UnknownException); case FileSystemStatusCode.NotAFolder: return(ReturnResult.BadArgumentException | ReturnResult.IntegrityCheckFailed); case FileSystemStatusCode.NotAFile: return(ReturnResult.BadArgumentException | ReturnResult.IntegrityCheckFailed); case FileSystemStatusCode.InProgress: return(ReturnResult.InProgress); default: return(default); } }
public FilesystemResult(T result, FileSystemStatusCode errorCode) : base(errorCode) { this.Result = result; }
public static bool HasFlag(this FileSystemStatusCode errorCode, FileSystemStatusCode flag) { return((errorCode & flag) != FileSystemStatusCode.Success); }
public FilesystemResult(FileSystemStatusCode errorCode) => ErrorCode = errorCode;