Implement Tags
Implement Text Status Rename Windows To Not Have Service Name
This commit is contained in:
parent
520b01f5a0
commit
0b1b7826b5
@ -13,5 +13,7 @@
|
|||||||
public int Status { get; set; } = 0;
|
public int Status { get; set; } = 0;
|
||||||
public int CurrencyAmount { get; set; } = 0;
|
public int CurrencyAmount { get; set; } = 0;
|
||||||
public int ProfileCosmeticId { get; set; } = 0;
|
public int ProfileCosmeticId { get; set; } = 0;
|
||||||
|
public string TextStatus { get; set; } = string.Empty;
|
||||||
|
public string[] Tags { get; set; } = [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,5 +7,6 @@
|
|||||||
public string Bio { get; set; } = string.Empty;
|
public string Bio { get; set; } = string.Empty;
|
||||||
public DateTime DateOfBirth { get; set; } = new DateTime();
|
public DateTime DateOfBirth { get; set; } = new DateTime();
|
||||||
public int ProfileCosmeticId { get; set; } = 0;
|
public int ProfileCosmeticId { get; set; } = 0;
|
||||||
|
public string TextStatus { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,6 +19,8 @@
|
|||||||
public int ActiveProfileCosmetic { get; set; } = 0;
|
public int ActiveProfileCosmetic { get; set; } = 0;
|
||||||
public string CurrentRoomId { get; set; } = string.Empty;
|
public string CurrentRoomId { get; set; } = string.Empty;
|
||||||
public DateTime LastLogin { get; set; }
|
public DateTime LastLogin { get; set; }
|
||||||
|
public string TextStatus { get; set; } = string.Empty;
|
||||||
|
public string[] Tags { get; set; } = [];
|
||||||
|
|
||||||
public virtual IEnumerable<RefreshToken>? RefreshTokens { get; }
|
public virtual IEnumerable<RefreshToken>? RefreshTokens { get; }
|
||||||
public virtual IEnumerable<Contact>? ContactsMade { get; }
|
public virtual IEnumerable<Contact>? ContactsMade { get; }
|
||||||
|
|||||||
@ -4,6 +4,7 @@ using QtCNETAPI.Enums;
|
|||||||
using QtCNETAPI.Models;
|
using QtCNETAPI.Models;
|
||||||
using QtCNETAPI.Schema;
|
using QtCNETAPI.Schema;
|
||||||
using RestSharp;
|
using RestSharp;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.IdentityModel.Tokens.Jwt;
|
using System.IdentityModel.Tokens.Jwt;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
|
||||||
@ -232,6 +233,36 @@ namespace QtCNETAPI.Services.ApiService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<ServiceResponse<byte[]>> GetTagPic(string tag)
|
||||||
|
{
|
||||||
|
var serviceResponse = new ServiceResponse<byte[]>();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var restRequest = new RestRequest($"tags/{tag}")
|
||||||
|
.AddHeader("Authorization", $"Bearer {SessionToken}");
|
||||||
|
var response = await _client.GetAsync(restRequest);
|
||||||
|
|
||||||
|
if (response != null)
|
||||||
|
{
|
||||||
|
serviceResponse.Success = true;
|
||||||
|
serviceResponse.Data = response.RawBytes;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
serviceResponse.Success = false;
|
||||||
|
serviceResponse.Message = "No Tag Picture Received.";
|
||||||
|
}
|
||||||
|
|
||||||
|
return serviceResponse;
|
||||||
|
}
|
||||||
|
catch (HttpRequestException ex)
|
||||||
|
{
|
||||||
|
serviceResponse.Success = false;
|
||||||
|
serviceResponse.Message = ex.Message;
|
||||||
|
return serviceResponse;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<ServiceResponse<string>> LoginAsync(UserLoginDto userLoginDto)
|
public async Task<ServiceResponse<string>> LoginAsync(UserLoginDto userLoginDto)
|
||||||
{
|
{
|
||||||
var serviceResponse = new ServiceResponse<string>();
|
var serviceResponse = new ServiceResponse<string>();
|
||||||
|
|||||||
@ -37,6 +37,7 @@ namespace QtCNETAPI.Services.ApiService
|
|||||||
public Task<ServiceResponse<UserInformationDto>> UpdateUserInformationAsync(UserUpdateInformationDto request);
|
public Task<ServiceResponse<UserInformationDto>> UpdateUserInformationAsync(UserUpdateInformationDto request);
|
||||||
public Task<ServiceResponse<string>> UpdateUserProfilePic(string filePath);
|
public Task<ServiceResponse<string>> UpdateUserProfilePic(string filePath);
|
||||||
public Task<ServiceResponse<byte[]>> GetUserProfilePic(string userId);
|
public Task<ServiceResponse<byte[]>> GetUserProfilePic(string userId);
|
||||||
|
public Task<ServiceResponse<byte[]>> GetTagPic(string tag);
|
||||||
public Task<ServiceResponse<Room>> CreateRoomAsync(RoomDto request);
|
public Task<ServiceResponse<Room>> CreateRoomAsync(RoomDto request);
|
||||||
public Task<ServiceResponse<Room>> DeleteRoomAsync(string roomId);
|
public Task<ServiceResponse<Room>> DeleteRoomAsync(string roomId);
|
||||||
public Task<ServiceResponse<List<Room>>> GetAllRoomsAsync();
|
public Task<ServiceResponse<List<Room>>> GetAllRoomsAsync();
|
||||||
|
|||||||
@ -17,7 +17,7 @@ namespace qtcnet_client.Controls
|
|||||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||||
public string Username { get; set; } = "Username";
|
public string Username { get; set; } = "Username";
|
||||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||||
public string TextStatus { get; set; } = "Status";
|
public string TextStatus { get; set; } = string.Empty;
|
||||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||||
public int Status { get; set; } = 0;
|
public int Status { get; set; } = 0;
|
||||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||||
@ -64,7 +64,7 @@ namespace qtcnet_client.Controls
|
|||||||
lblStatus.Text = $"'{TextStatus}'";
|
lblStatus.Text = $"'{TextStatus}'";
|
||||||
pbProfilePic.Image = ProfilePic;
|
pbProfilePic.Image = ProfilePic;
|
||||||
|
|
||||||
if (Status == 0)
|
if (Status == 0 || string.IsNullOrEmpty(TextStatus))
|
||||||
{
|
{
|
||||||
lblStatus.Visible = false;
|
lblStatus.Visible = false;
|
||||||
lblUsername.Location = new(44, 15);
|
lblUsername.Location = new(44, 15);
|
||||||
|
|||||||
2
qtcnet-client/Forms/AdminPanelForm.Designer.cs
generated
2
qtcnet-client/Forms/AdminPanelForm.Designer.cs
generated
@ -314,7 +314,7 @@
|
|||||||
MinimizeBox = false;
|
MinimizeBox = false;
|
||||||
Name = "AdminPanelForm";
|
Name = "AdminPanelForm";
|
||||||
StartPosition = FormStartPosition.CenterScreen;
|
StartPosition = FormStartPosition.CenterScreen;
|
||||||
Text = "QtC.NET Server Admin Panel";
|
Text = "Server Admin Panel";
|
||||||
Load += AdminPanelForm_Load;
|
Load += AdminPanelForm_Load;
|
||||||
((System.ComponentModel.ISupportInitialize)pbLogo).EndInit();
|
((System.ComponentModel.ISupportInitialize)pbLogo).EndInit();
|
||||||
tcMain.ResumeLayout(false);
|
tcMain.ResumeLayout(false);
|
||||||
|
|||||||
@ -133,8 +133,8 @@
|
|||||||
<value>
|
<value>
|
||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA2hgAAAJNU0Z0AUkBTAIBAQUB
|
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA2BgAAAJNU0Z0AUkBTAIBAQUB
|
||||||
AAFwAQEBcAEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASAa
|
AAF4AQEBeAEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASAa
|
||||||
AAM3AVoDWAG4A2MB3wJjAV0B3wFiAl0B3wNdAd8DXQHfAWECXQHfA2MB3wNjAd8DVQGsAzABS8wAAzsB
|
AAM3AVoDWAG4A2MB3wJjAV0B3wFiAl0B3wNdAd8DXQHfAWECXQHfA2MB3wNjAd8DVQGsAzABS8wAAzsB
|
||||||
YgNdAcUDaAH0AZ8BZQExAf8BlwFTARcB/wGWAUsBCQH/AZMBRgEBAf8BjAFDAQMB/wF9AUABCwH/AWsB
|
YgNdAcUDaAH0AZ8BZQExAf8BlwFTARcB/wGWAUsBCQH/AZMBRgEBAf8BjAFDAQMB/wF9AUABCwH/AWsB
|
||||||
QAEaAf8BbgFQATYB/wNoAfADWgG3AzQBVMQAAzUBVQNdAccCbgFaAfUBuAFlARsB/wG5AVgBAgH/AckB
|
QAEaAf8BbgFQATYB/wNoAfADWgG3AzQBVMQAAzUBVQNdAccCbgFaAfUBuAFlARsB/wG5AVgBAgH/AckB
|
||||||
@ -155,10 +155,10 @@
|
|||||||
/wFjAWEBXQHfwAAB/wHMAZ8C/wGsAWMC/wGTATMC/wGBAREC/wF5AQIC/wGCARYC/wGaAUsC/wGuAXgC
|
/wFjAWEBXQHfwAAB/wHMAZ8C/wGsAWMC/wGTATMC/wGBAREC/wF5AQIC/wGCARYC/wGaAUsC/wGuAXgC
|
||||||
/wGlAVcC/wGBARcC/wF5AQQC/wF4AQAC/wF4AQAB/wHwAXEBAAH/AdUBcQEXAf8CYwFdAd/AAAH/AekB
|
/wGlAVcC/wGBARcC/wF5AQQC/wF4AQAC/wF4AQAB/wHwAXEBAAH/AdUBcQEXAf8CYwFdAd/AAAH/AekB
|
||||||
1QL/AbwBgQL/AaQBVAL/AY4BKgL/AX8BDQL/AXkBAgL/AXsBCQL/AYIBHQL/AXgBAAL/AXgBAAL/AXgB
|
1QL/AbwBgQL/AaQBVAL/AY4BKgL/AX8BDQL/AXkBAgL/AXsBCQL/AYIBHQL/AXgBAAL/AXgBAAL/AXgB
|
||||||
AQL/AXoBBAL/AXoBAwH/AfMBdAEDAf8B4gGEATIB/wNjAd/AAANeAdIBdwJqAfkB/wG7AX0C/wGjAVIC
|
AQL/AXoBBAL/AXoBAwH/AfMBdAEDAf8B4gGEATIB/wNjAd/AAANeAdIBdQJqAfkB/wG7AX0C/wGjAVIC
|
||||||
/wGQASwC/wGCARMC/wF9AQgC/wF6AQQC/wF5AQIC/wF6AQQC/wF9AQkC/wGAAQ8C/wF/AQ0B/wH4AYYB
|
/wGQASwC/wGCARMC/wF9AQgC/wF6AQQC/wF5AQIC/wF6AQQC/wF9AQkC/wGAAQ8C/wF/AQ0B/wH4AYYB
|
||||||
IAH/A2gB9ANYAbjAAAM8AWYDYwHVA3wB+AH/Ab4BhQL/AaoBXwL/AZkBPgL/AY0BJwL/AYYBGgL/AYMB
|
IAH/A2gB9ANYAbjAAAM8AWYDYwHVA3wB+AH/Ab4BhQL/AaoBXwL/AZkBPgL/AY0BJwL/AYYBGgL/AYMB
|
||||||
FQL/AYUBGQL/AYoBIgL/AY0BKAL/AZMBMwH/Am4BaAH1A10BxQM2AVnEAANCAXIDYwHVAXcBbQFqAfkB
|
FQL/AYUBGQL/AYoBIgL/AY0BKAL/AZMBMwH/Am4BaAH1A10BxQM2AVnEAANCAXIDYwHVAXUBawFqAfkB
|
||||||
/wHJAZkC/wG8AX8C/wGuAWYC/wGkAVMC/wGfAUoC/wGfAUsC/wGjAVEC/wGnAVgB/wN8AfgDXQHHAzsB
|
/wHJAZkC/wG8AX8C/wGuAWYC/wGkAVMC/wGfAUoC/wGfAUsC/wGjAVEC/wGnAVgB/wN8AfgDXQHHAzsB
|
||||||
YswAAzwBZQNeAdIB/wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC/wHNAaEC/wHpAdYB
|
YswAAzwBZQNeAdIB/wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC/wHNAaEC/wHpAdYB
|
||||||
/wNcAcQDNQFVyAADZwHvAmcBWQHvAWcBXQFZAe8BZwFbAVkB7wFnAVsBWQHvAWcCWQHvAWcBZAFZAe8D
|
/wNcAcQDNQFVyAADZwHvAmcBWQHvAWcBXQFZAe8BZwFbAVkB7wFnAVsBWQHvAWcCWQHvAWcBZAFZAe8D
|
||||||
@ -184,7 +184,7 @@
|
|||||||
cwEAAf8B+gF2AQAB/wH+AXgBAAL/AXsBCAL/AYgBJwL/AaIBUwH/Af4BgQEXAf8B/AF4AQQB/wHsAW8B
|
cwEAAf8B+gF2AQAB/wH+AXgBAAL/AXsBCAL/AYgBJwL/AaIBUwH/Af4BgQEXAf8B/AF4AQQB/wHsAW8B
|
||||||
AAH/AcEBWwEAAf8BhgFBAQMB/wF4AVYBNgH/A2MB3wT/AawBlgFgAf8BgwGCAX8B/wGFAYIBfQH/AbMB
|
AAH/AcEBWwEAAf8BhgFBAQMB/wF4AVYBNgH/A2MB3wT/AawBlgFgAf8BgwGCAX8B/wGFAYIBfQH/AbMB
|
||||||
kwFEAf8BzwGUAQAB/wHeAcwBnwH/A7AB/wOwAf8DsAH/A7AB/wOwAf8DsAH/A7AB/wOwAf8DqAH/CAAD
|
kwFEAf8BzwGUAQAB/wHeAcwBnwH/A7AB/wOwAf8DsAH/A7AB/wOwAf8DsAH/A7AB/wOwAf8DqAH/CAAD
|
||||||
GgEkA1IBoAJjAUgB9gGiAXMBAAH/Aa4BfAEAAf8BsAF9AQAB/wGoAXgBAAH/AZUBagEAAf8CgAEuAf4B
|
GgEkA1IBoAJjAUgB9gGiAXMBAAH/Aa4BfAEAAf8BsAF9AQAB/wGoAXgBAAH/AZUBagEAAf8CgAEvAf4B
|
||||||
XAJZAcYDVwG1AxYBHggAAwIBAwMaASMDOAFcA1QBqANiAdcDcAHxA4AB/gOBAf8DgQH/A4EB/wOBAf0D
|
XAJZAcYDVwG1AxYBHggAAwIBAwMaASMDOAFcA1QBqANiAdcDcAHxA4AB/gOBAf8DgQH/A4EB/wOBAf0D
|
||||||
aAHwA2EB1ANTAaUDNgFZAxgBIAH/AbIBbwH/Af0BgAERAf8B/AF3AQEB/wH9AXcBAAL/AXgBAAL/AX8B
|
aAHwA2EB1ANTAaUDNgFZAxgBIAH/AbIBbwH/Af0BgAERAf8B/AF3AQEB/wH9AXcBAAL/AXgBAAL/AX8B
|
||||||
DwL/AZIBOwL/AbMBgwL/AeoB4AL/AZABPQL/AXsBCgH/AfwBdwEAAf8B5QFsAQAB/wGxAVQBAAH/AYQB
|
DwL/AZIBOwL/AbMBgwL/AeoB4AL/AZABPQL/AXsBCgH/AfwBdwEAAf8B5QFsAQAB/wGxAVQBAAH/AYQB
|
||||||
@ -222,7 +222,7 @@
|
|||||||
/wGDAYIBfwH/AYUBgwF+Af8BsAGUAU4B/wHTAZcBAgH/AeABzgGfAf8D5wH/A+cB/wPnAf8D5wH/A+cB
|
/wGDAYIBfwH/AYUBgwF+Af8BsAGUAU4B/wHTAZcBAgH/AeABzgGfAf8D5wH/A+cB/wPnAf8D5wH/A+cB
|
||||||
/wPnAf8D5wH/A+cB/wPAAf8DBwEJA2IB7gHxAbwBOwH/AfoB6gHCAf8D3AH/A3cB/wNoAf8DaAH/A2gB
|
/wPnAf8D5wH/A+cB/wPAAf8DBwEJA2IB7gHxAbwBOwH/AfoB6gHCAf8D3AH/A3cB/wNoAf8DaAH/A2gB
|
||||||
/wMyCf8B8gHdAakB/wHqAakBCAH/Az4BagQAA2QB2wNoAfQDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
/wMyCf8B8gHdAakB/wHqAakBCAH/Az4BagQAA2QB2wNoAfQDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
||||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A1UBrwNeAdIBdwJqAfkB/wG7AX0C/wGjAVIC/wGQASwC
|
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A1UBrwNeAdIBdQJqAfkB/wG7AX0C/wGjAVIC/wGQASwC
|
||||||
/wGCARMC/wF9AQgC/wF6AQQC/wF5AQIC/wF6AQQC/wF9AQkC/wGAAQ8C/wF/AQ0B/wH4AYYBIAH/A2gB
|
/wGCARMC/wF9AQgC/wF6AQQC/wF5AQIC/wF6AQQC/wF9AQkC/wGAAQ8C/wF/AQ0B/wH4AYYBIAH/A2gB
|
||||||
9ANYAbgE/wHXAbEBUgH/AZoBjwF0Af8BoAGSAW0B/wHgAa8BNwH/AecBqQEQAf8B6wHVAaAB/wOBAf8D
|
9ANYAbgE/wHXAbEBUgH/AZoBjwF0Af8BoAGSAW0B/wHgAa8BNwH/AecBqQEQAf8B6wHVAaAB/wOBAf8D
|
||||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A5MB/wQAAzMBUQNoAfAB8wHGAVgB/wH6AecBuBb/Af4B
|
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A5MB/wQAAzMBUQNoAfAB8wHGAVgB/wH6AecBuBb/Af4B
|
||||||
@ -231,15 +231,15 @@
|
|||||||
PgL/AY0BJwL/AYYBGgL/AYMBFQL/AYUBGQL/AYoBIgL/AY0BKAL/AZMBMwH/Am4BaAH1A10BxQM2AVkE
|
PgL/AY0BJwL/AYYBGgL/AYMBFQL/AYUBGQL/AYoBIgL/AY0BKAL/AZMBMwH/Am4BaAH1A10BxQM2AVkE
|
||||||
/wH0Ac0BbAH/AfQBywFmAf8B9AHLAWUB/wH0AcsBZQH/AfEBwQFJAf8B+QHjAawB/wOJAf8DiQH/A4kB
|
/wH0Ac0BbAH/AfQBywFmAf8B9AHLAWUB/wH0AcsBZQH/AfEBwQFJAf8B+QHjAawB/wOJAf8DiQH/A4kB
|
||||||
/wOJAf8DiQH/A4kB/wOJAf8DiQH/A5oB/wgAAyIBMQNfAckCfQFnAfoB8wHKAWUB/wH5AeEBpgH/AfsB
|
/wOJAf8DiQH/A4kB/wOJAf8DiQH/A5oB/wgAAyIBMQNfAckCfQFnAfoB8wHKAWUB/wH5AeEBpgH/AfsB
|
||||||
7QHMAf8B+wHsAcgB/wH4Ad0BmwH/AZYBgAF/Af4CZQFeAeIDPQFoBAEIAAMGAQgDMQFMA1ABmwNlAewD
|
7QHMAf8B+wHsAcgB/wH4Ad0BmwH/AZQCgAH+AmUBXgHiAz0BaAQBCAADBgEIAzEBTANQAZsDZQHsA30B
|
||||||
fQH6A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN9AfoDagHtA1ABmwMvAUkEAANCAXIDYwHVAXcB
|
+gOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfQH6A2oB7QNQAZsDLwFJBAADQgFyA2MB1QF1AWsB
|
||||||
bQFqAfkB/wHJAZkC/wG8AX8C/wGuAWYC/wGkAVMC/wGfAUoC/wGfAUsC/wGjAVEC/wGnAVgB/wN8AfgD
|
agH5Af8ByQGZAv8BvAF/Av8BrgFmAv8BpAFTAv8BnwFKAv8BnwFLAv8BowFRAv8BpwFYAf8DfAH4A10B
|
||||||
XQHHAzsBYgQAQP8QAAMPARMDRwGCA2QB2wJ+AW8B/ANnAeoDVAGoAygBOxwAAwUBBgMSARcDOgFgA1EB
|
xwM7AWIEAED/EAADDwETA0cBggNkAdsCfgFvAfwDZwHqA1QBqAMoATscAAMFAQYDEgEXAzoBYANRAZ8D
|
||||||
nwNfAdMDZwHvA2MB9gNiAe4DXgHSA1EBngM5AV8DEQEWAwUBBgwAAzwBZQNeAdIB/wHvAeAC/wHcAbwC
|
XwHTA2cB7wNjAfYDYgHuA14B0gNRAZ4DOQFfAxEBFgMFAQYMAAM8AWUDXgHSAf8B7wHgAv8B3AG8Av8B
|
||||||
/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC/wHNAaEC/wHpAdYB/wNcAcQDNQFVCAABQgFNAT4HAAE+AwAB
|
zQGfAv8BwQGKAv8BuwF/Av8BvwGGAv8BzQGhAv8B6QHWAf8DXAHEAzUBVQgAAUIBTQE+BwABPgMAASgD
|
||||||
KAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/wEAAcABAwYAAYABAWYAAYABAQYAAcABAwgAAf8B/AIAAcAB
|
AAFAAwABIAMAAQEBAAEBBgABARYAA/8BAAHAAQMGAAGAAQFmAAGAAQEGAAHAAQMIAAH/AfwCAAHAAQMC
|
||||||
AwIAAf8B/AIAAYABAQIAAf8B+QYAAf8B+QYAAfABEwYAAcABAwYAAYABAQL/BAABgAEBAcABAQUAAQEB
|
AAH/AfwCAAGAAQECAAH/AfkGAAH/AfkGAAHwARMGAAHAAQMGAAGAAQEC/wQAAYABAQHAAQEFAAEBAYAG
|
||||||
gAYAAQEHAAEBBwABAQcAAQEGAAGAAQEGAAHAAQMCAAGAAQECAAHwAR8BwAEBAcABAws=
|
AAEBBwABAQcAAQEHAAEBBgABgAEBBgABwAEDAgABgAEBAgAB8AEfAcABAQHAAQML
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@ -38,7 +38,7 @@ namespace qtcnet_client.Forms
|
|||||||
|
|
||||||
private void ChatRoomForm_Load(object sender, EventArgs e)
|
private void ChatRoomForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Text = $"QtC.NET Chat Room - {RoomName}";
|
Text = $"Chat Room - {RoomName}";
|
||||||
lblRoomName.Text = RoomName;
|
lblRoomName.Text = RoomName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -38,6 +38,7 @@ namespace qtcnet_client.Forms
|
|||||||
|
|
||||||
private void DirectMessageForm_Load(object sender, EventArgs e)
|
private void DirectMessageForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
Text = $"Direct Message With {Username}";
|
||||||
lblUsername.Text = Username;
|
lblUsername.Text = Username;
|
||||||
pbProfileImage.Image = ProfileImage;
|
pbProfileImage.Image = ProfileImage;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -117,7 +117,7 @@
|
|||||||
MinimizeBox = false;
|
MinimizeBox = false;
|
||||||
Name = "GuessTheNumber";
|
Name = "GuessTheNumber";
|
||||||
StartPosition = FormStartPosition.CenterScreen;
|
StartPosition = FormStartPosition.CenterScreen;
|
||||||
Text = "QtC.NET qGame - Guess The Number";
|
Text = "qGame - Guess The Number";
|
||||||
Load += GuessTheNumber_Load;
|
Load += GuessTheNumber_Load;
|
||||||
((System.ComponentModel.ISupportInitialize)nudNumberGuess).EndInit();
|
((System.ComponentModel.ISupportInitialize)nudNumberGuess).EndInit();
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
|
|||||||
@ -179,7 +179,7 @@
|
|||||||
MinimizeBox = false;
|
MinimizeBox = false;
|
||||||
Name = "StockMarketGame";
|
Name = "StockMarketGame";
|
||||||
StartPosition = FormStartPosition.CenterScreen;
|
StartPosition = FormStartPosition.CenterScreen;
|
||||||
Text = "QtC.NET qGame - Stock Market";
|
Text = "qGame - Stock Market";
|
||||||
Load += StockMarketGame_Load;
|
Load += StockMarketGame_Load;
|
||||||
pStockManagement.ResumeLayout(false);
|
pStockManagement.ResumeLayout(false);
|
||||||
((System.ComponentModel.ISupportInitialize)nudStockBuySellAmount).EndInit();
|
((System.ComponentModel.ISupportInitialize)nudStockBuySellAmount).EndInit();
|
||||||
|
|||||||
@ -412,7 +412,7 @@
|
|||||||
MaximizeBox = false;
|
MaximizeBox = false;
|
||||||
Name = "TicTacToeGame";
|
Name = "TicTacToeGame";
|
||||||
StartPosition = FormStartPosition.CenterScreen;
|
StartPosition = FormStartPosition.CenterScreen;
|
||||||
Text = "QtC.NET qGame - qTic-Tac-Toe";
|
Text = "qGame - qTic-Tac-Toe";
|
||||||
FormClosed += TicTacToeGame_FormClosed;
|
FormClosed += TicTacToeGame_FormClosed;
|
||||||
Load += Main_Load;
|
Load += Main_Load;
|
||||||
pBoard.ResumeLayout(false);
|
pBoard.ResumeLayout(false);
|
||||||
|
|||||||
@ -322,6 +322,9 @@ namespace qtcnet_client
|
|||||||
Username = _user.Data.Username,
|
Username = _user.Data.Username,
|
||||||
Bio = _user.Data.Bio,
|
Bio = _user.Data.Bio,
|
||||||
Status = _user.Data.Status,
|
Status = _user.Data.Status,
|
||||||
|
Tags = _user.Data.Tags,
|
||||||
|
TextStatus = _user.Data.TextStatus,
|
||||||
|
CosmeticId = _user.Data.ProfileCosmeticId,
|
||||||
};
|
};
|
||||||
|
|
||||||
// check if user is in contacts list (if profile isn't self)
|
// check if user is in contacts list (if profile isn't self)
|
||||||
@ -391,6 +394,9 @@ namespace qtcnet_client
|
|||||||
Username = _user.Data.Username,
|
Username = _user.Data.Username,
|
||||||
Bio = _user.Data.Bio,
|
Bio = _user.Data.Bio,
|
||||||
Status = _user.Data.Status,
|
Status = _user.Data.Status,
|
||||||
|
Tags = _user.Data.Tags,
|
||||||
|
TextStatus = _user.Data.TextStatus,
|
||||||
|
CosmeticId = _user.Data.ProfileCosmeticId,
|
||||||
};
|
};
|
||||||
|
|
||||||
// check if user is in contacts list (if profile isn't self)
|
// check if user is in contacts list (if profile isn't self)
|
||||||
@ -994,7 +1000,10 @@ namespace qtcnet_client
|
|||||||
Username = _user.Data.Username,
|
Username = _user.Data.Username,
|
||||||
Bio = _user.Data.Bio,
|
Bio = _user.Data.Bio,
|
||||||
Status = _user.Data.Status,
|
Status = _user.Data.Status,
|
||||||
ProfileImage = _imgFactory.GetAndCreateProfileImage(_user.Data.Id, _user.Data.Status, _user.Data.ProfileCosmeticId)
|
ProfileImage = _imgFactory.GetAndCreateProfileImage(_user.Data.Id, _user.Data.Status, _user.Data.ProfileCosmeticId),
|
||||||
|
Tags = _user.Data.Tags,
|
||||||
|
TextStatus = _user.Data.TextStatus,
|
||||||
|
CosmeticId = _user.Data.ProfileCosmeticId,
|
||||||
};
|
};
|
||||||
|
|
||||||
_profile.OnClose += ProfileForm_OnClose;
|
_profile.OnClose += ProfileForm_OnClose;
|
||||||
@ -1010,11 +1019,8 @@ namespace qtcnet_client
|
|||||||
{
|
{
|
||||||
// get the open chat room form
|
// get the open chat room form
|
||||||
var _chatRoom = OpenChatRoomForms.FirstOrDefault(e => e.RoomId == _args.Room.Id);
|
var _chatRoom = OpenChatRoomForms.FirstOrDefault(e => e.RoomId == _args.Room.Id);
|
||||||
if (_chatRoom != null)
|
|
||||||
{
|
|
||||||
// the users to the list
|
// the users to the list
|
||||||
_chatRoom.AddUsersToRoomList(_args.UserList);
|
_chatRoom?.AddUsersToRoomList(_args.UserList);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1126,10 +1132,12 @@ namespace qtcnet_client
|
|||||||
{
|
{
|
||||||
UserId = user.Data.Id,
|
UserId = user.Data.Id,
|
||||||
Username = user.Data.Username,
|
Username = user.Data.Username,
|
||||||
TextStatus = "NOT IMPLEMENTED",
|
|
||||||
Status = user.Data.Status,
|
Status = user.Data.Status,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(user.Data.TextStatus))
|
||||||
|
ctrl.TextStatus = user.Data.TextStatus;
|
||||||
|
|
||||||
if (contact.OwnerId == _apiService.CurrentUser.Id)
|
if (contact.OwnerId == _apiService.CurrentUser.Id)
|
||||||
{
|
{
|
||||||
switch (contact.OwnerStatus)
|
switch (contact.OwnerStatus)
|
||||||
|
|||||||
109
qtcnet-client/Forms/ProfileForm.Designer.cs
generated
109
qtcnet-client/Forms/ProfileForm.Designer.cs
generated
@ -29,53 +29,29 @@
|
|||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
components = new System.ComponentModel.Container();
|
components = new System.ComponentModel.Container();
|
||||||
pbProfileImage = new PictureBox();
|
|
||||||
ctxBoughtItems = new ContextMenuStrip(components);
|
ctxBoughtItems = new ContextMenuStrip(components);
|
||||||
lblStatus = new Label();
|
|
||||||
rtxtBio = new RichTextBox();
|
rtxtBio = new RichTextBox();
|
||||||
tlpActionButtons = new TableLayoutPanel();
|
tlpActionButtons = new TableLayoutPanel();
|
||||||
btnAction1 = new Button();
|
btnAction1 = new Button();
|
||||||
btnAction2 = new Button();
|
btnAction2 = new Button();
|
||||||
tlpUsernameTags = new TableLayoutPanel();
|
tlpUsernameTags = new TableLayoutPanel();
|
||||||
lblUsername = new Label();
|
lblUsername = new Label();
|
||||||
tlpTagIcons = new TableLayoutPanel();
|
flpTagIcons = new FlowLayoutPanel();
|
||||||
btnSaveProfile = new Button();
|
btnSaveProfile = new Button();
|
||||||
((System.ComponentModel.ISupportInitialize)pbProfileImage).BeginInit();
|
flpPfpStatus = new FlowLayoutPanel();
|
||||||
|
lblStatus = new Label();
|
||||||
|
pbProfileImage = new PictureBox();
|
||||||
tlpActionButtons.SuspendLayout();
|
tlpActionButtons.SuspendLayout();
|
||||||
tlpUsernameTags.SuspendLayout();
|
tlpUsernameTags.SuspendLayout();
|
||||||
|
flpPfpStatus.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pbProfileImage).BeginInit();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
// pbProfileImage
|
|
||||||
//
|
|
||||||
pbProfileImage.Image = Properties.Resources.DefaultPfp;
|
|
||||||
pbProfileImage.Location = new Point(12, 12);
|
|
||||||
pbProfileImage.Name = "pbProfileImage";
|
|
||||||
pbProfileImage.Size = new Size(97, 99);
|
|
||||||
pbProfileImage.SizeMode = PictureBoxSizeMode.Zoom;
|
|
||||||
pbProfileImage.TabIndex = 0;
|
|
||||||
pbProfileImage.TabStop = false;
|
|
||||||
pbProfileImage.MouseClick += pbProfileImage_Click;
|
|
||||||
pbProfileImage.MouseEnter += pbProfileImage_MouseEnter;
|
|
||||||
pbProfileImage.MouseLeave += pbProfileImage_MouseLeave;
|
|
||||||
//
|
|
||||||
// ctxBoughtItems
|
// ctxBoughtItems
|
||||||
//
|
//
|
||||||
ctxBoughtItems.Name = "ctxBoughtItems";
|
ctxBoughtItems.Name = "ctxBoughtItems";
|
||||||
ctxBoughtItems.Size = new Size(61, 4);
|
ctxBoughtItems.Size = new Size(61, 4);
|
||||||
//
|
//
|
||||||
// lblStatus
|
|
||||||
//
|
|
||||||
lblStatus.AutoEllipsis = true;
|
|
||||||
lblStatus.Font = new Font("Segoe UI Semibold", 9F, FontStyle.Bold, GraphicsUnit.Point, 0);
|
|
||||||
lblStatus.ForeColor = Color.White;
|
|
||||||
lblStatus.Location = new Point(12, 114);
|
|
||||||
lblStatus.Name = "lblStatus";
|
|
||||||
lblStatus.Padding = new Padding(0, 0, 0, 15);
|
|
||||||
lblStatus.Size = new Size(97, 54);
|
|
||||||
lblStatus.TabIndex = 2;
|
|
||||||
lblStatus.Text = "Status";
|
|
||||||
lblStatus.TextAlign = ContentAlignment.MiddleCenter;
|
|
||||||
//
|
|
||||||
// rtxtBio
|
// rtxtBio
|
||||||
//
|
//
|
||||||
rtxtBio.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
rtxtBio.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||||
@ -125,13 +101,12 @@
|
|||||||
//
|
//
|
||||||
// tlpUsernameTags
|
// tlpUsernameTags
|
||||||
//
|
//
|
||||||
tlpUsernameTags.AutoSize = true;
|
|
||||||
tlpUsernameTags.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
tlpUsernameTags.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
tlpUsernameTags.ColumnCount = 2;
|
tlpUsernameTags.ColumnCount = 2;
|
||||||
tlpUsernameTags.ColumnStyles.Add(new ColumnStyle());
|
tlpUsernameTags.ColumnStyles.Add(new ColumnStyle());
|
||||||
tlpUsernameTags.ColumnStyles.Add(new ColumnStyle());
|
tlpUsernameTags.ColumnStyles.Add(new ColumnStyle());
|
||||||
tlpUsernameTags.Controls.Add(lblUsername, 0, 0);
|
tlpUsernameTags.Controls.Add(lblUsername, 0, 0);
|
||||||
tlpUsernameTags.Controls.Add(tlpTagIcons, 1, 0);
|
tlpUsernameTags.Controls.Add(flpTagIcons, 1, 0);
|
||||||
tlpUsernameTags.Location = new Point(115, 11);
|
tlpUsernameTags.Location = new Point(115, 11);
|
||||||
tlpUsernameTags.Name = "tlpUsernameTags";
|
tlpUsernameTags.Name = "tlpUsernameTags";
|
||||||
tlpUsernameTags.RowCount = 1;
|
tlpUsernameTags.RowCount = 1;
|
||||||
@ -153,20 +128,16 @@
|
|||||||
lblUsername.TextAlign = ContentAlignment.MiddleLeft;
|
lblUsername.TextAlign = ContentAlignment.MiddleLeft;
|
||||||
lblUsername.DoubleClick += lblUsername_DoubleClick;
|
lblUsername.DoubleClick += lblUsername_DoubleClick;
|
||||||
//
|
//
|
||||||
// tlpTagIcons
|
// flpTagIcons
|
||||||
//
|
//
|
||||||
tlpTagIcons.AutoSize = true;
|
flpTagIcons.AutoSize = true;
|
||||||
tlpTagIcons.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
flpTagIcons.Dock = DockStyle.Fill;
|
||||||
tlpTagIcons.ColumnCount = 1;
|
flpTagIcons.Location = new Point(155, 3);
|
||||||
tlpTagIcons.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
|
flpTagIcons.Name = "flpTagIcons";
|
||||||
tlpTagIcons.GrowStyle = TableLayoutPanelGrowStyle.AddColumns;
|
flpTagIcons.Padding = new Padding(0, 10, 0, 0);
|
||||||
tlpTagIcons.Location = new Point(155, 3);
|
flpTagIcons.Size = new Size(145, 49);
|
||||||
tlpTagIcons.MinimumSize = new Size(145, 49);
|
flpTagIcons.TabIndex = 1;
|
||||||
tlpTagIcons.Name = "tlpTagIcons";
|
flpTagIcons.WrapContents = false;
|
||||||
tlpTagIcons.RowCount = 1;
|
|
||||||
tlpTagIcons.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
|
|
||||||
tlpTagIcons.Size = new Size(145, 49);
|
|
||||||
tlpTagIcons.TabIndex = 1;
|
|
||||||
//
|
//
|
||||||
// btnSaveProfile
|
// btnSaveProfile
|
||||||
//
|
//
|
||||||
@ -179,6 +150,39 @@
|
|||||||
btnSaveProfile.Visible = false;
|
btnSaveProfile.Visible = false;
|
||||||
btnSaveProfile.Click += btnSaveProfile_Click;
|
btnSaveProfile.Click += btnSaveProfile_Click;
|
||||||
//
|
//
|
||||||
|
// flpPfpStatus
|
||||||
|
//
|
||||||
|
flpPfpStatus.Controls.Add(pbProfileImage);
|
||||||
|
flpPfpStatus.Controls.Add(lblStatus);
|
||||||
|
flpPfpStatus.FlowDirection = FlowDirection.RightToLeft;
|
||||||
|
flpPfpStatus.Location = new Point(5, 11);
|
||||||
|
flpPfpStatus.Name = "flpPfpStatus";
|
||||||
|
flpPfpStatus.Size = new Size(104, 166);
|
||||||
|
flpPfpStatus.TabIndex = 8;
|
||||||
|
//
|
||||||
|
// lblStatus
|
||||||
|
//
|
||||||
|
lblStatus.AutoEllipsis = true;
|
||||||
|
lblStatus.Font = new Font("Segoe UI Semibold", 9F, FontStyle.Bold | FontStyle.Italic, GraphicsUnit.Point, 0);
|
||||||
|
lblStatus.ForeColor = Color.White;
|
||||||
|
lblStatus.Location = new Point(4, 105);
|
||||||
|
lblStatus.Name = "lblStatus";
|
||||||
|
lblStatus.Padding = new Padding(0, 0, 0, 15);
|
||||||
|
lblStatus.Size = new Size(97, 54);
|
||||||
|
lblStatus.TabIndex = 4;
|
||||||
|
lblStatus.Text = "Enter Status Here";
|
||||||
|
lblStatus.TextAlign = ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// pbProfileImage
|
||||||
|
//
|
||||||
|
pbProfileImage.Image = Properties.Resources.DefaultPfp;
|
||||||
|
pbProfileImage.Location = new Point(4, 3);
|
||||||
|
pbProfileImage.Name = "pbProfileImage";
|
||||||
|
pbProfileImage.Size = new Size(97, 99);
|
||||||
|
pbProfileImage.SizeMode = PictureBoxSizeMode.Zoom;
|
||||||
|
pbProfileImage.TabIndex = 3;
|
||||||
|
pbProfileImage.TabStop = false;
|
||||||
|
//
|
||||||
// ProfileForm
|
// ProfileForm
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||||
@ -190,8 +194,7 @@
|
|||||||
Controls.Add(tlpUsernameTags);
|
Controls.Add(tlpUsernameTags);
|
||||||
Controls.Add(tlpActionButtons);
|
Controls.Add(tlpActionButtons);
|
||||||
Controls.Add(rtxtBio);
|
Controls.Add(rtxtBio);
|
||||||
Controls.Add(lblStatus);
|
Controls.Add(flpPfpStatus);
|
||||||
Controls.Add(pbProfileImage);
|
|
||||||
FormBorderStyle = FormBorderStyle.FixedSingle;
|
FormBorderStyle = FormBorderStyle.FixedSingle;
|
||||||
MaximizeBox = false;
|
MaximizeBox = false;
|
||||||
Name = "ProfileForm";
|
Name = "ProfileForm";
|
||||||
@ -199,26 +202,26 @@
|
|||||||
Text = "QtC.NET User Profile";
|
Text = "QtC.NET User Profile";
|
||||||
FormClosed += ProfileForm_FormClosed;
|
FormClosed += ProfileForm_FormClosed;
|
||||||
Load += ProfileForm_Load;
|
Load += ProfileForm_Load;
|
||||||
((System.ComponentModel.ISupportInitialize)pbProfileImage).EndInit();
|
|
||||||
tlpActionButtons.ResumeLayout(false);
|
tlpActionButtons.ResumeLayout(false);
|
||||||
tlpUsernameTags.ResumeLayout(false);
|
tlpUsernameTags.ResumeLayout(false);
|
||||||
tlpUsernameTags.PerformLayout();
|
tlpUsernameTags.PerformLayout();
|
||||||
|
flpPfpStatus.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)pbProfileImage).EndInit();
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
PerformLayout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private PictureBox pbProfileImage;
|
|
||||||
private Label lblStatus;
|
|
||||||
private RichTextBox rtxtBio;
|
private RichTextBox rtxtBio;
|
||||||
private TableLayoutPanel tlpActionButtons;
|
private TableLayoutPanel tlpActionButtons;
|
||||||
private TableLayoutPanel tlpUsernameTags;
|
private TableLayoutPanel tlpUsernameTags;
|
||||||
private Label lblUsername;
|
private Label lblUsername;
|
||||||
private TableLayoutPanel tlpTagIcons;
|
|
||||||
private Button btnAction1;
|
private Button btnAction1;
|
||||||
private Button btnAction2;
|
private Button btnAction2;
|
||||||
private Button btnSaveProfile;
|
private Button btnSaveProfile;
|
||||||
private ContextMenuStrip ctxBoughtItems;
|
private ContextMenuStrip ctxBoughtItems;
|
||||||
|
private FlowLayoutPanel flpTagIcons;
|
||||||
|
private FlowLayoutPanel flpPfpStatus;
|
||||||
|
private PictureBox pbProfileImage;
|
||||||
|
private Label lblStatus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -32,12 +32,14 @@ namespace qtcnet_client.Forms
|
|||||||
public Contact.ContactStatus ContactStatus { get; set; }
|
public Contact.ContactStatus ContactStatus { get; set; }
|
||||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||||
public Image ProfileImage { get; set; } = Resources.DefaultPfp;
|
public Image ProfileImage { get; set; } = Resources.DefaultPfp;
|
||||||
|
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||||
|
public int CosmeticId { get; set; } = 0;
|
||||||
|
|
||||||
public event EventHandler? OnMessageClicked;
|
public event EventHandler? OnMessageClicked;
|
||||||
public event EventHandler? OnClose;
|
public event EventHandler? OnClose;
|
||||||
|
|
||||||
private IApiService _apiService;
|
private readonly IApiService _apiService;
|
||||||
private ImageFactory _imgFactory;
|
private readonly ImageFactory _imgFactory;
|
||||||
public ProfileForm(IApiService apiService, ImageFactory imageFactory)
|
public ProfileForm(IApiService apiService, ImageFactory imageFactory)
|
||||||
{
|
{
|
||||||
_apiService = apiService;
|
_apiService = apiService;
|
||||||
@ -47,13 +49,16 @@ namespace qtcnet_client.Forms
|
|||||||
|
|
||||||
private async void ProfileForm_Load(object sender, EventArgs e)
|
private async void ProfileForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Text = $"QtC.NET User Profile - {Username}";
|
SuspendLayout();
|
||||||
|
|
||||||
|
Text = $"User Profile - {Username}";
|
||||||
lblUsername.Text = Username;
|
lblUsername.Text = Username;
|
||||||
lblStatus.Text = TextStatus;
|
lblStatus.Text = TextStatus;
|
||||||
rtxtBio.Text = Bio;
|
rtxtBio.Text = Bio;
|
||||||
pbProfileImage.Image = ProfileImage;
|
pbProfileImage.Image = ProfileImage;
|
||||||
|
|
||||||
ResizeFormToUsername();
|
ResizeFormToUsername();
|
||||||
|
SetTagIcons();
|
||||||
|
|
||||||
if (Status == 0) lblStatus.Visible = false;
|
if (Status == 0) lblStatus.Visible = false;
|
||||||
|
|
||||||
@ -82,6 +87,15 @@ namespace qtcnet_client.Forms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lblStatus.Visible = true;
|
||||||
|
|
||||||
|
if(string.IsNullOrEmpty(TextStatus))
|
||||||
|
lblStatus.Text = "Enter Status Here";
|
||||||
|
|
||||||
|
lblStatus.Font = new("Segoe UI", 9, FontStyle.Bold | FontStyle.Italic);
|
||||||
|
lblStatus.ForeColor = Color.LightGray;
|
||||||
|
lblStatus.DoubleClick += lblStatus_DoubleClick;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (ContactStatus)
|
switch (ContactStatus)
|
||||||
@ -112,6 +126,46 @@ namespace qtcnet_client.Forms
|
|||||||
btnAction2.Click += BtnAction2_AddContactClick;
|
btnAction2.Click += BtnAction2_AddContactClick;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ResumeLayout(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void SetTagIcons()
|
||||||
|
{
|
||||||
|
// for each tag the user has, get the image associated with it from the server
|
||||||
|
List<Bitmap> _tagImages = [];
|
||||||
|
foreach(var tag in Tags)
|
||||||
|
{
|
||||||
|
var _res = await _apiService.GetTagPic(tag);
|
||||||
|
if(_res.Success && _res.Data != null)
|
||||||
|
{
|
||||||
|
// create a picturebox control and add it to the tag table
|
||||||
|
Bitmap bm = new(new MemoryStream(_res.Data));
|
||||||
|
_tagImages.Add(bm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ApplyTagIcons(_tagImages);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ApplyTagIcons(List<Bitmap> tagImages)
|
||||||
|
{
|
||||||
|
flpTagIcons.SuspendLayout();
|
||||||
|
|
||||||
|
foreach(var img in tagImages)
|
||||||
|
{
|
||||||
|
PictureBox tagPb = new()
|
||||||
|
{
|
||||||
|
Image = img,
|
||||||
|
SizeMode = PictureBoxSizeMode.Zoom,
|
||||||
|
Size = new(20, 20),
|
||||||
|
Anchor = AnchorStyles.Left,
|
||||||
|
};
|
||||||
|
|
||||||
|
flpTagIcons.Controls.Add(tagPb);
|
||||||
|
}
|
||||||
|
|
||||||
|
flpTagIcons.ResumeLayout(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void ProfileForm_StoreItemToolStripClick(object? sender, EventArgs e)
|
private async void ProfileForm_StoreItemToolStripClick(object? sender, EventArgs e)
|
||||||
@ -255,6 +309,37 @@ namespace qtcnet_client.Forms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void lblStatus_DoubleClick(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (UserId == _apiService.CurrentUser?.Id)
|
||||||
|
{
|
||||||
|
lblStatus.Visible = false;
|
||||||
|
|
||||||
|
TextBox txtStatusEdit = new()
|
||||||
|
{
|
||||||
|
Text = lblStatus.Text,
|
||||||
|
Font = lblStatus.Font,
|
||||||
|
MaxLength = 150,
|
||||||
|
Location = lblStatus.Location,
|
||||||
|
Size = lblStatus.Size,
|
||||||
|
};
|
||||||
|
txtStatusEdit.KeyDown += TxtStatusEdit_KeyDown;
|
||||||
|
flpPfpStatus.Controls.Add(txtStatusEdit);
|
||||||
|
txtStatusEdit.Focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TxtStatusEdit_KeyDown(object? sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
if(sender is TextBox txtStatusEdit && e.KeyCode == Keys.Enter)
|
||||||
|
{
|
||||||
|
lblStatus.Text = txtStatusEdit.Text;
|
||||||
|
flpPfpStatus.Controls.Remove(txtStatusEdit);
|
||||||
|
txtStatusEdit.Dispose();
|
||||||
|
lblStatus.Visible = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void TxtUsernameEdit_KeyDown(object? sender, KeyEventArgs e)
|
private void TxtUsernameEdit_KeyDown(object? sender, KeyEventArgs e)
|
||||||
{
|
{
|
||||||
if (sender is TextBox txtUsernameEdit && e.KeyCode == Keys.Enter)
|
if (sender is TextBox txtUsernameEdit && e.KeyCode == Keys.Enter)
|
||||||
@ -276,6 +361,7 @@ namespace qtcnet_client.Forms
|
|||||||
Username = lblUsername.Text,
|
Username = lblUsername.Text,
|
||||||
Bio = rtxtBio.Text,
|
Bio = rtxtBio.Text,
|
||||||
DateOfBirth = _apiService.CurrentUser.DateOfBirth,
|
DateOfBirth = _apiService.CurrentUser.DateOfBirth,
|
||||||
|
TextStatus = lblStatus.Text,
|
||||||
});
|
});
|
||||||
if (_res.Success && _res.Data != null)
|
if (_res.Success && _res.Data != null)
|
||||||
KryptonMessageBox.Show("Profile Updated", "Yipee!");
|
KryptonMessageBox.Show("Profile Updated", "Yipee!");
|
||||||
@ -304,8 +390,7 @@ namespace qtcnet_client.Forms
|
|||||||
var _apiRes = await _apiService.UpdateUserProfilePic(openFileDialog.FileName);
|
var _apiRes = await _apiService.UpdateUserProfilePic(openFileDialog.FileName);
|
||||||
if(_apiRes.Success)
|
if(_apiRes.Success)
|
||||||
{
|
{
|
||||||
Image newImg = Image.FromFile(openFileDialog.FileName);
|
pbProfileImage.Image = _imgFactory.GetAndCreateProfileImage(UserId, Status, CosmeticId);
|
||||||
pbProfileImage.Image = newImg;
|
|
||||||
pbProfileImage.Invalidate();
|
pbProfileImage.Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2
qtcnet-client/Forms/StoreItemForm.Designer.cs
generated
2
qtcnet-client/Forms/StoreItemForm.Designer.cs
generated
@ -151,7 +151,7 @@
|
|||||||
MinimizeBox = false;
|
MinimizeBox = false;
|
||||||
Name = "StoreItemForm";
|
Name = "StoreItemForm";
|
||||||
StartPosition = FormStartPosition.CenterScreen;
|
StartPosition = FormStartPosition.CenterScreen;
|
||||||
Text = "QtC.NET Store Item";
|
Text = "Store Item";
|
||||||
FormClosed += StoreItemForm_FormClosed;
|
FormClosed += StoreItemForm_FormClosed;
|
||||||
Load += StoreItemForm_Load;
|
Load += StoreItemForm_Load;
|
||||||
flpMainLayout.ResumeLayout(false);
|
flpMainLayout.ResumeLayout(false);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user