Api-PWA/DocuMed.PWA/Pages/HomePage.razor.cs

53 lines
1.4 KiB
C#
Raw Normal View History

2023-10-28 23:57:28 +03:30
using DocuMed.Common.Models.Mapper;
using DocuMed.Domain.Enums.QueryFilters;
2023-10-22 15:51:11 +03:30
2023-10-28 23:57:28 +03:30
namespace DocuMed.PWA.Pages;
2024-09-28 12:34:36 +03:30
public class HomePageViewModel(IUserUtility userUtility, IRestWrapper restWrapper, ISnackbar snackbar)
: BaseViewModel<List<MedicalHistorySDto>>
2023-10-22 15:51:11 +03:30
{
public DayQueryFilter SelectedDayFilter { get; set; } = DayQueryFilter.Today;
2023-10-22 15:51:11 +03:30
public ApplicationUserSDto User { get; private set; } = new ApplicationUserSDto();
2023-10-22 15:51:11 +03:30
public override async Task InitializeAsync()
{
2023-10-28 23:57:28 +03:30
try
2023-10-22 15:51:11 +03:30
{
2023-10-28 23:57:28 +03:30
IsProcessing = true;
2024-09-28 12:34:36 +03:30
User = await userUtility.GetUserAsync();
var token = await userUtility.GetBearerTokenAsync();
var list = await restWrapper
.MedicalHistoryRestApi
.GetAllByFilterAsync(SelectedDayFilter, 0, token);
2023-10-28 23:57:28 +03:30
PageDto = list;
}
catch (ApiException ex)
2023-10-22 15:51:11 +03:30
{
2023-10-28 23:57:28 +03:30
var exe = await ex.GetContentAsAsync<ApiResult>();
2024-09-28 12:34:36 +03:30
snackbar.Add(exe != null ? exe.Message : ex.Content, Severity.Error);
2023-10-28 23:57:28 +03:30
}
catch (Exception e)
2023-10-22 15:51:11 +03:30
{
2024-09-28 12:34:36 +03:30
snackbar.Add(e.Message, Severity.Error);
2023-10-28 23:57:28 +03:30
}
finally
2023-10-22 15:51:11 +03:30
{
2023-10-28 23:57:28 +03:30
IsProcessing = false;
}
2023-10-22 15:51:11 +03:30
await base.InitializeAsync();
}
public async Task SelectDayFilter(DayQueryFilter day)
{
SelectedDayFilter = day;
await InitializeAsync();
}
2023-10-22 15:51:11 +03:30
}