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)); } }
public static UsersState ReduceAddAction(UsersState state, UsersAddAction action) =>