diff --git a/Wonky.Client/Components/TaskItemTableComponent.razor b/Wonky.Client/Components/TaskItemTableComponent.razor index 2ae8fea0..6281fa74 100644 --- a/Wonky.Client/Components/TaskItemTableComponent.razor +++ b/Wonky.Client/Components/TaskItemTableComponent.razor @@ -81,7 +81,7 @@ } - + } else { diff --git a/Wonky.Client/Components/TaskItemTableComponent.razor.cs b/Wonky.Client/Components/TaskItemTableComponent.razor.cs index 2ee6e492..eb192f1f 100644 --- a/Wonky.Client/Components/TaskItemTableComponent.razor.cs +++ b/Wonky.Client/Components/TaskItemTableComponent.razor.cs @@ -61,6 +61,10 @@ namespace Wonky.Client.Components _confirmationModal.Show(); } + private void OnCancelCallback() + { + _confirmationModal.Hide(); + } /// /// Delete task call back /// diff --git a/Wonky.Client/HttpRepository/AdvisorReportRepository.cs b/Wonky.Client/HttpRepository/AdvisorReportRepository.cs index 4f09c0b2..03454ca0 100644 --- a/Wonky.Client/HttpRepository/AdvisorReportRepository.cs +++ b/Wonky.Client/HttpRepository/AdvisorReportRepository.cs @@ -35,7 +35,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository private readonly NavigationManager _navigation; private ILogger _logger; private readonly HttpClient _client; - private readonly ApiConfig _apiConfig; + private readonly ApiConfig _api; public AdvisorReportRepository(HttpClient client, ILogger logger, @@ -44,7 +44,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository _client = client; _logger = logger; _navigation = navigation; - _apiConfig = configuration.Value; + _api = configuration.Value; } /// @@ -55,7 +55,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository public async Task ReportExist(string workDate) { var result = await _client.GetFromJsonAsync( - $"{_apiConfig.CrmReports}/exist/{workDate}"); + $"{_api.CrmReports}/exist/{workDate}"); return result.ReportClosed; } @@ -65,7 +65,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository /// public async Task> GetReports() { - var result = await _client.GetAsync($"{_apiConfig.CrmReports}"); + var result = await _client.GetAsync($"{_api.CrmReports}"); if (!result.IsSuccessStatusCode) return new List(); return await result.Content.ReadFromJsonAsync>(); @@ -78,7 +78,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository /// public async Task GetReport(string workDate) { - var result = await _client.GetFromJsonAsync($"{_apiConfig.CrmReports}/{workDate}"); + var result = await _client.GetFromJsonAsync($"{_api.CrmReports}/{workDate}"); return result ?? new ReportView(); } @@ -90,7 +90,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository public async Task InitializeReportData(string workDate) { var initData = await _client - .GetFromJsonAsync($"{_apiConfig.CrmReports}/init/{workDate}"); + .GetFromJsonAsync($"{_api.CrmReports}/init/{workDate}"); return initData ?? new ReportInitDto(); } @@ -103,7 +103,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository public async Task CreateReport(string workDate, ReportDto reportDto) { var response = await _client - .PostAsJsonAsync($"{_apiConfig.CrmReports}/{workDate}", reportDto, _options); + .PostAsJsonAsync($"{_api.CrmReports}/{workDate}", reportDto, _options); if (!response.IsSuccessStatusCode) return new ApiResponseView { diff --git a/Wonky.Client/Pages/AdvisorReportCreatePage.razor b/Wonky.Client/Pages/AdvisorReportCreatePage.razor index d24a4702..a57ca4ab 100644 --- a/Wonky.Client/Pages/AdvisorReportCreatePage.razor +++ b/Wonky.Client/Pages/AdvisorReportCreatePage.razor @@ -159,7 +159,7 @@ @if (Activities.Any()) {
- +
} } @@ -168,7 +168,7 @@ - + @if (Working) { diff --git a/Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs b/Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs index 3bff34eb..9abb412c 100644 --- a/Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs +++ b/Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs @@ -43,7 +43,7 @@ public partial class AdvisorReportCreatePage : IDisposable private UserPref Prefs { get; set; } = new(); private bool FormInvalid { get; set; } = true; private bool NoFigures { get; set; } = true; - private bool Working { get; set; } = true; + private bool Working { get; set; } private DateTime _workDate { get; set; } private TimeOnly _checkIn { get; set; } = new(12, 0); private TimeOnly _checkOut { get; set; } = new(12, 0); @@ -51,6 +51,7 @@ public partial class AdvisorReportCreatePage : IDisposable private DateTime EndLeave { get; set; } = DateTime.Now; private ConfirmationModal ConfirmReportModal { get; set; } private string Prompt { get; set; } = ""; + private string WorkDate { get; set; } = ""; /// /// OnInitialized @@ -64,12 +65,18 @@ public partial class AdvisorReportCreatePage : IDisposable ReportContext.OnFieldChanged += HandleFieldChanged; ReportContext.OnValidationStateChanged += ValidationChanged; + ProfileService.OnChange += ProfileServiceOnOnChange; Prefs = await ProfileService.GetPreferences(); - _workDate = DateTime.Now; - if (!string.IsNullOrWhiteSpace(Prefs.WorkDate)) - _workDate = DateTime.Parse(Prefs.WorkDate); + Logger.LogDebug("{}", JsonSerializer.Serialize(Prefs)); + WorkDate = Prefs.WorkDate; + if (string.IsNullOrWhiteSpace(WorkDate)) + { + _workDate = DateTime.Now; + WorkDate = $"{_workDate:yyyy-MM-dd}"; + await ProfileService.SetWorkDate(_workDate); + } - if(await AdvisorReportRepo.ReportExist(Prefs.WorkDate)) + if(await AdvisorReportRepo.ReportExist(WorkDate)) Navigator.NavigateTo($"/advisor/reports/view/{_workDate:yyyy-MM-dd}"); BeginLeave = _workDate; @@ -83,11 +90,48 @@ public partial class AdvisorReportCreatePage : IDisposable Report.Figures.Distance = 0; Report.Figures.DistancePrivateMonth = 0; - Working = false; Logger.LogDebug("OnInitializedAsync => GetKeyFigures"); await GetKeyFigures(); } + private void ProfileServiceOnOnChange(UserPref userPref) + { + Prefs = userPref; + WorkDate = Prefs.WorkDate; + StateHasChanged(); + } + + private async Task GetKeyFigures() + { + if (Working) + return; + Working = true; + + Report.Figures = new ReportFiguresDto(); + InitialValues = new ReportFiguresDto(); + Activities = new List(); + + var data = await AdvisorReportRepo.InitializeReportData(WorkDate); + if(data.ReportClosed) + Navigator.NavigateTo($"/advisor/reports/view/{_workDate:yyyy-MM-dd}"); + + Report.Figures = data.ReportData; + InitialValues = data.ReportData; + Activities = data.ReportItems; + + if (Report.DayTypeEnum.ToLower().Contains("leave")) + { + Report.Figures.KmMorning = 0; + Report.Figures.KmEvening = 0; + } + else + { + Report.Figures.KmMorning = Prefs.KmMorning; + } + + NoFigures = false; + Working = false; + } /// /// Field data change event /// @@ -130,7 +174,7 @@ public partial class AdvisorReportCreatePage : IDisposable return; Working = true; - var result = await AdvisorReportRepo.CreateReport($"{_workDate:yyyy-MM-dd}", Report); + var result = await AdvisorReportRepo.CreateReport(WorkDate, Report); Logger.LogDebug("CreateReport.result => {}", JsonSerializer.Serialize(result)); // reset km and date confirmation @@ -222,11 +266,14 @@ public partial class AdvisorReportCreatePage : IDisposable /// private void SetWorkDateCallback(string workDate) { + WorkDate = workDate; _workDate = DateTime.Parse(workDate); + NoFigures = true; Report.Figures = new ReportFiguresDto(); InitialValues = new ReportFiguresDto(); Activities = new List(); + Report.Figures.KmEvening = 0; Report.Figures.KmMorning = 0; Report.Figures.Distance = 0; @@ -236,46 +283,16 @@ public partial class AdvisorReportCreatePage : IDisposable Report.FromDateTime = $"{_workDate:yyyy-MM-dd'T'12:00}"; Report.ToDateTime = $"{_workDate:yyyy-MM-dd'T'12:00}"; } - - /// - /// Get key figures from backend - /// - private async Task GetKeyFigures() + + private void OnCancelCallback() { - if (Working) - return; - Working = true; - - Report.Figures = new ReportFiguresDto(); - InitialValues = new ReportFiguresDto(); - Activities = new List(); - - var data = await AdvisorReportRepo.InitializeReportData($"{_workDate:yyyy-MM-dd}"); - if(data.ReportClosed) - Navigator.NavigateTo($"/advisor/reports/view/{_workDate:yyyy-MM-dd}"); - - Report.Figures = data.ReportData; - InitialValues = data.ReportData; - Activities = data.ReportItems; - - if (Report.DayTypeEnum.ToLower().Contains("leave")) - { - Report.Figures.KmMorning = 0; - Report.Figures.KmEvening = 0; - } - else - { - Report.Figures.KmMorning = Prefs.KmMorning; - } - - NoFigures = false; - Working = false; - } - + ConfirmReportModal.Hide(); + } public void Dispose() { Interceptor.DisposeEvent(); ReportContext.OnFieldChanged -= HandleFieldChanged; ReportContext.OnValidationStateChanged -= ValidationChanged; + ProfileService.OnChange -= ProfileServiceOnOnChange; } } \ No newline at end of file diff --git a/Wonky.Client/wwwroot/appsettings.json b/Wonky.Client/wwwroot/appsettings.json index c0a3f8b8..7165effe 100644 --- a/Wonky.Client/wwwroot/appsettings.json +++ b/Wonky.Client/wwwroot/appsettings.json @@ -1,13 +1,13 @@ { "appInfo": { "name": "Wonky Client", - "version": "0.97.2", + "version": "0.98.xx", "rc": true, "sandBox": false, "image": "grumpy-coder.png" }, "apiConfig": { - "baseUrl": "https://dev.innotec.dk", + "baseUrl": "https://eta.innotec.dk", "catalog": "api/v2/catalog/country", "crmCustomers": "api/v2/crm/companies", "crmInventoryExt": "history/inventory",