/// <summary> /// Выполняет запрос на сохранение документов. /// </summary> public Task <ServiceResult <DocumentPostQueryResult> > PostAsync(DocumentPostQueryClient query) { var requestUri = BuildRequestUri(_basePath); var requestContent = new MultipartFormDataContent { { new StringContent(Serializer.ConvertToString(query.Document)), "\"document\"" } }; if (query.Files != null) { foreach (var file in query.Files) { var fileContent = new StreamContent(file.Value); if (!string.IsNullOrEmpty(file.ContentType)) { fileContent.Headers.ContentType = new MediaTypeHeaderValue(file.ContentType); } requestContent.Add(fileContent, $"\"{file.Key}\"", $"\"{file.Name}\""); } } return(RequestExecutor.PostAsync <ServiceResult <DocumentPostQueryResult> >(requestUri, requestContent)); }
/// <summary> /// Осуществляет вход пользователя в систему через внутренний провайдер. /// </summary> /// <param name="userName">Имя пользователя.</param> /// <param name="password">Пароль пользователя.</param> /// <param name="remember">Запомнить пользователя.</param> public async Task SignInAsync(string userName, string password, bool remember = true) { var requestUri = BuildRequestUri("/Auth/SignInInternal"); var requestData = new DynamicWrapper { { "UserName", userName }, { "Password", password }, { "Remember", remember } }; var requestContent = new StringContent(Serializer.ConvertToString(requestData), Encoding.UTF8, HttpConstants.JsonContentType); var result = await RequestExecutor.PostAsync <DynamicWrapper>(requestUri, requestContent); var error = result["Error"] as string; if (error != null) { throw new InvalidOperationException(error); } }
/// <summary> /// Осуществляет выход пользователя из системы. /// </summary> public async void SignOutAsync() { var requestUri = BuildRequestUri("/Auth/SignOut"); await RequestExecutor.PostAsync <DynamicWrapper>(requestUri); }