wip - home change date

This commit is contained in:
Frede Hundewadt 2022-06-11 17:43:26 +02:00
parent 5fd50be7b1
commit 0009e912ce
3 changed files with 94 additions and 68 deletions

View file

@ -16,16 +16,20 @@
//
*@
@attribute [Authorize]
<PageTitle>Innotec Danmark A/S</PageTitle>
<AuthorizeView>
<Authorized>
<h5>@_workDate</h5>
<hr />
<h5>Dagens aktivitet</h5>
<table class="table">
<div class="row mb-1">
<div class="col-md-4">
<h5>@_workDate.ToLongDateString()</h5>
</div>
<div class="col-md-4">
<input type="date" class="form-control" @bind-Value="_workDate" @bind-Value:event="oninput" @onchange="FetchActivities" />
</div>
</div>
<hr />
<h5>Dagens aktivitet</h5>
<table class="table">
<thead>
<tr>
<th scope="col">Kunde</th>
@ -41,7 +45,7 @@
{
<tr>
<td>
@activity.ReportVisitDto.Name
@activity.Company.Name
</td>
<td>
@activity.Demo
@ -56,6 +60,4 @@
}
}
</tbody>
</table>
</Authorized>
</AuthorizeView>
</table>

View file

@ -16,7 +16,9 @@
using Blazored.LocalStorage;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.VisualBasic;
using Wonky.Client.HttpInterceptors;
using Wonky.Client.HttpRepository;
using Wonky.Client.Services;
using Wonky.Client.Shared;
@ -24,33 +26,59 @@ using Wonky.Entity.DTO;
using Wonky.Entity.Models;
namespace Wonky.Client.Components;
public partial class Home
public partial class Home : IDisposable
{
[Inject] public ILocalStorageService Storage { get; set; }
[Inject] public ILogger<Home> Logger { get; set; }
[Inject] public UserPreferenceService Prefernces { get; set; }
[Inject] private HttpInterceptorService Interceptor { get; set; }
[Inject] public UserPreferenceService UserPrefs { get; set; }
[Inject] public NavigationManager Navigator { get; set; }
[Inject] public IActivityHttpRepository ActivityRepo { get; set; }
private Preferences _prefs = new();
private string _workDate;
private Preferences _prefs { get; set; } = new();
private DateTime _workDate { get; set; } = new();
private List<ReportActivityDto> Activities { get; set; }
//private EditContext _editContext { get; set; }
protected override async Task OnInitializedAsync()
{
//_editContext = new EditContext(_workDate);
//_editContext.OnFieldChanged += HandleFieldChanged;
Interceptor.RegisterEvent();
Interceptor.RegisterBeforeSendEvent();
if (string.IsNullOrWhiteSpace(await Storage.GetItemAsStringAsync("_xa").ConfigureAwait(true)))
Navigator.NavigateTo("/login/home");
_prefs = await Prefernces.GetPreferences();
if (string.IsNullOrWhiteSpace(_prefs.WorkDate))
_prefs = await UserPrefs.GetPreferences();
_workDate = string.IsNullOrWhiteSpace(_prefs.WorkDate)
? DateTime.Now
: DateTime.Parse(_prefs.WorkDate);
await UserPrefs.SetWorkDate(_workDate);
await FetchActivities();
}
private void HandleFieldChanged(object sender, FieldChangedEventArgs e)
{
await Prefernces.SetWorkDate(DateTime.Now);
StateHasChanged();
}
_workDate = DateTime.Parse(_prefs.WorkDate).ToLongDateString();
Activities = await ActivityRepo.GetActivities(_prefs.WorkDate);
private async Task FetchActivities()
{
Activities = new List<ReportActivityDto>();
await UserPrefs.SetWorkDate(_workDate);
Activities = await ActivityRepo.GetActivities($"{_workDate:yyyy-MM-dd}");
}
public void Dispose()
{
Interceptor.DisposeEvent();
//_editContext.OnFieldChanged -= HandleFieldChanged;
//_editContext.OnValidationStateChanged -= ValidationChanged;
}
}

View file

@ -60,7 +60,6 @@
</table>
</div>
<div class="card-body">
<div class="row">
<div class="form-group row mb-1">
<label for="supervisedBy" class="col-form-label col-md-2">Supervisor</label>
<div class="col-md-4">
@ -68,8 +67,6 @@
<ValidationMessage For="@(() => _reportDto.SupervisedBy)"></ValidationMessage>
</div>
</div>
</div>
<div class="row">
<div class="form-group row mb-1">
<label for="description" class="col-form-label col-md-2">Beskrivelse</label>
<div class="col-md-4">
@ -78,7 +75,6 @@
</div>
</div>
</div>
</div>
<div class="card-body">
<table class="table">
<thead>
@ -124,7 +120,7 @@
{
<div class="card">
<div class="card-header">
@activity.ReportVisitDto.Name @activity.ReportVisitDto.ZipCity
@activity.Company.Name - @activity.Company.ZipCity
</div>
<div class="card-body">
<div class="row">