public FolderItemsResolver(WsFolderPath folderPath, WsApiClient apiClient, Action <WsFolderPath> removeFromParent) { _folderPath = folderPath; _apiClient = apiClient; _removeFromParent = removeFromParent; Log("Add folder", folderPath); }
private WsItemsReaderEngine(WsApiClient apiClient, HttpResponseMessage responseMessage, WsFolderPath folderPath, bool useCreatedFileResolver) { _apiClient = apiClient; _responseMessage = responseMessage; _folderPath = folderPath; _useCreatedFileResolver = useCreatedFileResolver; }
public static async Task <WsItemsReaderEngine> Create(WsApiClient apiClient, HttpResponseMessage responseMessage, WsFolderPath folderPath, bool useCreatedFileResolver) { WsItemsReaderEngine engine = new WsItemsReaderEngine(apiClient, responseMessage, folderPath, useCreatedFileResolver); XmlDocument xml = new XmlDocument(); xml.Load(await engine._responseMessage.Content.ReadAsStreamAsync()); engine._xmlReader = new XmlNodeReader(xml.DocumentElement); if (engine._xmlReader.Read() && engine._xmlReader.Name == ROOT_ELEMENT_NAME && engine._xmlReader.Read() && engine._xmlReader.Name == "status") { engine.Status = engine._xmlReader.ReadElementContentAsString(); if (engine.Status != ResultStatus.OK) { if (engine._xmlReader.Name == "code") { engine.ErrorCode = engine._xmlReader.ReadElementContentAsString(); } engine.Dispose(); } } else { engine.Status = "Xml format error."; engine.Dispose(); } return(engine); }
public async Task <SuccessAccountRegistrationInfo> TryRegisterAccount(WsAccountLoginInfo userCredential) { if (userCredential == null) { throw new ArgumentNullException(nameof(userCredential)); } if (_accounts.Exists(a => a.UserName.Equals(userCredential.UserName, StringComparison.InvariantCultureIgnoreCase))) { throw new ArgumentException($"Account {userCredential.UserName} is already registered.", nameof(userCredential)); } WsApiClient apiClient = new WsApiClient(GetDeviceUuid()); RegisterAccountSecretStore registerSecretStore = new RegisterAccountSecretStore(userCredential.UserPassword); bool successLogin = await apiClient.Login(userCredential.UserName, registerSecretStore, userCredential.RememberUserPassword?registerSecretStore : null); if (successLogin) { WsAccount newAccount = new WsAccount(Save, _protector, userCredential.UserName, registerSecretStore.UserPasswordHash); _accounts.Add(newAccount); Save(); return(new SuccessAccountRegistrationInfo(newAccount, apiClient)); } return(null); }
public CreatedFileResolver(WsApiClient apiClient) { _apiClient = apiClient; }