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> </tbody>
</table> </table>
@* Office Note *@ @* 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"> <div class="alert border border-1 border-primary">
<EditForm EditContext="OfficeNote"> <EditForm EditContext="NoteContext">
<div class="row mb-2"> <div class="row mb-2">
<label class="form-label mb-1" for="office-note">Note /Kontor ()</label> <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> <InputTextArea class="form-control mb-1" id="office-note" rows="5" @bind-Value="Note.OfficeNote"></InputTextArea>
<div> <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> </div>
<div class="row mb-1"> <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> </div>
</EditForm> </EditForm>
</div> </div>

View file

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

View file

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