From 6685aad32d1fb57d8e9fb74b687b20eaa2568461 Mon Sep 17 00:00:00 2001 From: Frede Hundewadt <22748698+fhdk@users.noreply.github.com> Date: Wed, 29 Jun 2022 13:25:45 +0200 Subject: [PATCH] wip --- .../Components/ActivityTableComponent.razor | 2 + .../ActivityTableComponent.razor.cs | 2 +- .../HttpInterceptorService.cs | 62 +------------------ .../HttpRepository/ActivityHttpRepository.cs | 6 +- .../HttpRepository/IActivityHttpRepository.cs | 2 +- Wonky.Client/Pages/ActivityToday.razor | 2 +- Wonky.Client/Pages/ActivityToday.razor.cs | 6 +- Wonky.Client/Pages/ActivityVisitNew.razor | 2 +- Wonky.Client/Pages/Login.razor.cs | 2 +- Wonky.Client/Pages/Page500.razor | 8 --- Wonky.Client/Pages/SalesReportNew.razor | 4 +- Wonky.Client/Pages/SalesReportNew.razor.cs | 31 +++++++--- Wonky.Client/Shared/NavMenu.razor | 2 +- Wonky.Client/wwwroot/appsettings.json | 2 +- Wonky.Client/wwwroot/index.html | 5 +- .../Views/NgActivityListReportView.cs | 7 +++ Wonky.Entity/Views/NgActivityListView.cs | 7 --- ...ctivityView.cs => NgActivityReportView.cs} | 3 +- Wonky.Entity/Views/NgSalesReportView.cs | 2 +- 19 files changed, 53 insertions(+), 104 deletions(-) create mode 100644 Wonky.Entity/Views/NgActivityListReportView.cs delete mode 100644 Wonky.Entity/Views/NgActivityListView.cs rename Wonky.Entity/Views/{NgReportActivityView.cs => NgActivityReportView.cs} (87%) diff --git a/Wonky.Client/Components/ActivityTableComponent.razor b/Wonky.Client/Components/ActivityTableComponent.razor index 05be2332..7224d1a4 100644 --- a/Wonky.Client/Components/ActivityTableComponent.razor +++ b/Wonky.Client/Components/ActivityTableComponent.razor @@ -23,6 +23,7 @@ Besøg Demo Salg + Notat Beløb @@ -34,6 +35,7 @@ @activity.Company.Name, @activity.Company.ZipCity @activity.Demo @activity.SalesResume + @activity.OfficeNote @(activity.StatusTypeEnum == "Quote" ? "Tilbud" : "Salg") @(activity.Closed ? @activity.OrderAmount : 0) diff --git a/Wonky.Client/Components/ActivityTableComponent.razor.cs b/Wonky.Client/Components/ActivityTableComponent.razor.cs index 07f51127..fbc5262f 100644 --- a/Wonky.Client/Components/ActivityTableComponent.razor.cs +++ b/Wonky.Client/Components/ActivityTableComponent.razor.cs @@ -5,5 +5,5 @@ namespace Wonky.Client.Components; public partial class ActivityTableComponent { - [Parameter] public List Activities { get; set; } + [Parameter] public List Activities { get; set; } } \ No newline at end of file diff --git a/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs b/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs index 8f36d43c..1b7f5e3e 100644 --- a/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs +++ b/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs @@ -83,7 +83,7 @@ namespace Wonky.Client.HttpInterceptors if (e.Response == null || e.Response.IsSuccessStatusCode) return; - string message; + string message = "An error happened"; var currDoc = _navigation.ToBaseRelativePath(_navigation.Uri); if (currDoc.Contains("login")) currDoc = "/"; @@ -91,7 +91,6 @@ namespace Wonky.Client.HttpInterceptors switch (e.Response.StatusCode) { case HttpStatusCode.NotFound: - //_navigation.NavigateTo("/404"); message = "Der var ingen data ..."; _toast.ShowInfo(message); break; @@ -102,66 +101,7 @@ namespace Wonky.Client.HttpInterceptors message = "Login info skal fornyes ..."; _toast.ShowInfo(message); break; - case HttpStatusCode.Continue: - case HttpStatusCode.SwitchingProtocols: - case HttpStatusCode.Processing: - case HttpStatusCode.EarlyHints: - case HttpStatusCode.OK: - case HttpStatusCode.Created: - case HttpStatusCode.Accepted: - case HttpStatusCode.NonAuthoritativeInformation: - case HttpStatusCode.NoContent: - case HttpStatusCode.ResetContent: - case HttpStatusCode.PartialContent: - case HttpStatusCode.MultiStatus: - case HttpStatusCode.AlreadyReported: - case HttpStatusCode.IMUsed: - case HttpStatusCode.Ambiguous: - case HttpStatusCode.Moved: - case HttpStatusCode.Found: - case HttpStatusCode.RedirectMethod: - case HttpStatusCode.NotModified: - case HttpStatusCode.UseProxy: - case HttpStatusCode.Unused: - case HttpStatusCode.RedirectKeepVerb: - case HttpStatusCode.PermanentRedirect: - case HttpStatusCode.PaymentRequired: - case HttpStatusCode.Forbidden: - case HttpStatusCode.MethodNotAllowed: - case HttpStatusCode.NotAcceptable: - case HttpStatusCode.ProxyAuthenticationRequired: - case HttpStatusCode.RequestTimeout: - case HttpStatusCode.Conflict: - case HttpStatusCode.Gone: - case HttpStatusCode.LengthRequired: - case HttpStatusCode.PreconditionFailed: - case HttpStatusCode.RequestEntityTooLarge: - case HttpStatusCode.RequestUriTooLong: - case HttpStatusCode.UnsupportedMediaType: - case HttpStatusCode.RequestedRangeNotSatisfiable: - case HttpStatusCode.ExpectationFailed: - case HttpStatusCode.MisdirectedRequest: - case HttpStatusCode.UnprocessableEntity: - case HttpStatusCode.Locked: - case HttpStatusCode.FailedDependency: - case HttpStatusCode.UpgradeRequired: - case HttpStatusCode.PreconditionRequired: - case HttpStatusCode.TooManyRequests: - case HttpStatusCode.RequestHeaderFieldsTooLarge: - case HttpStatusCode.UnavailableForLegalReasons: case HttpStatusCode.InternalServerError: - case HttpStatusCode.NotImplemented: - case HttpStatusCode.BadGateway: - case HttpStatusCode.ServiceUnavailable: - case HttpStatusCode.GatewayTimeout: - case HttpStatusCode.HttpVersionNotSupported: - case HttpStatusCode.VariantAlsoNegotiates: - case HttpStatusCode.InsufficientStorage: - case HttpStatusCode.LoopDetected: - case HttpStatusCode.NotExtended: - case HttpStatusCode.NetworkAuthenticationRequired: - default: _navigation.NavigateTo("/500"); - message = "500 - Intern server fejl"; break; } throw new HttpResponseException(message); diff --git a/Wonky.Client/HttpRepository/ActivityHttpRepository.cs b/Wonky.Client/HttpRepository/ActivityHttpRepository.cs index 2a727ca9..07f80b58 100644 --- a/Wonky.Client/HttpRepository/ActivityHttpRepository.cs +++ b/Wonky.Client/HttpRepository/ActivityHttpRepository.cs @@ -54,14 +54,14 @@ public class ActivityHttpRepository : IActivityHttpRepository _apiConfig = configuration.Value; } - public async Task GetActivities(string activityDate) + public async Task GetActivities(string activityDate) { var response = await _client .GetAsync($"{_apiConfig.ActivityUri}/date/{activityDate}"); var content = await response.Content.ReadAsStringAsync(); return string.IsNullOrWhiteSpace(content) - ? new NgActivityListView() - : JsonSerializer.Deserialize(content, _options); + ? new NgActivityListReportView() + : JsonSerializer.Deserialize(content, _options); } public async Task> GetActivityPaged(ActivityPagingParams pagingParameters) { diff --git a/Wonky.Client/HttpRepository/IActivityHttpRepository.cs b/Wonky.Client/HttpRepository/IActivityHttpRepository.cs index ccb9be6b..ed5a744b 100644 --- a/Wonky.Client/HttpRepository/IActivityHttpRepository.cs +++ b/Wonky.Client/HttpRepository/IActivityHttpRepository.cs @@ -28,5 +28,5 @@ public interface IActivityHttpRepository Task GetActivity(string id); Task CreateActivity(ActivityDto model); Task AcceptOffer(string id); - Task GetActivities(string activityDate); + Task GetActivities(string activityDate); } \ No newline at end of file diff --git a/Wonky.Client/Pages/ActivityToday.razor b/Wonky.Client/Pages/ActivityToday.razor index 4040bba7..de643b44 100644 --- a/Wonky.Client/Pages/ActivityToday.razor +++ b/Wonky.Client/Pages/ActivityToday.razor @@ -44,5 +44,5 @@
- +
diff --git a/Wonky.Client/Pages/ActivityToday.razor.cs b/Wonky.Client/Pages/ActivityToday.razor.cs index 015d91d9..56135c8c 100644 --- a/Wonky.Client/Pages/ActivityToday.razor.cs +++ b/Wonky.Client/Pages/ActivityToday.razor.cs @@ -17,7 +17,7 @@ public partial class ActivityToday [Inject] private IActivityHttpRepository _activityRepo { get; set; } [Inject] private IReportHttpRepository _reportRepo { get; set; } [Inject] private IToastService _toast { get; set; } - private NgActivityListView _view { get; set; } = new(); + private NgActivityListReportView ReportView { get; set; } = new(); private Preferences _prefs { get; set; } = new(); private string _workDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; private bool _reportExist = false; @@ -38,8 +38,8 @@ public partial class ActivityToday { _toast.ShowInfo("Vent nogle sekunder for data"); _workDate = workDate; - _view = new NgActivityListView(); - _view = await _activityRepo.GetActivities(workDate); + ReportView = new NgActivityListReportView(); + ReportView = await _activityRepo.GetActivities(workDate); } public void Dispose() diff --git a/Wonky.Client/Pages/ActivityVisitNew.razor b/Wonky.Client/Pages/ActivityVisitNew.razor index 7240d436..34960320 100644 --- a/Wonky.Client/Pages/ActivityVisitNew.razor +++ b/Wonky.Client/Pages/ActivityVisitNew.razor @@ -52,7 +52,7 @@
- @if (!string.IsNullOrEmpty(_draft.VatNumber)) + @if (!string.IsNullOrEmpty(_draft.VatNumber) && !string.IsNullOrEmpty(_draft.Account) && _draft.Account != "NY") { diff --git a/Wonky.Client/Pages/Login.razor.cs b/Wonky.Client/Pages/Login.razor.cs index 162447ed..ca2831f6 100644 --- a/Wonky.Client/Pages/Login.razor.cs +++ b/Wonky.Client/Pages/Login.razor.cs @@ -46,7 +46,7 @@ public partial class Login else { Logger.LogInformation($"returnUrl={ReturnUrl}"); - var returnUrl = string.IsNullOrWhiteSpace(ReturnUrl) ? "/companies" : ReturnUrl; + var returnUrl = string.IsNullOrWhiteSpace(ReturnUrl) ? "/" : ReturnUrl; NavigationManager.NavigateTo(returnUrl); } } diff --git a/Wonky.Client/Pages/Page500.razor b/Wonky.Client/Pages/Page500.razor index 9a30c1f3..17a568d0 100644 --- a/Wonky.Client/Pages/Page500.razor +++ b/Wonky.Client/Pages/Page500.razor @@ -25,12 +25,4 @@
- -
-
-
- Der er opstået en fejl - det hjælper ikke at prøve igen. -
-
-
diff --git a/Wonky.Client/Pages/SalesReportNew.razor b/Wonky.Client/Pages/SalesReportNew.razor index fe5b5d86..df56b8d3 100644 --- a/Wonky.Client/Pages/SalesReportNew.razor +++ b/Wonky.Client/Pages/SalesReportNew.razor @@ -78,11 +78,11 @@ { + @bind-Value="_checkIn" @bind-Value:event="oninput" @onchange="OnTimeChanged"/> + @bind-Value="_checkOut" @bind-Value:event="oninput" @onchange="OnTimeChanged"/> } diff --git a/Wonky.Client/Pages/SalesReportNew.razor.cs b/Wonky.Client/Pages/SalesReportNew.razor.cs index adb8b21b..c9d17e5e 100644 --- a/Wonky.Client/Pages/SalesReportNew.razor.cs +++ b/Wonky.Client/Pages/SalesReportNew.razor.cs @@ -46,13 +46,14 @@ public partial class SalesReportNew : IDisposable private bool _noFigures = true; private bool _working = false; private DateTime _workDate { get; set; } = DateTime.Now; - private TimeOnly _timestampIn { get; set; } = new(12, 0); - private TimeOnly _timestampOut { get; set; } = new(12, 0); + private TimeOnly _checkIn { get; set; } = new(12, 0); + private TimeOnly _checkOut { get; set; } = new(12, 0); private DateTime _leaveBegin { get; set; } = DateTime.Now; private DateTime _leaveEnd { get; set; } = DateTime.Now; protected override async Task OnInitializedAsync() { + _working = true; _interceptor.RegisterEvent(); _interceptor.RegisterBeforeSendEvent(); _editContext = new EditContext(_report); @@ -62,6 +63,9 @@ public partial class SalesReportNew : IDisposable _prefs = await _userPrefs.GetPreferences(); if (!string.IsNullOrWhiteSpace(_prefs.WorkDate)) _workDate = DateTime.Parse(_prefs.WorkDate); + + _working = false; + if(await _reportRepo.ReportExist(_prefs.WorkDate)) _navigator.NavigateTo($"/sales-reports/view/{_prefs.WorkDate}"); @@ -98,6 +102,8 @@ public partial class SalesReportNew : IDisposable return; } + _working = true; + DateTime checkIn; DateTime checkOut; if (_report.DayTypeEnum.ToLower().Contains("leave")) @@ -107,30 +113,35 @@ public partial class SalesReportNew : IDisposable } else { - checkIn = new DateTime(_workDate.Year, _workDate.Month, _workDate.Day, _timestampIn.Hour, _timestampIn.Minute, 0); - checkOut = new DateTime(_workDate.Year, _workDate.Month, _workDate.Day, _timestampOut.Hour, _timestampOut.Minute, 0); + checkIn = new DateTime(_workDate.Year, _workDate.Month, _workDate.Day, _checkIn.Hour, _checkIn.Minute, 0); + checkOut = new DateTime(_workDate.Year, _workDate.Month, _workDate.Day, _checkOut.Hour, _checkOut.Minute, 0); } _report.FromDateTime = $"{checkIn:yyyy-MM-dd hh:mm}"; _report.ToDateTime = $"{checkOut:yyyy-MM-dd hh:mm}"; + _report.Figures.Distance = _report.Figures.KmEvening - _report.Figures.KmMorning; _report.Figures.DistanceMonth += _report.Figures.Distance; _report.Figures.DistancePrivateMonth += _report.Figures.DistancePrivate; - - _working = true; + + _logger.LogDebug("_workDate => {workDate}", $"{_workDate:yyyyy-MM-dd}"); + _logger.LogDebug("_report => {report}", JsonSerializer.Serialize(_report)); var result = await _reportRepo.PostReport($"{_workDate:yyyy-MM-dd}", _report); + _toast.ShowInfo($"Rapport oprettet {_workDate}"); + _working = false; _navigator.NavigateTo("/home"); } private void OnTimeChanged() { - var x = new DateTime(_workDate.Year, _workDate.Month, _workDate.Day, _timestampIn.Hour, _timestampIn.Minute,0); - _report.FromDateTime = $"{x:yyyy-MM-dd hh:mm}"; - x = new DateTime(_workDate.Year, _workDate.Month, _workDate.Day, _timestampOut.Hour, _timestampOut.Minute,0); - _report.ToDateTime = $"{x:yyyy-MM-dd hh:mm}"; + var f = new DateTime(_workDate.Year, _workDate.Month, _workDate.Day, _checkIn.Hour, _checkIn.Minute,0); + _report.FromDateTime = $"{f:yyyy-MM-dd hh:mm}"; + + var t = new DateTime(_workDate.Year, _workDate.Month, _workDate.Day, _checkOut.Hour, _checkOut.Minute,0); + _report.ToDateTime = $"{t:yyyy-MM-dd hh:mm}"; } private void SetWorkDate(string workDate) diff --git a/Wonky.Client/Shared/NavMenu.razor b/Wonky.Client/Shared/NavMenu.razor index 1fe86461..7f43719f 100644 --- a/Wonky.Client/Shared/NavMenu.razor +++ b/Wonky.Client/Shared/NavMenu.razor @@ -43,7 +43,7 @@