This commit is contained in:
Adam 2024-08-27 13:50:59 +02:00
commit 7b19b32fba
5 changed files with 39 additions and 50 deletions

View File

@ -49,9 +49,9 @@ namespace TIAMMobileApp
builder.Services.AddScoped<IWeatherForecastService, WeatherForecastService>(); builder.Services.AddScoped<IWeatherForecastService, WeatherForecastService>();
builder.Services.AddScoped<ITransferDataService, TransferDataService>(); builder.Services.AddScoped<ITransferDataService, TransferDataService>();
//builder.Services.AddScoped<IAcLogWriterBase, BrowserConsoleLogWriter>();
//builder.Services.AddSingleton<IAcLogWriterClientBase, BrowserConsoleLogWriter>(); builder.Services.AddSingleton<IAcLogWriterClientBase, SignaRClientLogItemWriter>();
builder.Services.AddSingleton<IAcLogWriterClientBase, HttpClientLogItemWriter>();
builder.Services.AddScoped<IPopulationStructureDataProvider, PopulationStructureDataProvider>(); builder.Services.AddScoped<IPopulationStructureDataProvider, PopulationStructureDataProvider>();
builder.Services.AddScoped<ISupplierService, SupplierService>(); builder.Services.AddScoped<ISupplierService, SupplierService>();
builder.Services.AddScoped<IUserDataService, UserDataServiceMobile>(); builder.Services.AddScoped<IUserDataService, UserDataServiceMobile>();

View File

@ -29,7 +29,7 @@ namespace TIAMSharedUI.Pages
[Inject] [Inject]
public IUserDataService userDataService { get; set; } public IUserDataService userDataService { get; set; }
[Inject] [Inject]
public IAcLogWriterClientBase BrowserConsoleLogWriter { get; set; } public IAcLogWriterClientBase BrowserConsoleLogWriter { get; set; } //TODO: Logger... J.
[Inject] [Inject]
public IJSRuntime jsRuntime { get; set; } public IJSRuntime jsRuntime { get; set; }
[Inject] [Inject]

View File

@ -40,7 +40,11 @@ builder.Services.AddScoped<IImageDataService, ImageDataService>();
//WebSpecific //WebSpecific
builder.Services.AddScoped<SessionStorageAccessor>(); builder.Services.AddScoped<SessionStorageAccessor>();
builder.Services.AddSingleton(x => new ResourceManager("TIAMWebApp.Client.Resources.MyResources", typeof(Program).Assembly)); builder.Services.AddSingleton(x => new ResourceManager("TIAMWebApp.Client.Resources.MyResources", typeof(Program).Assembly));
#if DEBUG
builder.Services.AddSingleton<IAcLogWriterClientBase, BrowserConsoleLogWriter>(); builder.Services.AddSingleton<IAcLogWriterClientBase, BrowserConsoleLogWriter>();
#endif
builder.Services.AddSingleton<IAcLogWriterClientBase, SignaRClientLogItemWriter>(); builder.Services.AddSingleton<IAcLogWriterClientBase, SignaRClientLogItemWriter>();
//builder.Services.AddSingleton<IAcLogWriterClientBase, HttpClientLogItemWriter>(); //builder.Services.AddSingleton<IAcLogWriterClientBase, HttpClientLogItemWriter>();
builder.Services.AddSingleton<AdminSignalRClient>(); builder.Services.AddSingleton<AdminSignalRClient>();

View File

