v.0.97 - backEnd v.2.23.016.1846

This commit is contained in:
Frede Hundewadt 2023-01-16 18:52:45 +01:00
parent 5fa35bce7c
commit a68094e068
6 changed files with 75 additions and 54 deletions

View file

@ -81,7 +81,7 @@
}
</tbody>
</table>
<ConfirmationModal BodyMessage="Handlingen kan ikke gøres om. Vil du slette opgaven?" OnOkClicked="DeleteTask" OnCancelClicked="" @ref="_confirmationModal"/>
<ConfirmationModal BodyMessage="Handlingen kan ikke gøres om. Vil du slette opgaven?" OnOkClicked="DeleteTask" OnCancelClicked="OnCancelCallback" @ref="_confirmationModal"/>
}
else
{

View file

@ -61,6 +61,10 @@ namespace Wonky.Client.Components
_confirmationModal.Show();
}
private void OnCancelCallback()
{
_confirmationModal.Hide();
}
/// <summary>
/// Delete task call back
/// </summary>

View file

@ -35,7 +35,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository
private readonly NavigationManager _navigation;
private ILogger<AdvisorReportRepository> _logger;
private readonly HttpClient _client;
private readonly ApiConfig _apiConfig;
private readonly ApiConfig _api;
public AdvisorReportRepository(HttpClient client,
ILogger<AdvisorReportRepository> logger,
@ -44,7 +44,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository
_client = client;
_logger = logger;
_navigation = navigation;
_apiConfig = configuration.Value;
_api = configuration.Value;
}
/// <summary>
@ -55,7 +55,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository
public async Task<bool> ReportExist(string workDate)
{
var result = await _client.GetFromJsonAsync<SalesReportClosedView>(
$"{_apiConfig.CrmReports}/exist/{workDate}");
$"{_api.CrmReports}/exist/{workDate}");
return result.ReportClosed;
}
@ -65,7 +65,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository
/// <returns></returns>
public async Task<List<SalesReportListView>> GetReports()
{
var result = await _client.GetAsync($"{_apiConfig.CrmReports}");
var result = await _client.GetAsync($"{_api.CrmReports}");
if (!result.IsSuccessStatusCode)
return new List<SalesReportListView>();
return await result.Content.ReadFromJsonAsync<List<SalesReportListView>>();
@ -78,7 +78,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository
/// <returns></returns>
public async Task<ReportView> GetReport(string workDate)
{
var result = await _client.GetFromJsonAsync<ReportView>($"{_apiConfig.CrmReports}/{workDate}");
var result = await _client.GetFromJsonAsync<ReportView>($"{_api.CrmReports}/{workDate}");
return result ?? new ReportView();
}
@ -90,7 +90,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository
public async Task<ReportInitDto> InitializeReportData(string workDate)
{
var initData = await _client
.GetFromJsonAsync<ReportInitDto>($"{_apiConfig.CrmReports}/init/{workDate}");
.GetFromJsonAsync<ReportInitDto>($"{_api.CrmReports}/init/{workDate}");
return initData ?? new ReportInitDto();
}
@ -103,7 +103,7 @@ public class AdvisorReportRepository : IAdvisorReportRepository
public async Task<ApiResponseView> 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
{

View file

@ -159,7 +159,7 @@
@if (Activities.Any())
{
<div class="row">
<AdvisorActivityListComponent Activities="Activities" />
<AdvisorActivityListComponent ActivityList="Activities" />
</div>
}
}
@ -168,7 +168,7 @@
<AdvisorReportActivityLedgerComponent ReportData="Report.Figures" />
</div>
</EditForm>
<ConfirmationModal BodyMessage="@Prompt" OnOkClicked="ConfirmReportCallback" OnCancelClicked="" @ref="ConfirmReportModal"/>
<ConfirmationModal BodyMessage="@Prompt" OnOkClicked="ConfirmReportCallback" OnCancelClicked="OnCancelCallback" @ref="ConfirmReportModal"/>
@if (Working)
{

View file

@ -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; } = "";
/// <summary>
/// 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<ReportItemView>();
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;
}
/// <summary>
/// Field data change event
/// </summary>
@ -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
/// <param name="workDate"></param>
private void SetWorkDateCallback(string workDate)
{
WorkDate = workDate;
_workDate = DateTime.Parse(workDate);
NoFigures = true;
Report.Figures = new ReportFiguresDto();
InitialValues = new ReportFiguresDto();
Activities = new List<ReportItemView>();
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}";
}
/// <summary>
/// Get key figures from backend
/// </summary>
private async Task GetKeyFigures()
private void OnCancelCallback()
{
if (Working)
return;
Working = true;
Report.Figures = new ReportFiguresDto();
InitialValues = new ReportFiguresDto();
Activities = new List<ReportItemView>();
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;
}
}

View file

@ -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",