Implement OnCurrentUserUpdate Event
This commit is contained in:
parent
34f478213e
commit
932ee5fe62
@ -17,6 +17,8 @@ namespace QtCNETAPI.Services.ApiService
|
||||
internal string? sessionToken;
|
||||
internal string apiUri;
|
||||
|
||||
public event EventHandler? OnCurrentUserUpdate;
|
||||
|
||||
public string? SessionToken
|
||||
{
|
||||
get { return sessionToken; }
|
||||
@ -153,6 +155,7 @@ namespace QtCNETAPI.Services.ApiService
|
||||
|
||||
// anything that changes the user should tell the api service to set it again
|
||||
await SetCurrentUser();
|
||||
OnCurrentUserUpdate?.Invoke(this, EventArgs.Empty);
|
||||
} else
|
||||
{
|
||||
serviceResponse.Success = false;
|
||||
@ -181,6 +184,7 @@ namespace QtCNETAPI.Services.ApiService
|
||||
|
||||
// anything that changes the user should tell the api service to set it again
|
||||
await SetCurrentUser();
|
||||
OnCurrentUserUpdate?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -566,9 +570,6 @@ namespace QtCNETAPI.Services.ApiService
|
||||
{
|
||||
serviceResponse.Success = true;
|
||||
serviceResponse.Data = response.Data;
|
||||
|
||||
// anything that changes the user should tell the api service to set it again
|
||||
await SetCurrentUser();
|
||||
}
|
||||
|
||||
return serviceResponse;
|
||||
@ -597,6 +598,7 @@ namespace QtCNETAPI.Services.ApiService
|
||||
|
||||
// anything that changes the user should tell the api service to set it again
|
||||
await SetCurrentUser();
|
||||
OnCurrentUserUpdate?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
return serviceResponse;
|
||||
@ -644,6 +646,10 @@ namespace QtCNETAPI.Services.ApiService
|
||||
{
|
||||
serviceResponse.Success = true;
|
||||
serviceResponse.Data = response.Data;
|
||||
|
||||
// anything that changes the user should tell the api service to set it again
|
||||
await SetCurrentUser();
|
||||
OnCurrentUserUpdate?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
return serviceResponse;
|
||||
@ -668,6 +674,10 @@ namespace QtCNETAPI.Services.ApiService
|
||||
{
|
||||
serviceResponse.Success = true;
|
||||
serviceResponse.Data = response.Data;
|
||||
|
||||
// anything that changes the user should tell the api service to set it again
|
||||
await SetCurrentUser();
|
||||
OnCurrentUserUpdate?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
return serviceResponse;
|
||||
@ -787,6 +797,10 @@ namespace QtCNETAPI.Services.ApiService
|
||||
{
|
||||
serviceResponse.Success = true;
|
||||
serviceResponse.Data = response.Data;
|
||||
|
||||
// anything that changes the user should tell the api service to set it again
|
||||
await SetCurrentUser();
|
||||
OnCurrentUserUpdate?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
return serviceResponse;
|
||||
|
@ -17,6 +17,8 @@ namespace QtCNETAPI.Services.ApiService
|
||||
public string? SessionToken { get; set; }
|
||||
public User CurrentUser { get; }
|
||||
|
||||
public event EventHandler? OnCurrentUserUpdate;
|
||||
|
||||
public Task<ServiceResponse<string>> PingServerAsync();
|
||||
public Task<ServiceResponse<List<UserInformationDto>>> GetOnlineUsersAsync();
|
||||
public Task<ServiceResponse<List<UserInformationDto>>> GetAllUsersAsync();
|
||||
|
@ -150,11 +150,7 @@ namespace qtc_net_client_2
|
||||
private void llblEditProfile_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
ProfileEdit frmProfileEdit = new ProfileEdit(_apiService);
|
||||
var dialogResult = frmProfileEdit.ShowDialog();
|
||||
if (dialogResult == DialogResult.OK)
|
||||
{
|
||||
MessageBox.Show("If you updated your username, hit the refresh button to see it update on your lists.\nThe top username will not update until you restart your client.");
|
||||
}
|
||||
frmProfileEdit.ShowDialog();
|
||||
}
|
||||
|
||||
private async void lvContacts_DoubleClick(object sender, EventArgs e)
|
||||
@ -405,6 +401,8 @@ namespace qtc_net_client_2
|
||||
_gatewayService.OnRefreshContactsListReceived += _gatewayService_OnRefreshContactsListReceived;
|
||||
_gatewayService.OnServerConfigReceived += _gatewayService_OnServerConfigReceived;
|
||||
|
||||
_apiService.OnCurrentUserUpdate += _apiService_OnCurrentUserUpdate;
|
||||
|
||||
if (_gatewayService.HubConnection != null && _gatewayService.HubConnection.State == Microsoft.AspNetCore.SignalR.Client.HubConnectionState.Connected)
|
||||
{
|
||||
LoggingService.LogString("Connected To SignalR Succesfully.");
|
||||
@ -431,7 +429,6 @@ namespace qtc_net_client_2
|
||||
|
||||
await RefreshContactsList();
|
||||
await RefreshRoomsList();
|
||||
await RefreshUsers();
|
||||
|
||||
// TODO - figure out server side why online status is invisible on login
|
||||
_apiService.CurrentUser.Status = 1;
|
||||
@ -866,6 +863,12 @@ namespace qtc_net_client_2
|
||||
}
|
||||
}
|
||||
|
||||
private void _apiService_OnCurrentUserUpdate(object? sender, EventArgs e)
|
||||
{
|
||||
lblWelcome.Text = $"Welcome, {_apiService.CurrentUser.Username}";
|
||||
RefreshCurrencyCounter();
|
||||
}
|
||||
|
||||
private async void _gatewayService_OnRefreshContactsListReceived(object? sender, EventArgs e) => await RefreshContactsList();
|
||||
private async void _gatewayService_OnRefreshRoomListReceived(object? sender, EventArgs e) => await RefreshRoomsList();
|
||||
private async void _gatewayService_OnRefreshUserListReceived(object? sender, EventArgs e) => await RefreshUsers();
|
||||
|
@ -54,6 +54,13 @@ namespace qtc_net_client_2.Forms
|
||||
items.Add(cbi);
|
||||
}
|
||||
}
|
||||
} else
|
||||
{
|
||||
items.Add(new ComboBoxItem
|
||||
{
|
||||
Name = "(None)",
|
||||
Value = 0
|
||||
});
|
||||
}
|
||||
|
||||
cbCosmetic.DataSource = items;
|
||||
|
@ -44,19 +44,6 @@ namespace qtc_net_client_2.Forms
|
||||
_apiService.CurrentUser.StockAmount = result.Data.StockAmount;
|
||||
_apiService.CurrentUser.CurrencyAmount = result.Data.CurrencyAmount;
|
||||
|
||||
Main? mainWindow = (Main?)Application.OpenForms[0];
|
||||
if (mainWindow != null)
|
||||
{
|
||||
if (mainWindow.InvokeRequired)
|
||||
{
|
||||
mainWindow.Invoke(mainWindow.RefreshCurrencyCounter);
|
||||
}
|
||||
else
|
||||
{
|
||||
mainWindow.RefreshCurrencyCounter();
|
||||
}
|
||||
}
|
||||
|
||||
nudStockBuySellAmount.Enabled = true;
|
||||
nudStockBuySellAmount.Value = 0;
|
||||
btnBuy.Enabled = true;
|
||||
@ -95,19 +82,6 @@ namespace qtc_net_client_2.Forms
|
||||
_apiService.CurrentUser.StockAmount = result.Data.StockAmount;
|
||||
_apiService.CurrentUser.CurrencyAmount = result.Data.CurrencyAmount;
|
||||
|
||||
Main? mainWindow = (Main?)Application.OpenForms[0];
|
||||
if (mainWindow != null)
|
||||
{
|
||||
if (mainWindow.InvokeRequired)
|
||||
{
|
||||
mainWindow.Invoke(mainWindow.RefreshCurrencyCounter);
|
||||
}
|
||||
else
|
||||
{
|
||||
mainWindow.RefreshCurrencyCounter();
|
||||
}
|
||||
}
|
||||
|
||||
nudStockBuySellAmount.Enabled = true;
|
||||
nudStockBuySellAmount.Value = 0;
|
||||
btnBuy.Enabled = true;
|
||||
|
@ -69,12 +69,8 @@ namespace qtc_net_client_2.Forms
|
||||
|
||||
// attempt to buy item
|
||||
var ownedStoreItem = await _apiService.BuyStoreItem(StoreItem.Id);
|
||||
if (ownedStoreItem != null && ownedStoreItem.Success && ownedStoreItem.Data != null)
|
||||
if (ownedStoreItem != null && ownedStoreItem.Success)
|
||||
{
|
||||
Main? mainForm = (Main?)Application.OpenForms[0];
|
||||
if (mainForm != null)
|
||||
mainForm.RefreshCurrencyCounter();
|
||||
|
||||
Enabled = true;
|
||||
|
||||
var result = MessageBox.Show($"Successfully Bought '{StoreItem.Name}'! Would You Like To Wear It Now?", "Success!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
||||
|
@ -261,11 +261,6 @@ namespace qtc_net_client_2
|
||||
{
|
||||
await _apiService.AddCurrencyToCurrentUser(currencyJackpotSpinner.TokensWon, false);
|
||||
_apiService.CurrentUser.CurrencyAmount += currencyJackpotSpinner.TokensWon;
|
||||
|
||||
// find the main form to refresh currency count
|
||||
Main? mainForm = (Main?)Application.OpenForms[0];
|
||||
if (mainForm != null)
|
||||
mainForm.RefreshCurrencyCounter();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user