2023-10-28 23:57:28 +03:30
|
|
|
|
using DocuMed.Common.Models.Mapper;
|
2023-11-18 13:02:16 +03:30
|
|
|
|
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
|
|
|
|
{
|
2023-11-18 13:02:16 +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-11-05 16:14:13 +03:30
|
|
|
|
|
|
|
|
|
|
|
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
|
2023-11-18 13:02:16 +03:30
|
|
|
|
.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();
|
|
|
|
|
|
|
|
|
|
|
|
}
|
2023-11-18 13:02:16 +03:30
|
|
|
|
|
|
|
|
|
|
public async Task SelectDayFilter(DayQueryFilter day)
|
|
|
|
|
|
{
|
|
|
|
|
|
SelectedDayFilter = day;
|
|
|
|
|
|
await InitializeAsync();
|
|
|
|
|
|
}
|
2023-10-22 15:51:11 +03:30
|
|
|
|
}
|