Exemplo n.º 1
0
        public async Task HandleAddDataAction(UsersAddAction action, IDispatcher dispatcher)
        {
            var returnCode = HttpStatusCode.OK;
            HttpResponseMessage?response = null;

            _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Token", action.Token);

            try
            {
                response = await _httpClient.PostAsJsonAsync(
                    $"{Const.AddUser}", action.User);
            }
            catch (Exception e)
            {
                dispatcher.Dispatch(new NotificationAction(e.Message, SnackbarColor.Danger));
                returnCode = HttpStatusCode.BadRequest;
            }

            var returnData = new User();

            try
            {
                if (response is not null)
                {
                    returnData = await response.Content.ReadFromJsonAsync <User>();

                    returnCode = response.StatusCode;
                }
            }
            catch (Exception e)
            {
                dispatcher.Dispatch(new NotificationAction(e.Message, SnackbarColor.Danger));
                returnCode = HttpStatusCode.BadRequest;
            }


            dispatcher.Dispatch(
                new UsersAddResultAction(
                    user: returnData ?? new User(),
                    resultCode: returnCode));

            if (returnCode != HttpStatusCode.BadRequest)
            {
                dispatcher.Dispatch(
                    new NotificationAction(action.UserAddedMessage, SnackbarColor.Success));
            }
        }
Exemplo n.º 2
0
 public static UsersState ReduceAddAction(UsersState state, UsersAddAction action) =>