public async Task HandleUpdateAction(UsersUpdateAction action, IDispatcher dispatcher) { var returnCode = HttpStatusCode.OK; User?returnData = null; HttpResponseMessage?response = null; _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Token", action.Token); try { response = await _httpClient.PutAsJsonAsync( $"{Const.Users}{action.UserId}/", action.User); } catch (Exception e) { dispatcher.Dispatch(new NotificationAction(e.Message, SnackbarColor.Danger)); returnCode = HttpStatusCode.BadRequest; } if (response is not null) { try { 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 UsersUpdateResultAction( user: returnData ?? new User(), resultCode: returnCode)); if (returnCode != HttpStatusCode.BadRequest) { dispatcher.Dispatch( new NotificationAction(action.UserUpdatedMessage, SnackbarColor.Success)); } }
private void notifyUpdated(User user, UsersUpdateAction action) { if (UsersUpdate != null) UsersUpdate(this, user, action); }
void footballWindow_UsersUpdate(object sender, User user, UsersUpdateAction action) { switch (action) { case UsersUpdateAction.Delete: isDataChanged = true; break; case UsersUpdateAction.Add: isDataChanged = true; break; case UsersUpdateAction.Change: isDataChanged = true; break; default: break; } }