Esempio n. 1
0
        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);
 }
Esempio n. 3
0
 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;
     }
 }