fixed missing edit office note option

This commit is contained in:
Frede Hundewadt 2022-11-29 06:32:04 +01:00
parent 214c6f8708
commit d15a4cfa9e
3 changed files with 31 additions and 30 deletions

View file

@ -128,19 +128,19 @@
</tbody>
</table>
@* Office Note *@
@if (ReportItem.ProcessStatusEnum.ToLower() == "none" && !ReportItem.Express && AllowOfficeNoteUpdate())
@if (ReportItem.ProcessStatusEnum == "None" && !ReportItem.Express && AllowOfficeNoteUpdate())
{
<div class="alert border border-1 border-primary">
<EditForm EditContext="OfficeNote">
<EditForm EditContext="NoteContext">
<div class="row mb-2">
<label class="form-label mb-1" for="office-note">Note /Kontor ()</label>
<InputTextArea class="form-control mb-1" id="office-note" rows="5" @bind-Value="_note.OfficeNote"></InputTextArea>
<label class="form-label mb-1" for="office-note">Note /Kontor</label>
<InputTextArea class="form-control mb-1" id="office-note" rows="5" @bind-Value="Note.OfficeNote"></InputTextArea>
<div>
Ordre noten lukkes efter @_graceTime minutter eller når den er plukket.
Ordre noten lukkes efter @GraceTime minutter eller når den er plukket.
</div>
</div>
<div class="row mb-1">
<button class="btn btn-primary btn-lg" type="button" @onclick="UpdateOfficeNote" disabled="@_disabled">Opdater Note /Kontor</button>
<button class="btn btn-primary btn-lg" type="button" @onclick="UpdateOfficeNote" disabled="@Disabled">Opdater Note /Kontor</button>
</div>
</EditForm>
</div>

View file

@ -15,6 +15,7 @@
//
using System.Globalization;
using System.Text.Json;
using System.Text.Json.Serialization;
using Blazored.Toast.Services;
@ -32,26 +33,26 @@ public partial class CrmActivityViewPage : IDisposable
{
[Parameter] public string CompanyId { get; set; } = "";
[Parameter] public string OrderId { get; set; } = "";
[Inject] public HttpInterceptorService _interceptor { get; set; }
[Inject] public ICrmActivityHttpRepository CrmActivityRepo { get; set; }
[Inject] public ILogger<CrmActivityViewPage> _logger { get; set; }
[Inject] public IToastService _toast { get; set; }
[Inject] public HttpInterceptorService Interceptor { get; set; }
[Inject] public ICrmActivityHttpRepository ActivityRepo { get; set; }
[Inject] public ILogger<CrmActivityViewPage> Logger { get; set; }
[Inject] public IToastService Toaster { get; set; }
private ReportItemView ReportItem { get; set; } = new();
private ActivityOfficeNote _note { get; set; } = new();
private EditContext OfficeNote { get; set; }
private bool _disabled { get; set; }
private int _graceTime { get; set; } = 60;
private ActivityOfficeNote Note { get; set; } = new();
private EditContext NoteContext { get; set; }
private bool Disabled { get; set; }
private int GraceTime { get; set; } = 60;
protected override async Task OnInitializedAsync()
{
_interceptor.RegisterEvent();
_interceptor.RegisterBeforeSendEvent();
OfficeNote = new EditContext(_note);
OfficeNote.OnFieldChanged += HandleFieldChanged;
ReportItem = await CrmActivityRepo.GetReportItem(OrderId);
_note.ActivityId = ReportItem.ActivityId;
_note.OfficeNote = ReportItem.OfficeNote;
_logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem));
Interceptor.RegisterEvent();
Interceptor.RegisterBeforeSendEvent();
NoteContext = new EditContext(Note);
NoteContext.OnFieldChanged += HandleFieldChanged;
ReportItem = await ActivityRepo.GetReportItem(OrderId);
Note.ActivityId = ReportItem.ActivityId;
Note.OfficeNote = ReportItem.OfficeNote;
Logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem));
}
private void HandleFieldChanged(object sender, FieldChangedEventArgs e)
@ -61,21 +62,21 @@ public partial class CrmActivityViewPage : IDisposable
private async Task UpdateOfficeNote()
{
_disabled = true;
_logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(_note));
await CrmActivityRepo.UpdateOfficeNote(_note);
_toast.ShowInfo($"{ReportItem.ESalesNumber} - notat opdateret");
Disabled = true;
Logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(Note));
await ActivityRepo.UpdateOfficeNote(Note);
Toaster.ShowInfo($"{ReportItem.ESalesNumber} - notat opdateret");
}
private bool AllowOfficeNoteUpdate()
{
if (!DateTime.TryParse(ReportItem.CreateTimestamp, out var createTs))
return false;
return DateTime.Now < createTs.AddMinutes(_graceTime);
return DateTime.UtcNow < createTs.AddMinutes(GraceTime);
}
public void Dispose()
{
_interceptor.DisposeEvent();
Interceptor.DisposeEvent();
}
}

View file

@ -1,13 +1,13 @@
{
"appInfo": {
"name": "Wonky Client",
"version": "0.62.1",
"version": "0.70.1",
"rc": true,
"sandBox": false,
"image": "grumpy-coder.png"
},
"apiConfig": {
"baseUrl": "https://zeta.innotec.dk",
"baseUrl": "https://dev.innotec.dk",
"catalog": "api/v2/catalog",
"crmCustomers": "api/v2/crm/companies",
"crmInventoryExt": "history/inventory",