WIP: evaluation and management

This commit is contained in:
Frede Hundewadt 2023-04-25 12:23:58 +02:00
parent 97cf9b8658
commit 8397b82e60
8 changed files with 41 additions and 32 deletions

View file

@ -3,7 +3,7 @@ using Wonky.Entity.Views;
namespace Wonky.Client.HttpRepository;
public interface IEvaluationRepository
public interface IMemberSupportRepository
{
Task<ManagerView> GetManagerByUserId(string userId);
Task<MemberView> GetMemberByUserId(string userId);

View file

@ -8,7 +8,7 @@ using Wonky.Entity.Views;
namespace Wonky.Client.HttpRepository;
public class EvaluationRepository : IEvaluationRepository
public class MemberSupportRepository : IMemberSupportRepository
{
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions
{
@ -16,12 +16,12 @@ public class EvaluationRepository : IEvaluationRepository
};
private readonly NavigationManager _navigation;
private readonly ILogger<EvaluationRepository> _logger;
private readonly ILogger<MemberSupportRepository> _logger;
private readonly HttpClient _client;
private readonly ApiConfig _api;
public EvaluationRepository(HttpClient client,
ILogger<EvaluationRepository> logger,
public MemberSupportRepository(HttpClient client,
ILogger<MemberSupportRepository> logger,
NavigationManager navigation, IOptions<ApiConfig> configuration)
{
_client = client;
@ -34,18 +34,27 @@ public class EvaluationRepository : IEvaluationRepository
public async Task<ManagerView> GetManagerByUserId(string userId)
{
var result = await _client
.GetFromJsonAsync<ManagerView>($"{_api.MemberEvaluation}/id/manager/{userId}", _options);
return result ?? new ManagerView();
.GetAsync($"{_api.UserSupport}/user/manager/{userId}");
var content = await result.Content.ReadAsStringAsync();
if (!result.IsSuccessStatusCode || string.IsNullOrWhiteSpace(content))
{
return new ManagerView();
}
return JsonSerializer.Deserialize<ManagerView>(content, _options) ?? new ManagerView();
}
public async Task<MemberView> GetMemberByUserId(string userId)
{
var result = await _client
.GetFromJsonAsync<MemberView>($"{_api.MemberEvaluation}/id/member/{userId}", _options);
.GetAsync($"{_api.UserSupport}/user/member/{userId}");
return result ?? new MemberView();
var content = await result.Content.ReadAsStringAsync();
if (!result.IsSuccessStatusCode || string.IsNullOrWhiteSpace(content))
{
return new MemberView();
}
return JsonSerializer.Deserialize<MemberView>(content, _options) ?? new MemberView();
}
@ -53,7 +62,7 @@ public class EvaluationRepository : IEvaluationRepository
{
var result = await _client
.GetFromJsonAsync<List<EvaluationEditView>>(
$"{_api.MemberEvaluation}/manager/{managerId}", _options);
$"{_api.UserSupport}/manager/{managerId}", _options);
return result ?? new List<EvaluationEditView>();
}
@ -63,7 +72,7 @@ public class EvaluationRepository : IEvaluationRepository
{
var result = await _client
.GetFromJsonAsync<List<EvaluationEditView>>(
$"{_api.MemberEvaluation}/member/{memberId}", _options);
$"{_api.UserSupport}/member/{memberId}", _options);
return result ?? new List<EvaluationEditView>();
}
@ -73,7 +82,7 @@ public class EvaluationRepository : IEvaluationRepository
{
var result = await _client
.GetFromJsonAsync<EvaluationEditView>(
$"{_api.MemberEvaluation}/id/{evaluationId}", _options);
$"{_api.UserSupport}/evaluation/{evaluationId}", _options);
return result ?? new EvaluationEditView();
@ -83,7 +92,7 @@ public class EvaluationRepository : IEvaluationRepository
public async Task<EvaluationEditView> CreateEvaluation(EvaluationEditView evaluationEditView)
{
var result = await _client
.PostAsJsonAsync($"{_api.MemberEvaluation}", evaluationEditView, _options);
.PostAsJsonAsync($"{_api.UserSupport}", evaluationEditView, _options);
if (!result.IsSuccessStatusCode)
{
@ -102,7 +111,7 @@ public class EvaluationRepository : IEvaluationRepository
public async Task<EvaluationEditView> UpdateEvaluation(string evaluationId, EvaluationEditView evaluationEditView)
{
var result = await _client
.PutAsJsonAsync($"{_api.MemberEvaluation}/{evaluationId}", evaluationEditView, _options);
.PutAsJsonAsync($"{_api.UserSupport}/{evaluationId}", evaluationEditView, _options);
if (!result.IsSuccessStatusCode)
{
@ -119,6 +128,6 @@ public class EvaluationRepository : IEvaluationRepository
public async Task DeleteEvaluation(string evaluationId)
{
await _client.DeleteAsync($"{_api.MemberEvaluation}/{evaluationId}");
await _client.DeleteAsync($"{_api.UserSupport}/{evaluationId}");
}
}

View file

@ -27,7 +27,7 @@ namespace Wonky.Client.Pages;
public partial class ManagerEvaluationListPage : IDisposable
{
// #########################################################
[Inject] public IEvaluationRepository EvaluationRepo { get; set; }
[Inject] public IMemberSupportRepository MemberSupportRepo { get; set; }
[Inject] public HttpInterceptorService Interceptor { get; set; }
[Inject] public ILogger<ManagerEvaluationListPage> Logger { get; set; }
@ -48,11 +48,11 @@ public partial class ManagerEvaluationListPage : IDisposable
Logger.LogDebug("UserId => {}", UserId);
Member = await EvaluationRepo.GetMemberByUserId(UserId);
Member = await MemberSupportRepo.GetMemberByUserId(UserId);
Logger.LogDebug("Member => {}",JsonSerializer.Serialize(Member));
Evaluations = await EvaluationRepo.GetEvaluationsByMemberId(Member.MemberId);
Evaluations = await MemberSupportRepo.GetEvaluationsByMemberId(Member.MemberId);
Logger.LogDebug("Evaluations => {}",JsonSerializer.Serialize(Evaluations));

View file

@ -28,7 +28,7 @@ namespace Wonky.Client.Pages;
public partial class ManagerEvaluationNewPage : IDisposable
{
// ############################################################
[Inject] public IEvaluationRepository EvaluationRepo { get; set; }
[Inject] public IMemberSupportRepository MemberSupportRepo { get; set; }
[Inject] public HttpInterceptorService Interceptor { get; set; }
[Inject] public IUserInfoService UserService { get; set; }
[Inject] public ILogger<ManagerEvaluationNewPage> Logger { get; set; }
@ -49,7 +49,7 @@ public partial class ManagerEvaluationNewPage : IDisposable
Interceptor.RegisterEvent();
Interceptor.RegisterBeforeSendEvent();
Member = await EvaluationRepo.GetMemberByUserId(UserId);
Member = await MemberSupportRepo.GetMemberByUserId(UserId);
Logger.LogDebug("Member => {}", JsonSerializer.Serialize(Member));
@ -57,7 +57,7 @@ public partial class ManagerEvaluationNewPage : IDisposable
Logger.LogDebug("ManagerId => {}", managerId);
Manager = await EvaluationRepo.GetManagerByUserId(managerId);
Manager = await MemberSupportRepo.GetManagerByUserId(managerId);
Logger.LogDebug("Manager => {}", JsonSerializer.Serialize(Manager));
}

View file

@ -27,7 +27,7 @@ namespace Wonky.Client.Pages;
public partial class ManagerEvaluationViewEditPage : IDisposable
{
// #########################################################
[Inject] public IEvaluationRepository EvaluationRepo { get; set; }
[Inject] public IMemberSupportRepository MemberSupportRepo { get; set; }
[Inject] public HttpInterceptorService Interceptor { get; set; }
// #########################################################
@ -44,9 +44,9 @@ public partial class ManagerEvaluationViewEditPage : IDisposable
Interceptor.RegisterEvent();
Interceptor.RegisterBeforeSendEvent();
Member = await EvaluationRepo.GetMemberByUserId(UserId);
Member = await MemberSupportRepo.GetMemberByUserId(UserId);
Evaluation = await EvaluationRepo.GetById(EvaluationId);
Evaluation = await MemberSupportRepo.GetById(EvaluationId);
Working = false;
}

View file

@ -74,7 +74,7 @@ builder.Services.AddScoped<ISystemLabelsRepository, SystemLabelsRepository>();
builder.Services.AddScoped<ISystemTextsRepository, SystemTextsRepository>();
builder.Services.AddScoped<ISystemUserRepository, SystemUserRepository>();
builder.Services.AddScoped<ICountryUserInfoRepository, CountryUserInfoRepository>();
builder.Services.AddScoped<IEvaluationRepository, EvaluationRepository>();
builder.Services.AddScoped<IMemberSupportRepository, MemberSupportRepository>();
builder.Services.AddScoped<ICountryActivityRepository, CountryActivityRepository>();
// warehouse repository
builder.Services.AddScoped<IOrderProcessRepository, OrderProcessRepository>();

View file

@ -47,7 +47,7 @@
"systemDocStringUrl": "api/v2/admin/doc",
"systemLabels": "api/v2/admin/doc/labels",
"systemTexts": "api/v2/admin/doc/texts",
"memberEvaluation": "/api/v2/app/manage/evaluations",
"userSupport": "/api/v2/app/manage/support",
"userInfoClient": "/api/v2/client/users",
"userInfoAuth": "api/v2/auth/userinfo",
"userManager": "api/v2/app/manage/users",

View file

@ -155,11 +155,6 @@ public class ApiConfig
/// Get system document texts for translation
/// </summary>
public string SystemTexts { get; set; } = "";
/// <summary>
/// Endpoint for user evaluations
/// </summary>
public string MemberEvaluation { get; set; } = "";
/// <summary>
/// Application uri for user information request
@ -186,6 +181,11 @@ public class ApiConfig
/// </summary>
public string UserRoles { get; set; } = "";
/// <summary>
/// Endpoint for user evaluations
/// </summary>
public string UserSupport { get; set; } = "";
/// <summary>
/// Uri for warehouse requests
/// </summary>