public async Task HandleAddDataAction(BaseTermsAddAction baseTermAction, IDispatcher dispatcher)
        {
            var returnData = new BaseTerm();
            var returnCode = HttpStatusCode.OK;

            try
            {
                _httpClient.DefaultRequestHeaders.Authorization =
                    new AuthenticationHeaderValue("Token", baseTermAction.Token);
                var response = await _httpClient.PostAsJsonAsync(
                    requestUri : $"{Const.BaseTerms}", baseTermAction.BaseTerm);

                returnData = await response.Content.ReadFromJsonAsync <BaseTerm>();
            }
            catch (Exception e)
            {
                dispatcher.Dispatch(new NotificationAction(e.Message, SnackbarColor.Danger));
                returnCode = HttpStatusCode.BadRequest;
            }

            dispatcher.Dispatch(
                new BaseTermsAddResultAction(
                    returnData ?? new BaseTerm(),
                    httpStatusCode: returnCode));

            if (returnCode != HttpStatusCode.BadRequest)
            {
                dispatcher.Dispatch(
                    new NotificationAction(baseTermAction.BaseTermAddedMessage, SnackbarColor.Success));
            }
        }
示例#2
0
 public static BaseTermsState ReduceAddAction(BaseTermsState state, BaseTermsAddAction baseTermAction) =>