diff --git a/Wonky.Client/Helpers/InputDateTime.cs b/Wonky.Client/Helpers/InputDateTime.cs
deleted file mode 100644
index c75a2b92..00000000
--- a/Wonky.Client/Helpers/InputDateTime.cs
+++ /dev/null
@@ -1,150 +0,0 @@
-
-// Copyright (C) 2022 FCS Frede's Computer Services.
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
-//
-
-using System.Globalization;
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Forms;
-using Microsoft.AspNetCore.Components.Rendering;
-
-namespace Wonky.Client.Helpers;
-
-///
-/// InputDateTime Component
-///
-///
-public class InputDateTime : InputDate
-{
- private const string DateFormat = "yyyy-MM-ddTHH:mm";
-
- ///
- /// BuildTender
- ///
- ///
- protected override void BuildRenderTree(RenderTreeBuilder builder)
- {
- builder.OpenElement(0, "input");
- builder.AddMultipleAttributes(1, AdditionalAttributes);
- builder.AddAttribute(2, "type", "datetime-local");
- builder.AddAttribute(3, "class", CssClass);
- builder.AddAttribute(4, "value", BindConverter.FormatValue(CurrentValueAsString));
- builder.AddAttribute(5, "onchange",
- EventCallback.Factory.CreateBinder(this, __value => CurrentValueAsString = __value,
- CurrentValueAsString));
- builder.CloseElement();
- }
-
- ///
- /// Format value as string
- ///
- ///
- ///
- protected override string FormatValueAsString(TValue value)
- {
- return value switch
- {
- DateTime dateTimeValue =>
- BindConverter.FormatValue(dateTimeValue, DateFormat, CultureInfo.InvariantCulture),
- DateTimeOffset dateTimeOffsetValue => BindConverter.FormatValue(dateTimeOffsetValue, DateFormat,
- CultureInfo.InvariantCulture),
- _ => string.Empty
- };
- }
-
- ///
- /// TryParseValueFromString
- ///
- ///
- ///
- ///
- ///
- ///
- protected override bool TryParseValueFromString(string value, out TValue result, out string validationErrorMessage)
- {
- // Unwrap nullable types. We don't have to deal with receiving empty values for nullable
- // types here, because the underlying InputBase already covers that.
- var targetType = Nullable.GetUnderlyingType(typeof(TValue)) ?? typeof(TValue);
-
- bool success;
- if (targetType == typeof(DateTime))
- {
- success = TryParseDateTime(value, out result);
- }
- else if (targetType == typeof(DateTimeOffset))
- {
- success = TryParseDateTimeOffset(value, out result);
- }
- else
- {
- throw new InvalidOperationException($"The type '{targetType}' is not a supported date type.");
- }
-
- if (success)
- {
- validationErrorMessage = null;
- return true;
- }
- else
- {
- validationErrorMessage = string.Format(ParsingErrorMessage, FieldIdentifier.FieldName);
- return false;
- }
- }
-
- ///
- /// TrypParseDateTime
- ///
- ///
- ///
- ///
- private static bool TryParseDateTime(string value, out TValue result)
- {
- var success =
- BindConverter.TryConvertToDateTime(value, CultureInfo.InvariantCulture, DateFormat, out var parsedValue);
- if (success)
- {
- result = (TValue)(object)parsedValue;
- return true;
- }
- else
- {
- result = default;
- return false;
- }
- }
-
- ///
- /// TryParseDateTimeOffset
- ///
- ///
- ///
- ///
- private static bool TryParseDateTimeOffset(string value, out TValue result)
- {
- var success =
- BindConverter.TryConvertToDateTimeOffset(value, CultureInfo.InvariantCulture, DateFormat,
- out var parsedValue);
- if (success)
- {
- result = (TValue)(object)parsedValue;
- return true;
- }
- else
- {
- result = default;
- return false;
- }
- }
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/AdvisorActivityViewPage.razor b/Wonky.Client/Pages/AdvisorActivityViewEditPage.razor
similarity index 100%
rename from Wonky.Client/Pages/AdvisorActivityViewPage.razor
rename to Wonky.Client/Pages/AdvisorActivityViewEditPage.razor
diff --git a/Wonky.Client/Pages/AdvisorActivityViewPage.razor.cs b/Wonky.Client/Pages/AdvisorActivityViewEditPage.razor.cs
similarity index 93%
rename from Wonky.Client/Pages/AdvisorActivityViewPage.razor.cs
rename to Wonky.Client/Pages/AdvisorActivityViewEditPage.razor.cs
index cb8aad8f..4c9a9bdd 100644
--- a/Wonky.Client/Pages/AdvisorActivityViewPage.razor.cs
+++ b/Wonky.Client/Pages/AdvisorActivityViewEditPage.razor.cs
@@ -26,13 +26,13 @@ using Wonky.Entity.Views;
namespace Wonky.Client.Pages;
-public partial class AdvisorActivityViewPage : IDisposable
+public partial class AdvisorActivityViewEditPage : IDisposable
{
[Parameter] public string CompanyId { get; set; } = "";
[Parameter] public string OrderId { get; set; } = "";
[Inject] public HttpInterceptorService Interceptor { get; set; }
[Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; }
- [Inject] public ILogger Logger { get; set; }
+ [Inject] public ILogger Logger { get; set; }
[Inject] public IToastService Toaster { get; set; }
[Inject] public NavigationManager Navigator { get; set; }
private ReportItemView ReportItem { get; set; } = new();
@@ -55,7 +55,7 @@ public partial class AdvisorActivityViewPage : IDisposable
Working = false;
}
- private void HandleFieldChanged(object sender, FieldChangedEventArgs e)
+ private void HandleFieldChanged(object? sender, FieldChangedEventArgs? e)
{
StateHasChanged();
}
diff --git a/Wonky.Client/Pages/AdvisorCustomerViewPage.razor b/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor
similarity index 100%
rename from Wonky.Client/Pages/AdvisorCustomerViewPage.razor
rename to Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor
diff --git a/Wonky.Client/Pages/AdvisorCustomerViewPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor.cs
similarity index 98%
rename from Wonky.Client/Pages/AdvisorCustomerViewPage.razor.cs
rename to Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor.cs
index 86f9a215..4b141086 100644
--- a/Wonky.Client/Pages/AdvisorCustomerViewPage.razor.cs
+++ b/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor.cs
@@ -33,11 +33,11 @@ using Wonky.Entity.Views;
namespace Wonky.Client.Pages;
-public partial class AdvisorCustomerViewPage : IDisposable
+public partial class AdvisorCustomerViewEditPage : IDisposable
{
[Parameter] public string CompanyId { get; set; } = "";
[Inject] public IToastService Toaster { get; set; }
- [Inject] public ILogger Logger { get; set; }
+ [Inject] public ILogger Logger { get; set; }
[Inject] public NavigationManager Navigator { get; set; }
[Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; }
[Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; }
@@ -380,7 +380,7 @@ public partial class AdvisorCustomerViewPage : IDisposable
///
///
///
- private void HandleFieldChanged(object sender, FieldChangedEventArgs e)
+ private void HandleFieldChanged(object? sender, FieldChangedEventArgs? e)
{
NextVisit = LastVisit.AddDays(Company.Interval * 7);
// avoid nesting if by assuming ValidVat is false
@@ -402,7 +402,7 @@ public partial class AdvisorCustomerViewPage : IDisposable
private void ValidationChanged(object sender, ValidationStateChangedEventArgs e)
{
ErpContext.OnFieldChanged -= HandleFieldChanged;
- ErpContext.OnValidationStateChanged -= ValidationChanged;
+ ErpContext.OnValidationStateChanged -= ValidationChanged!;
ErpContext = new EditContext(Company);
@@ -417,6 +417,6 @@ public partial class AdvisorCustomerViewPage : IDisposable
{
Interceptor.DisposeEvent();
ErpContext.OnFieldChanged -= HandleFieldChanged;
- ErpContext.OnValidationStateChanged -= ValidationChanged;
+ ErpContext.OnValidationStateChanged -= ValidationChanged!;
}
}
\ No newline at end of file