@ -1,5 +1,6 @@
namespace TIAMWebApp.Shared.Application.Models.ClientSide namespace TIAMWebApp.Shared.Application.Models.ClientSide
{ {
//appsettings.json
public class Setting public class Setting
{ {
public static UserBasicDetails UserBasicDetails { get; set; } public static UserBasicDetails UserBasicDetails { get; set; }

View File

@ -39,41 +39,33 @@ public abstract class UserDataServiceClientBase : IUserDataService
//api call to get user //api call to get user
var userModelDto = await GetUserDetailByIdAsync(id); var userModelDto = await GetUserDetailByIdAsync(id);
if (userModelDto != null) if (userModelDto == null) return null;
var userProperties = new Dictionary<Guid, string>();
//get user's properties
var hasProperties = userModelDto.ServiceProviders.Count > 0 ? true : (userModelDto.ServiceProviders.Count == 0 ? false : false);
if (hasProperties)
{ {
var userProperties = new Dictionary<Guid, string>();
//get user's properties //var Properties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
var hasProperties = userModelDto.ServiceProviders.Count > 0 ? true : (userModelDto.ServiceProviders.Count == 0 ? false : false); var properties = userModelDto.ServiceProviders;
if (hasProperties)
Logger.Info($"{properties.Count} properties found");
foreach (var property in properties)
{ {
userProperties.Add(property.Id, property.Name);
//var Properties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
var properties = userModelDto.ServiceProviders;
Logger.Info($"{properties.Count} properties found");
foreach (var property in properties)
{
userProperties.Add(property.Id, property.Name);
}
} }
//create user session model
var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, userProperties, 1);
return user;
}
else
{
return null;
} }
//create user session model
var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, userProperties, 1);
return user;
} }
public async Task<string> TestUserApi(int Param) public async Task<string> TestUserApi(int Param)
{ {
var url = $"{Setting.ApiBaseUrl}/{APIUrls.UserTest}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.UserTest}";
var response = await Http.PostAsJsonAsync(url, Param); var response = await Http.PostAsJsonAsync(url, Param);
var result = await response.Content.ReadAsStringAsync(); var result = await response.Content.ReadAsStringAsync();
return result; return result;
@ -111,11 +103,12 @@ public abstract class UserDataServiceClientBase : IUserDataService
public async Task<(bool isSuccess, string ErrorMessage)> CreateUser(RegistrationModel regModel) public async Task<(bool isSuccess, string ErrorMessage)> CreateUser(RegistrationModel regModel)
{ {
var isSuccess = true; var isSuccess = true;
var result = string.Empty; var result = string.Empty;
var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateUser}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateUser}";
Logger.Info("CreateUser url: " + url); Logger.Info("CreateUser url: " + url);
var response = await Http.PostAsJsonAsync(url, regModel); var response = await Http.PostAsJsonAsync(url, regModel);
result = await response.Content.ReadAsStringAsync(); result = await response.Content.ReadAsStringAsync();
/*if (response.IsSuccessStatusCode) /*if (response.IsSuccessStatusCode)
@ -139,10 +132,11 @@ public abstract class UserDataServiceClientBase : IUserDataService
var result = string.Empty; var result = string.Empty;
var user = new UserModelDto(); var user = new UserModelDto();
var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateGuestUser}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateGuestUser}";
Logger.Info("CreateGuestUser url: " + url); Logger.Info("CreateGuestUser url: " + url);
var response = await Http.PostAsJsonAsync(url, regModel); var response = await Http.PostAsJsonAsync(url, regModel);
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
isSuccess = true; isSuccess = true;
@ -156,8 +150,7 @@ public abstract class UserDataServiceClientBase : IUserDataService
result = await response.Content.ReadAsStringAsync(); result = await response.Content.ReadAsStringAsync();
user = null; user = null;
} }
return (isSuccess, user); return (isSuccess, user);
} }
@ -175,22 +168,21 @@ public abstract class UserDataServiceClientBase : IUserDataService
var response = await Http.GetFromJsonAsync<List<UserModelDtoDetail>>(APIUrls.GetUsersWithDetails); var response = await Http.GetFromJsonAsync<List<UserModelDtoDetail>>(APIUrls.GetUsersWithDetails);
//var result = await response.Content.ReadAsStringAsync(); //var result = await response.Content.ReadAsStringAsync();
//var user = JsonConvert.DeserializeObject<UserModelDto>(result); //var user = JsonConvert.DeserializeObject<UserModelDto>(result);
return response ?? []; return response ?? [];
} }
public async Task<UserModelDto?> GetUserByEmailAsync(string email) public async Task<UserModelDto?> GetUserByEmailAsync(string email)
{ {
try try
{ {
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}/{email}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}/{email}";
Logger.Info("GetUserByEmailAsync url: " + url + ", " + email); Logger.Info("GetUserByEmailAsync url: " + url + ", " + email);
var response = await Http.GetAsync(url);
var response = await Http.GetAsync(url);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
if (response.Content != null)
if (response.IsSuccessStatusCode)
{ {
var jsonResponse = await response.Content.ReadAsStringAsync(); var jsonResponse = await response.Content.ReadAsStringAsync();
var user = System.Text.Json.JsonSerializer.Deserialize<UserModelDto>(jsonResponse, new JsonSerializerOptions var user = System.Text.Json.JsonSerializer.Deserialize<UserModelDto>(jsonResponse, new JsonSerializerOptions
@ -200,11 +192,7 @@ public abstract class UserDataServiceClientBase : IUserDataService
return user; return user;
} }
else return null;
{
return null;
}
} }
catch (HttpRequestException httpRequestException) catch (HttpRequestException httpRequestException)
{ {
@ -218,9 +206,6 @@ public abstract class UserDataServiceClientBase : IUserDataService
Logger.DebugConditional($"An error occurred: {ex.Message}"); Logger.DebugConditional($"An error occurred: {ex.Message}");
throw; throw;
} }
} }
public async Task<UserModelDto?> GetUserByIdAsync(Guid id) public async Task<UserModelDto?> GetUserByIdAsync(Guid id)
@ -253,8 +238,8 @@ public abstract class UserDataServiceClientBase : IUserDataService
public async Task<bool> RefreshToken() public async Task<bool> RefreshToken()
{ {
Logger.Info("RefreshToken() called"); Logger.Info("RefreshToken() called");
var isTokenRefreshed = false;
var isTokenRefreshed = false;
var url = $"{Setting.ApiBaseUrl}/{APIUrls.RefreshToken}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.RefreshToken}";
//var url = APIUrls.RefreshToken; //var url = APIUrls.RefreshToken;
@ -286,12 +271,9 @@ public abstract class UserDataServiceClientBase : IUserDataService
} }
catch (Exception ex) catch (Exception ex)
{ {
var msg = ex.Message;
Logger.Error("Refreshtoken exception: " + ex.Message, ex); Logger.Error("Refreshtoken exception: " + ex.Message, ex);
} }
return isTokenRefreshed; return isTokenRefreshed;
} }
@ -302,10 +284,12 @@ public abstract class UserDataServiceClientBase : IUserDataService
var url = $"{Setting.ApiBaseUrl}/{APIUrls.LogoutUser}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.LogoutUser}";
var result = false; var result = false;
var response = await Http.PostAsJsonAsync(url, refreshToken); var response = await Http.PostAsJsonAsync(url, refreshToken);
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
var resultMessage = await response.Content.ReadAsStringAsync(); var resultMessage = await response.Content.ReadAsStringAsync();
Logger.Detail($"Logout response: {resultMessage}"); Logger.Detail($"Logout response: {resultMessage}");
if (resultMessage == "OK") if (resultMessage == "OK")
{ {
result = true; result = true;