wip
This commit is contained in:
parent
8cc2f1ee2e
commit
c61f330e50
5 changed files with 82 additions and 14 deletions
|
@ -17,7 +17,7 @@
|
|||
<span class="version">@Name</span> <span class="version">@Version</span>@if(IsBeta){<span class="version">-beta</span>}
|
||||
@code
|
||||
{
|
||||
private const string Version = "0.2.42";
|
||||
private const string Version = "0.2.43";
|
||||
private const string Name = "wwo";
|
||||
private const bool IsBeta = true;
|
||||
}
|
||||
|
|
|
@ -85,6 +85,7 @@ public partial class CrmActivityCreate : IDisposable
|
|||
|
||||
DraftContext = new EditContext(_poDraft);
|
||||
DraftContext.OnFieldChanged += HandleFieldChanged;
|
||||
DraftContext.OnValidationStateChanged += ValidationChanged;
|
||||
|
||||
// set up identification
|
||||
_poDraft.SalesHeadId = "";
|
||||
|
|
|
@ -20,9 +20,9 @@
|
|||
@page "/sales-report"
|
||||
<h3>Dagsrapport</h3>
|
||||
<EditForm EditContext="_editContext">
|
||||
|
||||
<hr/>
|
||||
<div class="row mb-1">
|
||||
<label for="dayType" class="col-md-2 col-form-label">Dag</label>
|
||||
<label for="dayType" class="col-md-1 col-form-label">Dag</label>
|
||||
<div class="col-md-4">
|
||||
<select id="dayType" class="form-select" @bind-Value="_reportDto.DayTypeEnum" @bind-Value:event="oninput" @onchange="CheckDayType">
|
||||
<option value="" selected>"IKKE VALGT"</option>
|
||||
|
@ -36,17 +36,45 @@
|
|||
</select>
|
||||
<ValidationMessage For="@(() => _reportDto.DayTypeEnum)"></ValidationMessage>
|
||||
</div>
|
||||
<label for="reportDate" class="col-md-2 col-form-label">Dato</label>
|
||||
<label for="reportDate" class="col-md-1 col-form-label">Dato</label>
|
||||
<div class="col-md-4">
|
||||
<InputDate id="reportDate" class="form-control" @bind-Value="@(_reportDate)"/>
|
||||
<button class="btn btn-info" @onclick="GetActivities">Hent aktiviteter</button>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<button type="button" class="btn btn-info" @onclick="GetActivities">Hent</button>
|
||||
</div>
|
||||
</div>
|
||||
<hr/>
|
||||
<h5>Km regnskab</h5>
|
||||
<div class="row mb-1">
|
||||
<label for="kmMorning" class="col-md-1 col-form-label">Morgen</label>
|
||||
<div class="col-md-2">
|
||||
<InputNumber id="kmMorning" class="form-control" @bind-Value="_reportDto.KmMorning"/>
|
||||
<ValidationMessage For="@(() => _reportDto.KmMorning)"></ValidationMessage>
|
||||
</div>
|
||||
<label for="kmEvening" class="col-md-1 col-form-label">Aften</label>
|
||||
<div class="col-md-2">
|
||||
<InputNumber id="kmEvening" class="form-control" @bind-Value="_reportDto.KmEvening"/>
|
||||
<ValidationMessage For="@(() => _reportDto.KmEvening)"></ValidationMessage>
|
||||
</div>
|
||||
<label for="distance" class="col-md-1 col-form-label">Afstand</label>
|
||||
<div class="col-md-2">
|
||||
<InputNumber id="distance" class="form-control" @bind-Value="_reportDto.Distance"/>
|
||||
<ValidationMessage For="@(() => _reportDto.Distance)"></ValidationMessage>
|
||||
</div>
|
||||
<label for="kmPrivate" class="col-md-1 col-form-label">Privat</label>
|
||||
<div class="col-md-2">
|
||||
<InputNumber id="kmPrivate" class="form-control" @bind-Value="_reportDto.DistancePrivate"/>
|
||||
<ValidationMessage For="@(() => _reportDto.DistancePrivate)"></ValidationMessage>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</EditForm>
|
||||
<hr/>
|
||||
<h5>Besøg</h5>
|
||||
@if (Activities != null)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="card-list">
|
||||
@foreach (var activity in Activities)
|
||||
{
|
||||
<div class="card">
|
||||
|
|
|
@ -32,20 +32,57 @@ public partial class SalesReport
|
|||
private DateTime _reportDate;
|
||||
private EditContext _editContext { get; set; }
|
||||
private SalesReportDto _reportDto = new();
|
||||
private Preferences _prefs { get; set; } = new();
|
||||
private bool _formInvalid = true;
|
||||
private List<ReportActivity>? Activities { get; set; } = new();
|
||||
|
||||
protected override void OnInitialized()
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
_reportDate = DateTime.Now;
|
||||
Interceptor.RegisterEvent();
|
||||
Interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
_editContext = new EditContext(_reportDate);
|
||||
_editContext.OnFieldChanged += HandleFieldChanged;
|
||||
_editContext.OnValidationStateChanged += ValidationChanged;
|
||||
|
||||
_prefs = await UserPrefs.GetPreferences();
|
||||
_reportDate = string.IsNullOrWhiteSpace(_prefs.WorkDate)
|
||||
? DateTime.Now
|
||||
: DateTime.Parse(_prefs.WorkDate);
|
||||
await UserPrefs.SetWorkDate(_reportDate).ConfigureAwait(true);
|
||||
}
|
||||
|
||||
private void HandleFieldChanged(object sender, FieldChangedEventArgs e)
|
||||
{
|
||||
_formInvalid = !_editContext.Validate();
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
private void ValidationChanged(object sender, ValidationStateChangedEventArgs e)
|
||||
{
|
||||
_formInvalid = false;
|
||||
_editContext.OnFieldChanged -= HandleFieldChanged;
|
||||
_editContext = new EditContext(_reportDto);
|
||||
_editContext.OnFieldChanged += HandleFieldChanged;
|
||||
_editContext.OnValidationStateChanged += ValidationChanged;
|
||||
}
|
||||
private void CheckDayType()
|
||||
{
|
||||
|
||||
}
|
||||
private async Task GetActivities()
|
||||
{
|
||||
Activities = await ActivityRepo.GetActivities($"{_reportDate:yyyy-MM-dd}").ConfigureAwait(true);
|
||||
Activities = null;
|
||||
await UserPrefs.SetWorkDate(_reportDate).ConfigureAwait(true);
|
||||
Activities = await ActivityRepo
|
||||
.GetActivities($"{_reportDate:yyyy-MM-dd}")
|
||||
.ConfigureAwait(true);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Interceptor.DisposeEvent();
|
||||
_editContext.OnFieldChanged -= HandleFieldChanged;
|
||||
_editContext.OnValidationStateChanged -= ValidationChanged;
|
||||
}
|
||||
}
|
|
@ -1,13 +1,15 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Wonky.Entity.DTO;
|
||||
|
||||
public class SalesReportDto
|
||||
{
|
||||
public string ActivityDate { get; set; } = "";
|
||||
public string DayTypeEnum { get; set; } = "";
|
||||
public string Comment { get; set; } = "";
|
||||
[Required(ErrorMessage = "Dato skal angives")] public string ActivityDate { get; set; } = "";
|
||||
[Required(ErrorMessage = "Dagtype skal angives")]public string DayTypeEnum { get; set; } = "";
|
||||
[MaxLength(128, ErrorMessage = "Du kan højst bruge 128 tegn")]public string Comment { get; set; } = "";
|
||||
//
|
||||
public long KmStart { get; set; }
|
||||
public long KmFinished { get; set; }
|
||||
public long KmMorning { get; set; }
|
||||
public long KmEvening { get; set; }
|
||||
public int Distance { get; set; }
|
||||
public int DistancePrivate { get; set; }
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue