From 6724c2b6b7e8f3b51de39395654a741cb19e2c90 Mon Sep 17 00:00:00 2001 From: Frede Hundewadt <22748698+fhdk@users.noreply.github.com> Date: Mon, 18 Apr 2022 11:02:03 +0200 Subject: [PATCH] wip --- Wonky.Client/Components/CompanyTable.razor.cs | 2 +- Wonky.Client/Components/ItemTable.razor.cs | 2 +- .../HttpRepository/CompanyHttpRepository.cs | 28 ++++----- .../HttpRepository/ICompanyHttpRepository.cs | 10 +-- .../ISalesItemHttpRepository.cs | 4 +- .../HttpRepository/SalesItemHttpRepository.cs | 12 ++-- Wonky.Client/Models/Draft.cs | 19 ++---- Wonky.Client/Models/Quote.cs | 28 --------- Wonky.Client/Models/QuoteItem.cs | 24 ------- Wonky.Client/Pages/CompanyCreate.razor | 28 ++++----- Wonky.Client/Pages/CompanyCreate.razor.cs | 30 ++++----- Wonky.Client/Pages/CompanyList.razor.cs | 14 ++--- Wonky.Client/Pages/CompanyUpdate.razor | 36 +++++------ Wonky.Client/Pages/CompanyUpdate.razor.cs | 42 ++++++------- Wonky.Client/Pages/CompanyView.razor | 30 ++++----- Wonky.Client/Pages/CompanyView.razor.cs | 8 +-- Wonky.Client/Pages/CrmActivityCreate.razor | 12 ++-- Wonky.Client/Pages/CrmActivityCreate.razor.cs | 63 ++++++++++--------- Wonky.Client/Pages/Login.razor | 10 +-- Wonky.Client/Pages/Login.razor.cs | 4 +- Wonky.Client/Pages/SalesItemCatalog.razor.cs | 14 ++--- Wonky.Client/Pages/SalesItemView.razor.cs | 2 +- Wonky.Client/Providers/AuthStateProvider.cs | 16 ++--- .../Services/AuthenticationService.cs | 28 ++++----- .../Services/IAuthenticationService.cs | 6 +- .../{ResponseDto.cs => ApiResponseView.cs} | 2 +- ...AuthResponseDto.cs => AuthResponseView.cs} | 11 +--- ...sponse.cs => CreateCompanyResponseView.cs} | 2 +- Wonky.Entity/DTO/CrmActivityHeadDto.cs | 31 --------- Wonky.Entity/DTO/CrmActivityLineDto.cs | 29 --------- .../DTO/{CompanyDto.cs => DtoNgCrmCompany.cs} | 2 +- .../DTO/DtoNgSalesHead.cs | 12 ++-- .../DTO/DtoNgSalesLine.cs | 5 +- ...ateCompanyDto.cs => DtoNgUpdateCompany.cs} | 2 +- ...trationDto.cs => DtoNgUserRegistration.cs} | 11 +--- ...icationDto.cs => DtoUserAuthentication.cs} | 9 +-- Wonky.Entity/DTO/KrvProductDto.cs | 12 ++-- Wonky.Entity/DTO/KrvVariantDto.cs | 22 +++---- .../{SalesItemDto.cs => NgSalesItemView.cs} | 4 +- .../{SalesRateDto.cs => NgSalesRateView.cs} | 2 +- ...RefreshTokenDto.cs => RefreshTokenView.cs} | 2 +- ...ploadResponse.cs => UploadResponseView.cs} | 2 +- .../DTO/{UserInfo.cs => UserInfoView.cs} | 2 +- 43 files changed, 244 insertions(+), 390 deletions(-) delete mode 100644 Wonky.Client/Models/Quote.cs delete mode 100644 Wonky.Client/Models/QuoteItem.cs rename Wonky.Entity/DTO/{ResponseDto.cs => ApiResponseView.cs} (96%) rename Wonky.Entity/DTO/{AuthResponseDto.cs => AuthResponseView.cs} (83%) rename Wonky.Entity/DTO/{CreateCompanyResponse.cs => CreateCompanyResponseView.cs} (95%) delete mode 100644 Wonky.Entity/DTO/CrmActivityHeadDto.cs delete mode 100644 Wonky.Entity/DTO/CrmActivityLineDto.cs rename Wonky.Entity/DTO/{CompanyDto.cs => DtoNgCrmCompany.cs} (98%) rename Wonky.Client/Models/ActivityHead.cs => Wonky.Entity/DTO/DtoNgSalesHead.cs (92%) rename Wonky.Client/Models/ActivityLine.cs => Wonky.Entity/DTO/DtoNgSalesLine.cs (92%) rename Wonky.Entity/DTO/{UpdateCompanyDto.cs => DtoNgUpdateCompany.cs} (97%) rename Wonky.Entity/DTO/{UserRegistrationDto.cs => DtoNgUserRegistration.cs} (85%) rename Wonky.Entity/DTO/{UserAuthenticationDto.cs => DtoUserAuthentication.cs} (78%) rename Wonky.Entity/DTO/{SalesItemDto.cs => NgSalesItemView.cs} (92%) rename Wonky.Entity/DTO/{SalesRateDto.cs => NgSalesRateView.cs} (96%) rename Wonky.Entity/DTO/{RefreshTokenDto.cs => RefreshTokenView.cs} (96%) rename Wonky.Entity/DTO/{UploadResponse.cs => UploadResponseView.cs} (96%) rename Wonky.Entity/DTO/{UserInfo.cs => UserInfoView.cs} (98%) diff --git a/Wonky.Client/Components/CompanyTable.razor.cs b/Wonky.Client/Components/CompanyTable.razor.cs index d3e416be..4a7b5198 100644 --- a/Wonky.Client/Components/CompanyTable.razor.cs +++ b/Wonky.Client/Components/CompanyTable.razor.cs @@ -22,7 +22,7 @@ namespace Wonky.Client.Components { public partial class CompanyTable { - [Parameter] public List Companies { get; set; } = new(); + [Parameter] public List Companies { get; set; } = new(); [Parameter] public EventCallback OnDelete { get; set; } [Parameter] public EventCallback OnSelect { get; set; } [Inject] public NavigationManager NavManager { get; set; } diff --git a/Wonky.Client/Components/ItemTable.razor.cs b/Wonky.Client/Components/ItemTable.razor.cs index 202e8ef6..cb416073 100644 --- a/Wonky.Client/Components/ItemTable.razor.cs +++ b/Wonky.Client/Components/ItemTable.razor.cs @@ -22,7 +22,7 @@ namespace Wonky.Client.Components; public partial class ItemTable { - [Parameter] public List SalesItems { get; set; } = new(); + [Parameter] public List SalesItems { get; set; } = new(); [Inject] private IToastService ToastService { get; set; } private void AddToDraft() { diff --git a/Wonky.Client/HttpRepository/CompanyHttpRepository.cs b/Wonky.Client/HttpRepository/CompanyHttpRepository.cs index 1139b4a7..838b1a33 100644 --- a/Wonky.Client/HttpRepository/CompanyHttpRepository.cs +++ b/Wonky.Client/HttpRepository/CompanyHttpRepository.cs @@ -54,7 +54,7 @@ public class CompanyHttpRepository : ICompanyHttpRepository _apiConfig = apiConfig.Value; } - public async Task> GetCompaniesPaged(CompanyPagingParams pagingParameters) + public async Task> GetCompaniesPaged(CompanyPagingParams pagingParameters) { var queryString = new Dictionary { @@ -70,37 +70,37 @@ public class CompanyHttpRepository : ICompanyHttpRepository var content = await response.Content.ReadAsStringAsync(); - var pagingResponse = new PagingResponse + var pagingResponse = new PagingResponse { - Items = JsonSerializer.Deserialize>(content, _options), + Items = JsonSerializer.Deserialize>(content, _options), MetaData = JsonSerializer.Deserialize(response.Headers.GetValues("X-Pagination").First(), _options) }; return pagingResponse; } - public async Task GetCompanyByAccount(string accountNumber) + public async Task GetCompanyByAccount(string accountNumber) { - var company = await _client.GetFromJsonAsync($"{_apiConfig.CrmCompanies}/account/{accountNumber}"); - return company ?? new CompanyDto(); + var company = await _client.GetFromJsonAsync($"{_apiConfig.CrmCompanies}/account/{accountNumber}"); + return company ?? new DtoNgCrmCompany(); } - public async Task GetCompanyById(string companyId) + public async Task GetCompanyById(string companyId) { - var company = await _client.GetFromJsonAsync($"{_apiConfig.CrmCompanies}/{companyId}"); - return company ?? new CompanyDto(); + var company = await _client.GetFromJsonAsync($"{_apiConfig.CrmCompanies}/{companyId}"); + return company ?? new DtoNgCrmCompany(); } - public async Task CreateCompany(CompanyDto companyDto) + public async Task CreateCompany(DtoNgCrmCompany dtoNgCrmCompany) { - var response = await _client.PostAsJsonAsync($"{_apiConfig.CrmCompanies}", companyDto); + var response = await _client.PostAsJsonAsync($"{_apiConfig.CrmCompanies}", dtoNgCrmCompany); var content = await response.Content.ReadAsStringAsync(); - var result = JsonSerializer.Deserialize(content); + var result = JsonSerializer.Deserialize(content); return result.CompanyId; } - public async Task UpdateCompany(CompanyDto companyDto) + public async Task UpdateCompany(DtoNgCrmCompany dtoNgCrmCompany) { - await _client.PutAsJsonAsync($"{_apiConfig.CrmCompanies}/{companyDto.CompanyId}", companyDto); + await _client.PutAsJsonAsync($"{_apiConfig.CrmCompanies}/{dtoNgCrmCompany.CompanyId}", dtoNgCrmCompany); } public async Task DeleteCompany(string companyId) diff --git a/Wonky.Client/HttpRepository/ICompanyHttpRepository.cs b/Wonky.Client/HttpRepository/ICompanyHttpRepository.cs index ba9cf4b3..e931ced2 100644 --- a/Wonky.Client/HttpRepository/ICompanyHttpRepository.cs +++ b/Wonky.Client/HttpRepository/ICompanyHttpRepository.cs @@ -22,10 +22,10 @@ namespace Wonky.Client.HttpRepository; public interface ICompanyHttpRepository { - Task> GetCompaniesPaged(CompanyPagingParams pagingParameters); - Task GetCompanyByAccount(string accountNumber); - Task GetCompanyById(string companyId); - Task CreateCompany(CompanyDto companyDto); - Task UpdateCompany(CompanyDto companyDto); + Task> GetCompaniesPaged(CompanyPagingParams pagingParameters); + Task GetCompanyByAccount(string accountNumber); + Task GetCompanyById(string companyId); + Task CreateCompany(DtoNgCrmCompany dtoNgCrmCompany); + Task UpdateCompany(DtoNgCrmCompany dtoNgCrmCompany); Task DeleteCompany(string companyId); } \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/ISalesItemHttpRepository.cs b/Wonky.Client/HttpRepository/ISalesItemHttpRepository.cs index 10877ef4..313d2cec 100644 --- a/Wonky.Client/HttpRepository/ISalesItemHttpRepository.cs +++ b/Wonky.Client/HttpRepository/ISalesItemHttpRepository.cs @@ -22,6 +22,6 @@ namespace Wonky.Client.HttpRepository; public interface ISalesItemHttpRepository { - Task> GetSalesItemsPaged(CatalogPagingParams pagingParameters); - Task GetSalesItem(string id); + Task> GetSalesItemsPaged(CatalogPagingParams pagingParameters); + Task GetSalesItem(string id); } \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/SalesItemHttpRepository.cs b/Wonky.Client/HttpRepository/SalesItemHttpRepository.cs index ae5262e6..48b6e1e1 100644 --- a/Wonky.Client/HttpRepository/SalesItemHttpRepository.cs +++ b/Wonky.Client/HttpRepository/SalesItemHttpRepository.cs @@ -51,7 +51,7 @@ public class SalesItemHttpRepository : ISalesItemHttpRepository _apiConfig = configuration.Value; } - public async Task> GetSalesItemsPaged(CatalogPagingParams pagingParameters) + public async Task> GetSalesItemsPaged(CatalogPagingParams pagingParameters) { var queryString = new Dictionary { @@ -67,19 +67,19 @@ public class SalesItemHttpRepository : ISalesItemHttpRepository var content = await response.Content.ReadAsStringAsync(); - var pagingResponse = new PagingResponse + var pagingResponse = new PagingResponse { - Items = JsonSerializer.Deserialize>(content, _options), + Items = JsonSerializer.Deserialize>(content, _options), MetaData = JsonSerializer.Deserialize( response.Headers.GetValues("X-Pagination").First(), _options) }; return pagingResponse; } - public async Task GetSalesItem(string id) + public async Task GetSalesItem(string id) { var salesItem = await _client - .GetFromJsonAsync($"{_apiConfig.PriceCatalog}/{id}"); - return salesItem ?? new SalesItemDto(); + .GetFromJsonAsync($"{_apiConfig.PriceCatalog}/{id}"); + return salesItem ?? new NgSalesItemView(); } } \ No newline at end of file diff --git a/Wonky.Client/Models/Draft.cs b/Wonky.Client/Models/Draft.cs index c23ba095..ff77cb38 100644 --- a/Wonky.Client/Models/Draft.cs +++ b/Wonky.Client/Models/Draft.cs @@ -5,31 +5,20 @@ namespace Wonky.Client.Models; public class DraftItem { public int Quantity { get; set; } - public SalesItemDto Item { get; set; } + public NgSalesItemView Item { get; set; } public decimal Price { get; set; } public decimal Discount { get; set; } - - public decimal Total - { - get - { - var price = (from x in Item.Rates where x.Quantity == Quantity.ToString() select x.Rate).First(); - if (string.IsNullOrWhiteSpace(price)) - price = Item.Rates[0].Rate; - Price = Convert.ToDecimal(price); - return (Price - Price * Discount / 100) * Quantity; - } - } + public decimal LineTotal => (Price - Price * Discount / 100) * Quantity; } public class Draft { - public List Items { get; set; } = new List(); + public List Items { get; set; } = new (); public decimal Total { get { - return Items.Sum(item => item.Total); + return Items.Sum(item => item.LineTotal); } } public DateTime LastAccessed { get; set; } diff --git a/Wonky.Client/Models/Quote.cs b/Wonky.Client/Models/Quote.cs deleted file mode 100644 index ff1a0d32..00000000 --- a/Wonky.Client/Models/Quote.cs +++ /dev/null @@ -1,28 +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 Affero GNU 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 -// Affero GNU General Public License for more details. -// -// You should have received a copy of the Affero GNU General Public License -// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] -// - -using System.Collections.Generic; - -namespace Wonky.Client.Models -{ - public class Quote - { - public int QuoteId { get; set; } - public string CompanyId { get; set; } = ""; - public string Name { get; set; } = ""; - public string EMail { get; set; } = ""; - public List Items { get; set; } = new(); - } -} diff --git a/Wonky.Client/Models/QuoteItem.cs b/Wonky.Client/Models/QuoteItem.cs deleted file mode 100644 index f2c34ccf..00000000 --- a/Wonky.Client/Models/QuoteItem.cs +++ /dev/null @@ -1,24 +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 Affero GNU 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 -// Affero GNU General Public License for more details. -// -// You should have received a copy of the Affero GNU General Public License -// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] -// - -namespace Wonky.Client.Models; - -public class QuoteItem -{ - public string Sku { get; set; } = ""; - public string Text { get; set; } = ""; - public int Qty { get; set; } - public decimal Price { get; set; } -} \ No newline at end of file diff --git a/Wonky.Client/Pages/CompanyCreate.razor b/Wonky.Client/Pages/CompanyCreate.razor index 3a8c7e21..d96c7d68 100644 --- a/Wonky.Client/Pages/CompanyCreate.razor +++ b/Wonky.Client/Pages/CompanyCreate.razor @@ -57,7 +57,7 @@
- + @@ -67,73 +67,73 @@ diff --git a/Wonky.Client/Pages/CompanyCreate.razor.cs b/Wonky.Client/Pages/CompanyCreate.razor.cs index 3cf67bd7..a2ffd2f2 100644 --- a/Wonky.Client/Pages/CompanyCreate.razor.cs +++ b/Wonky.Client/Pages/CompanyCreate.razor.cs @@ -43,7 +43,7 @@ namespace Wonky.Client.Pages [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public VatInfoLookupService VatInfoLookupService { get; set; } private List VInfos { get; set; } = new(); - private CompanyDto _companyDto = new(); + private DtoNgCrmCompany _dtoNgCrmCompany = new(); private VirkRegInfo _virkRegInfo = new(); private EditContext _createCompany; private bool _formInvalid = true; @@ -51,12 +51,12 @@ namespace Wonky.Client.Pages protected override async Task OnInitializedAsync() { - _createCompany = new EditContext(_companyDto); + _createCompany = new EditContext(_dtoNgCrmCompany); _createCompany.OnFieldChanged += HandleFieldChanged; - var ux = await StorageService.GetItemAsync("_ux"); - _companyDto.SalesRepId = ux.Id; - _companyDto.CountryCode = ux.CountryCode; + var ux = await StorageService.GetItemAsync("_ux"); + _dtoNgCrmCompany.SalesRepId = ux.Id; + _dtoNgCrmCompany.CountryCode = ux.CountryCode; Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); } @@ -91,23 +91,23 @@ namespace Wonky.Client.Pages { _virkRegInfo = (from x in VInfos where x.VatNumber == vatNumber select x).First(); RegState = _virkRegInfo.States[^1].State == "NORMAL" ? "the-good" : "the-ugly"; - _companyDto.Name = _virkRegInfo.Name; - _companyDto.Address1 = _virkRegInfo.CoName; - _companyDto.Address2 = _virkRegInfo.Address; - _companyDto.ZipCode = _virkRegInfo.ZipCode; - _companyDto.City = _virkRegInfo.City; - _companyDto.VatNumber = _virkRegInfo.VatNumber; + _dtoNgCrmCompany.Name = _virkRegInfo.Name; + _dtoNgCrmCompany.Address1 = _virkRegInfo.CoName; + _dtoNgCrmCompany.Address2 = _virkRegInfo.Address; + _dtoNgCrmCompany.ZipCode = _virkRegInfo.ZipCode; + _dtoNgCrmCompany.City = _virkRegInfo.City; + _dtoNgCrmCompany.VatNumber = _virkRegInfo.VatNumber; } private async Task Create() { - var newId = await CompanyRepo.CreateCompany(_companyDto); - ToastService.ShowSuccess($"Godt så! '{_companyDto.Name}' er oprettet i CRM."); + var newId = await CompanyRepo.CreateCompany(_dtoNgCrmCompany); + ToastService.ShowSuccess($"Godt så! '{_dtoNgCrmCompany.Name}' er oprettet i CRM."); Navigation.NavigateTo($"/company/{newId}"); } private void HandleFieldChanged(object sender, FieldChangedEventArgs e) { - if (!VatUtils.ValidateFormat(_companyDto.CountryCode, _companyDto.VatNumber)) + if (!VatUtils.ValidateFormat(_dtoNgCrmCompany.CountryCode, _dtoNgCrmCompany.VatNumber)) { _formInvalid = false; } @@ -121,7 +121,7 @@ namespace Wonky.Client.Pages { _formInvalid = true; _createCompany.OnFieldChanged -= HandleFieldChanged; - _createCompany = new EditContext(_companyDto); + _createCompany = new EditContext(_dtoNgCrmCompany); _createCompany.OnFieldChanged += HandleFieldChanged; _createCompany.OnValidationStateChanged -= ValidationChanged; } diff --git a/Wonky.Client/Pages/CompanyList.razor.cs b/Wonky.Client/Pages/CompanyList.razor.cs index 60759e02..06fc5122 100644 --- a/Wonky.Client/Pages/CompanyList.razor.cs +++ b/Wonky.Client/Pages/CompanyList.razor.cs @@ -32,7 +32,7 @@ namespace Wonky.Client.Pages [Inject] private UserPreferenceService UserPrefService { get; set; } [Inject] public ICompanyHttpRepository CompanyRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } - public List? Companies { get; set; } = new(); + public List? Companies { get; set; } = new(); public MetaData? MetaData { get; set; } = new(); private CompanyPagingParams _paging = new(); private Preferences _preferences { get; set; } = new(); @@ -54,21 +54,21 @@ namespace Wonky.Client.Pages private async Task SelectedPage(int page) { - Companies = new List(); + Companies = new List(); _paging.PageNumber = page; await GetCompanies(); } private async Task SetSearchCol(string searchColumn) { - Companies = new List(); + Companies = new List(); _paging.SearchColumn = searchColumn; _paging.PageNumber = 1; await GetCompanies(); } private async Task SetPageSize(string pageSize) { - Companies = new List(); + Companies = new List(); _paging.PageSize = Convert.ToInt32(pageSize); _paging.PageNumber = 1; await GetCompanies(); @@ -76,7 +76,7 @@ namespace Wonky.Client.Pages private async Task SetSearchPhrase(string searchTerm) { - Companies = new List(); + Companies = new List(); _paging.PageNumber = 1; _paging.SearchTerm = searchTerm; await GetCompanies(); @@ -84,14 +84,14 @@ namespace Wonky.Client.Pages private async Task SetSortCol(string orderBy) { - Companies = new List(); + Companies = new List(); _paging.OrderBy = orderBy; await GetCompanies(); } private async Task DeleteCompany(string companyId) { - Companies = new List(); + Companies = new List(); await CompanyRepo.DeleteCompany(companyId); if (_paging.PageNumber > 1 && Companies.Count == 1) _paging.PageNumber--; diff --git a/Wonky.Client/Pages/CompanyUpdate.razor b/Wonky.Client/Pages/CompanyUpdate.razor index d153448d..338408ff 100644 --- a/Wonky.Client/Pages/CompanyUpdate.razor +++ b/Wonky.Client/Pages/CompanyUpdate.razor @@ -20,11 +20,11 @@ @attribute [Authorize(Roles = "Adviser")] @page "/company/{companyId}/update" -@if (_company != null) +@if (DtoNgCrmCompany != null) {
-
@_company.Account - @_company.Name
+
@DtoNgCrmCompany.Account - @DtoNgCrmCompany.Name
@@ -60,65 +60,65 @@
- - + +
- - + +
- +
- +
- - + +
- - + +
- +
- +
- +
- +
@@ -136,7 +136,7 @@
- +
@@ -149,7 +149,7 @@ diff --git a/Wonky.Client/Pages/CompanyUpdate.razor.cs b/Wonky.Client/Pages/CompanyUpdate.razor.cs index 64182ea6..94c452e3 100644 --- a/Wonky.Client/Pages/CompanyUpdate.razor.cs +++ b/Wonky.Client/Pages/CompanyUpdate.razor.cs @@ -39,7 +39,7 @@ public partial class CompanyUpdate : IDisposable [Inject] public VatInfoLookupService VatInfoLookupService { get; set; } [Parameter] public string Account { get; set; } = ""; [Parameter] public string CompanyId { get; set; } = ""; - private CompanyDto _company { get; set; } + private DtoNgCrmCompany DtoNgCrmCompany { get; set; } private EditContext _updateCompany { get; set; } private List VInfos { get; set; } = new(); private VirkRegInfo _virkRegInfo { get; set; } = new(); @@ -51,41 +51,41 @@ public partial class CompanyUpdate : IDisposable { Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); - _company = await CompanyRepo.GetCompanyById(CompanyId); + DtoNgCrmCompany = await CompanyRepo.GetCompanyById(CompanyId); - LastVisit = DateTime.Parse(_company.LastVisit); - NextVisit = DateTime.Parse(_company.NextVisit); - _updateCompany = new EditContext(_company); + LastVisit = DateTime.Parse(DtoNgCrmCompany.LastVisit); + NextVisit = DateTime.Parse(DtoNgCrmCompany.NextVisit); + _updateCompany = new EditContext(DtoNgCrmCompany); - if(_company.HasFolded == 1) + if(DtoNgCrmCompany.HasFolded == 1) { _vatState = "the-dead"; } else { - _vatState = VatUtils.ValidateFormat(_company.CountryCode, _company.VatNumber) ? "the-good" : "the-draw"; + _vatState = VatUtils.ValidateFormat(DtoNgCrmCompany.CountryCode, DtoNgCrmCompany.VatNumber) ? "the-good" : "the-draw"; } } private async Task Update() { - if (!string.IsNullOrWhiteSpace(_company.VatNumber) && !VatUtils.ValidateFormat(_company.CountryCode, _company.VatNumber)) + if (!string.IsNullOrWhiteSpace(DtoNgCrmCompany.VatNumber) && !VatUtils.ValidateFormat(DtoNgCrmCompany.CountryCode, DtoNgCrmCompany.VatNumber)) { ToastService.ShowError($"CVR/VAT/ORG nummer er ugyldig."); StateHasChanged(); return; } - _company.LastVisit = $"{LastVisit:yyyy-MM-dd}"; - _company.NextVisit = $"{NextVisit:yyyy-MM-dd}"; - Console.WriteLine(JsonSerializer.Serialize(_company)); - await CompanyRepo.UpdateCompany(_company); + DtoNgCrmCompany.LastVisit = $"{LastVisit:yyyy-MM-dd}"; + DtoNgCrmCompany.NextVisit = $"{NextVisit:yyyy-MM-dd}"; + Console.WriteLine(JsonSerializer.Serialize(DtoNgCrmCompany)); + await CompanyRepo.UpdateCompany(DtoNgCrmCompany); - ToastService.ShowSuccess($"Godt så. Firma '{_company!.Name}' er opdateret."); - Navigation.NavigateTo($"/company/{_company.CompanyId}"); + ToastService.ShowSuccess($"Godt så. Firma '{DtoNgCrmCompany!.Name}' er opdateret."); + Navigation.NavigateTo($"/company/{DtoNgCrmCompany.CompanyId}"); } private async Task GetInfoFromVat(string vatNumber) { - if (string.IsNullOrWhiteSpace(vatNumber) || !VatUtils.ValidateFormat(_company.CountryCode, _company.VatNumber)) + if (string.IsNullOrWhiteSpace(vatNumber) || !VatUtils.ValidateFormat(DtoNgCrmCompany.CountryCode, DtoNgCrmCompany.VatNumber)) { ToastService.ShowError($"CVR er ugyldigt eller mangler"); return; @@ -120,12 +120,12 @@ public partial class CompanyUpdate : IDisposable private void SelectCompany(string vatNumber) { _virkRegInfo = (from x in VInfos where x.VatNumber == vatNumber select x).First(); - _company.Name = _virkRegInfo.Name; - _company.Address1 = _virkRegInfo.CoName; - _company.Address2 = _virkRegInfo.Address; - _company.ZipCode = _virkRegInfo.ZipCode; - _company.City = _virkRegInfo.City; - _company.VatNumber = _virkRegInfo.VatNumber; + DtoNgCrmCompany.Name = _virkRegInfo.Name; + DtoNgCrmCompany.Address1 = _virkRegInfo.CoName; + DtoNgCrmCompany.Address2 = _virkRegInfo.Address; + DtoNgCrmCompany.ZipCode = _virkRegInfo.ZipCode; + DtoNgCrmCompany.City = _virkRegInfo.City; + DtoNgCrmCompany.VatNumber = _virkRegInfo.VatNumber; } public void Dispose() diff --git a/Wonky.Client/Pages/CompanyView.razor b/Wonky.Client/Pages/CompanyView.razor index d9d1c9c6..44643a2b 100644 --- a/Wonky.Client/Pages/CompanyView.razor +++ b/Wonky.Client/Pages/CompanyView.razor @@ -21,56 +21,56 @@ @using Wonky.Client.Helpers @attribute [Authorize(Roles = "Adviser")] -@if (_company != null) +@if (DtoNgCrmCompany != null) {
-
tombstone @_company.Name
+
tombstone @DtoNgCrmCompany.Name
Reg.nr. - +
Firmanavn - - + +
Conavn - +
Adresse - +
Postnr - - + +
Bynavn - - + +
Telefon - +
Mobil - +
Email - +
Attention - +
- + - + - + - + - + - + - + - + - + - - + +
Konto@_company.Account@DtoNgCrmCompany.Account
Conavn@_company.Address1@DtoNgCrmCompany.Address1
Adresse@_company.Address2@DtoNgCrmCompany.Address2
Postnummer@_company.ZipCode@DtoNgCrmCompany.ZipCode
Bynavn@_company.City@DtoNgCrmCompany.City
CVR @_company.VatNumber@DtoNgCrmCompany.VatNumber
Telefon@_company.Phone@DtoNgCrmCompany.Phone
Email@_company.Email@DtoNgCrmCompany.Email
Sidste besøg@_company.LastVisit@DtoNgCrmCompany.LastVisit
Næste besøg@_company.NextVisit@DtoNgCrmCompany.NextVisit
@@ -78,8 +78,8 @@
diff --git a/Wonky.Client/Pages/CompanyView.razor.cs b/Wonky.Client/Pages/CompanyView.razor.cs index b6f2580e..383928c5 100644 --- a/Wonky.Client/Pages/CompanyView.razor.cs +++ b/Wonky.Client/Pages/CompanyView.razor.cs @@ -35,7 +35,7 @@ public partial class CompanyView : IDisposable [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public VatInfoLookupService VatInfoLookup { get; set; } [Parameter] public string CompanyId { get; set; } = ""; - private CompanyDto _company { get; set; } = new (); + private DtoNgCrmCompany DtoNgCrmCompany { get; set; } = new (); private string _vatState { get; set; } = "the-dead"; private bool _hasFolded { get; set; } @@ -43,15 +43,15 @@ public partial class CompanyView : IDisposable { Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); - _company = await CompanyRepo.GetCompanyById(CompanyId); + DtoNgCrmCompany = await CompanyRepo.GetCompanyById(CompanyId); - if(_company.HasFolded == 1) + if(DtoNgCrmCompany.HasFolded == 1) { _hasFolded = true; } else { - _vatState = VatUtils.ValidateFormat(_company.CountryCode, _company.VatNumber) ? "the-good" : "the-draw"; + _vatState = VatUtils.ValidateFormat(DtoNgCrmCompany.CountryCode, DtoNgCrmCompany.VatNumber) ? "the-good" : "the-draw"; } } diff --git a/Wonky.Client/Pages/CrmActivityCreate.razor b/Wonky.Client/Pages/CrmActivityCreate.razor index 6d0e7e2d..a34d3bdc 100644 --- a/Wonky.Client/Pages/CrmActivityCreate.razor +++ b/Wonky.Client/Pages/CrmActivityCreate.razor @@ -19,7 +19,7 @@ @using Microsoft.AspNetCore.Authorization @attribute [Authorize(Roles = "Adviser")] @using Wonky.Client.Components -@if (_company != null) +@if (_dtoNgCrmCompany != null) {

@_poDraft.Name

@@ -43,9 +43,9 @@
@@ -254,7 +254,7 @@ @cItem.Item.Sku @cItem.Quantity @cItem.Price - @cItem.Total + @cItem.LineTotal @@ -329,7 +329,7 @@
diff --git a/Wonky.Client/Pages/CrmActivityCreate.razor.cs b/Wonky.Client/Pages/CrmActivityCreate.razor.cs index 4662c143..bbd66558 100644 --- a/Wonky.Client/Pages/CrmActivityCreate.razor.cs +++ b/Wonky.Client/Pages/CrmActivityCreate.razor.cs @@ -39,12 +39,12 @@ public partial class CrmActivityCreate : IDisposable [Inject] private UserPreferenceService UserPrefs { get; set; } [CascadingParameter] DraftStateProvider DraftStateProvider { get; set; } [Parameter] public string CompanyId { get; set; } - private SalesItemDto _selectedItem { get; set; } = new(); - private List SalesItems { get; set; } = new(); + private NgSalesItemView _selectedItem { get; set; } = new(); + private List SalesItems { get; set; } = new(); // private MetaData _meta { get; set; } = new(); private Preferences _prefs { get; set; } = new(); - private ActivityHead _poDraft { get; set; } = new(); - private CompanyDto _company = new(); + private DtoNgSalesHead _poDraft { get; set; } = new(); + private DtoNgCrmCompany _dtoNgCrmCompany = new(); private CatalogPagingParams _paging = new(); private EditContext _createActivity { get; set; } private bool _poFormInvalid { get; set; } = true; @@ -56,6 +56,7 @@ public partial class CrmActivityCreate : IDisposable private bool InvalidActivity { get; set; } = true; private bool InvalidCanvas { get; set; } = true; private bool InvalidDate { get; set; } = true; + private UserInfoView Ux { get; set; } = new(); protected override async Task OnInitializedAsync() { @@ -64,32 +65,31 @@ public partial class CrmActivityCreate : IDisposable _prefs = await UserPrefs.GetPreferences(); _paging.SearchColumn = _prefs.ItemSearch; await GetSalesItems(); - var ux = await StorageService.GetItemAsync("_ux"); - _company = await CompanyRepo.GetCompanyById(CompanyId); + Ux = await StorageService.GetItemAsync("_ux"); + _dtoNgCrmCompany = await CompanyRepo.GetCompanyById(CompanyId); _createActivity = new EditContext(_poDraft); _createActivity.OnFieldChanged += HandleFieldChanged; // set up indexdb identification - _poDraft.ActivityId = CompanyId; - _poDraft.CrmCompanyKey = CompanyId; + _poDraft.SalesHeadId = Guid.NewGuid().ToString(); + _poDraft.CompanyId = CompanyId; _poDraft.ActivityDate = string.IsNullOrWhiteSpace(_prefs.WorkDate) ? DateTime.Now : DateTime.Parse(_prefs.WorkDate); // permanent identifications - _poDraft.SalesRep = ux.Adviser; - _poDraft.Account = _company.Account; - _poDraft.VatNumber = _company.VatNumber; - _poDraft.EMail = _company.Email; - _poDraft.Phone = _company.Phone; - _poDraft.OurRef = ux.FullName.Split(" ")[0]; + _poDraft.SalesRep = Ux.Adviser; + _poDraft.Account = _dtoNgCrmCompany.Account; + _poDraft.VatNumber = _dtoNgCrmCompany.VatNumber; + _poDraft.EMail = _dtoNgCrmCompany.Email; + _poDraft.Phone = _dtoNgCrmCompany.Phone; - _poDraft.Name = _company.Name; - _poDraft.Address = _company.Address1; - _poDraft.Address2 = _company.Address2; - _poDraft.ZipCode = _company.ZipCode; - _poDraft.City = _company.City; + _poDraft.Name = _dtoNgCrmCompany.Name; + _poDraft.Address = _dtoNgCrmCompany.Address1; + _poDraft.Address2 = _dtoNgCrmCompany.Address2; + _poDraft.ZipCode = _dtoNgCrmCompany.ZipCode; + _poDraft.City = _dtoNgCrmCompany.City; _poDraft.DlvName = ""; _poDraft.DlvAddress1 = ""; @@ -111,17 +111,24 @@ public partial class CrmActivityCreate : IDisposable { // write work date to preference await UserPrefs.SetWorkDate(_poDraft.ActivityDate); - + var activityType = _poDraft.ActivityType switch + { + "caPhone" => "Tlf. ", + "caOnSite" => "Bsg. ", + _ => "" + }; + _poDraft.OurRef = $"{activityType}{Ux.FullName.Split(" ")[0]}"; + var ln = 0; // post to create activity endpoint - foreach (var line in DraftStateProvider.Draft.Items.Select(item => new ActivityLine + foreach (var line in DraftStateProvider.Draft.Items.Select(item => new DtoNgSalesLine { Price = item.Price, Discount = item.Discount, Qty = item.Quantity, Sku = item.Item.Sku, Text = item.Item.Name, - LineAmount = item.Total, + LineAmount = item.LineTotal, LineNumber = ++ln })) { @@ -156,13 +163,13 @@ public partial class CrmActivityCreate : IDisposable Quantity = quantity; } - private async Task AddItem(SalesItemDto salesItem) + private async Task AddItem(NgSalesItemView ngSalesItem) { ShowItem = false; // create a new cart item var item = new DraftItem { - Item = salesItem, + Item = ngSalesItem, Quantity = Convert.ToInt32(Quantity), Price = Convert.ToDecimal(Price) }; @@ -180,14 +187,14 @@ public partial class CrmActivityCreate : IDisposable } private async Task SetItemGroup(string groupFilter) { - SalesItems = new List(); + SalesItems = new List(); _paging.PageNumber = 1; _paging.SelectGroup = groupFilter; await GetSalesItems(); } private async Task SetSearchCol(string columnName) { - SalesItems = new List(); + SalesItems = new List(); _paging.PageNumber = 1; _paging.SearchTerm = ""; _paging.SearchColumn = columnName; @@ -195,7 +202,7 @@ public partial class CrmActivityCreate : IDisposable } private async Task SetSortCol(string searchTerm) { - SalesItems = new List(); + SalesItems = new List(); _paging.PageNumber = 1; _paging.SearchTerm = searchTerm; await GetSalesItems(); @@ -219,7 +226,7 @@ public partial class CrmActivityCreate : IDisposable { if (!string.IsNullOrEmpty(_poDraft.VatNumber)) { - if(!VatUtils.ValidateFormat(_company.CountryCode, _poDraft.VatNumber)) + if(!VatUtils.ValidateFormat(_dtoNgCrmCompany.CountryCode, _poDraft.VatNumber)) ToastService.ShowWarning("CVR / ORG nummer er ikke et gyldigt registreringsnummer"); } if (string.IsNullOrEmpty(_poDraft.ActivityType)) diff --git a/Wonky.Client/Pages/Login.razor b/Wonky.Client/Pages/Login.razor index 6c8b3ce0..bdef3527 100644 --- a/Wonky.Client/Pages/Login.razor +++ b/Wonky.Client/Pages/Login.razor @@ -28,22 +28,22 @@ }
} - +
- + @bind-Value="_dtoUserAuthentication.Email" autocomplete="username" /> +
- + @bind-Value="_dtoUserAuthentication.Password" autocomplete="current-password" /> +
diff --git a/Wonky.Client/Pages/Login.razor.cs b/Wonky.Client/Pages/Login.razor.cs index acc9be5d..4d74cb6f 100644 --- a/Wonky.Client/Pages/Login.razor.cs +++ b/Wonky.Client/Pages/Login.razor.cs @@ -25,7 +25,7 @@ public partial class Login [Inject] public NavigationManager NavigationManager { get; set; } [Inject] public IAuthenticationService AuthenticationService { get; set; } [Parameter] public string ReturnUrl { get; set; } = ""; - private UserAuthenticationDto _userAuthenticationDto = new (); + private DtoUserAuthentication _dtoUserAuthentication = new (); private bool ShowAuthError { get; set; } private string? Error { get; set; } private bool execLogin = false; @@ -35,7 +35,7 @@ public partial class Login ShowAuthError = false; execLogin = true; - var result = await AuthenticationService.Login(_userAuthenticationDto); + var result = await AuthenticationService.Login(_dtoUserAuthentication); if (!result.IsSuccess) { Error = result.ErrorMessage; diff --git a/Wonky.Client/Pages/SalesItemCatalog.razor.cs b/Wonky.Client/Pages/SalesItemCatalog.razor.cs index 16aaf1a3..7ca52cf9 100644 --- a/Wonky.Client/Pages/SalesItemCatalog.razor.cs +++ b/Wonky.Client/Pages/SalesItemCatalog.razor.cs @@ -33,7 +33,7 @@ public partial class SalesItemCatalog : IDisposable [Inject] public ISalesItemHttpRepository SalesItemRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] private UserPreferenceService UserPreferenceService { get; set; } - private List SalesItems { get; set; } = new(); + private List SalesItems { get; set; } = new(); private MetaData? MetaData { get; set; } = new(); private CatalogPagingParams _paging = new(); private Preferences _preferences = new(); @@ -52,7 +52,7 @@ public partial class SalesItemCatalog : IDisposable private async Task SelectedPage(int page) { - SalesItems = new List(); + SalesItems = new List(); _paging.PageNumber = page; await GetSalesItems(); } @@ -66,7 +66,7 @@ public partial class SalesItemCatalog : IDisposable private async Task SetPageSize(string pageSize) { - SalesItems = new List(); + SalesItems = new List(); _paging.PageSize = Convert.ToInt32(pageSize); _paging.PageNumber = 1; await GetSalesItems(); @@ -74,21 +74,21 @@ public partial class SalesItemCatalog : IDisposable private async Task SetItemGroup(string groupFilter) { - SalesItems = new List(); + SalesItems = new List(); _paging.PageNumber = 1; _paging.SelectGroup = groupFilter; await GetSalesItems(); } private async Task SetSearchCol(string columnName) { - SalesItems = new List(); + SalesItems = new List(); _paging.PageNumber = 1; _paging.SearchColumn = columnName; await GetSalesItems(); } private async Task SetSearchPhrase(string searchTerm) { - SalesItems = new List(); + SalesItems = new List(); _paging.PageNumber = 1; _paging.SearchTerm = searchTerm; await GetSalesItems(); @@ -96,7 +96,7 @@ public partial class SalesItemCatalog : IDisposable private async Task SetSortCol(string orderBy) { - SalesItems = new List(); + SalesItems = new List(); _paging.OrderBy = orderBy; await GetSalesItems(); } diff --git a/Wonky.Client/Pages/SalesItemView.razor.cs b/Wonky.Client/Pages/SalesItemView.razor.cs index 6779b75d..ddedd616 100644 --- a/Wonky.Client/Pages/SalesItemView.razor.cs +++ b/Wonky.Client/Pages/SalesItemView.razor.cs @@ -24,7 +24,7 @@ namespace Wonky.Client.Pages; public partial class SalesItemView : IDisposable { - private SalesItemDto Item { get; set; } = new (); + private NgSalesItemView Item { get; set; } = new (); [Inject] public ISalesItemHttpRepository SalesItemRepo { get; set; } diff --git a/Wonky.Client/Providers/AuthStateProvider.cs b/Wonky.Client/Providers/AuthStateProvider.cs index 8a8cfbae..5a5a791a 100644 --- a/Wonky.Client/Providers/AuthStateProvider.cs +++ b/Wonky.Client/Providers/AuthStateProvider.cs @@ -44,7 +44,7 @@ namespace Wonky.Client.Providers return _anonymous; // create an authorized user - var userInfo = await _storage.GetItemAsync("_ux"); + var userInfo = await _storage.GetItemAsync("_ux"); if (userInfo == null) return _anonymous; @@ -79,7 +79,7 @@ namespace Wonky.Client.Providers _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", token); // create an authorized user - var userInfo = await _storage.GetItemAsync("_ux"); + var userInfo = await _storage.GetItemAsync("_ux"); var exp = await _storage.GetItemAsync("_ex"); var roles = ExtractRoles(userInfo); var claims = new List @@ -105,18 +105,18 @@ namespace Wonky.Client.Providers NotifyAuthenticationStateChanged(authState); } - private static IEnumerable ExtractRoles(UserInfo userInfo) + private static IEnumerable ExtractRoles(UserInfoView userInfoView) { var roles = new List(); - if (userInfo.IsAdmin) + if (userInfoView.IsAdmin) roles.Add("Admin"); - if (userInfo.IsAdviser) + if (userInfoView.IsAdviser) roles.Add("Adviser"); - if (userInfo.IsSupervisor) + if (userInfoView.IsSupervisor) roles.Add("Supervisor"); - if(userInfo.IsEDoc) + if(userInfoView.IsEDoc) roles.Add("EDoc"); - if (userInfo.IsEShop) + if (userInfoView.IsEShop) roles.Add("EShop"); return roles; } diff --git a/Wonky.Client/Services/AuthenticationService.cs b/Wonky.Client/Services/AuthenticationService.cs index 2532f1da..8d815907 100644 --- a/Wonky.Client/Services/AuthenticationService.cs +++ b/Wonky.Client/Services/AuthenticationService.cs @@ -43,29 +43,29 @@ namespace Wonky.Client.Services _apiConfig = apiConfig; } - public async Task RegisterUser(UserRegistrationDto userRegistrationDto) + public async Task RegisterUser(DtoNgUserRegistration dtoNgUserRegistration) { var response = await _client - .PostAsJsonAsync(_apiConfig.Value.UserRegistration, userRegistrationDto); + .PostAsJsonAsync(_apiConfig.Value.UserRegistration, dtoNgUserRegistration); if (response.IsSuccessStatusCode) - return new ResponseDto {IsSuccess = true}; + return new ApiResponseView {IsSuccess = true}; var content = await response.Content .ReadAsStringAsync() ; - var result = JsonSerializer.Deserialize(content, _options); - return result ?? new ResponseDto(); + var result = JsonSerializer.Deserialize(content, _options); + return result ?? new ApiResponseView(); } - public async Task Login(UserAuthenticationDto userAuth) + public async Task Login(DtoUserAuthentication dtoUserAuth) { var credentials = new Dictionary { ["grant_type"] = "password", - ["username"] = userAuth.Email, - ["password"] = userAuth.Password + ["username"] = dtoUserAuth.Email, + ["password"] = dtoUserAuth.Password }; var response = await _client .PostAsync(_apiConfig.Value.TokenPath, new FormUrlEncodedContent(credentials)); @@ -74,10 +74,10 @@ namespace Wonky.Client.Services // if not success - return error status if (!response.IsSuccessStatusCode) - return new AuthResponseDto {IsSuccess = false, ErrorMessage = $"Kontroller indtastning"}; + return new AuthResponseView {IsSuccess = false, ErrorMessage = $"Kontroller indtastning"}; // process response content - var data = JsonSerializer.Deserialize(resContent, _options); + var data = JsonSerializer.Deserialize(resContent, _options); await _localStorage.SetItemAsync("_tx", data.AccessToken); await _localStorage.SetItemAsync("_rx", data.RefreshToken); @@ -112,7 +112,7 @@ namespace Wonky.Client.Services if (response.IsSuccessStatusCode) { var resContent = await response.Content.ReadAsStringAsync(); - var data = JsonSerializer.Deserialize(resContent, _options); + var data = JsonSerializer.Deserialize(resContent, _options); // set default request headers using access_token _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", data.AccessToken); @@ -140,14 +140,14 @@ namespace Wonky.Client.Services _client.DefaultRequestHeaders.Authorization = null; } - public async Task UserInfo(bool write = false) + public async Task UserInfo(bool write = false) { var infoResponse = await _client.GetAsync(_apiConfig.Value.UserInfo); var infoContent = await infoResponse.Content.ReadAsStringAsync(); - var userInfo = JsonSerializer.Deserialize(infoContent, _options); + var userInfo = JsonSerializer.Deserialize(infoContent, _options); if(write) await _localStorage.SetItemAsync("_ux", userInfo); - return userInfo ?? new UserInfo(); + return userInfo ?? new UserInfoView(); } } diff --git a/Wonky.Client/Services/IAuthenticationService.cs b/Wonky.Client/Services/IAuthenticationService.cs index 7f9d623c..b9167bc1 100644 --- a/Wonky.Client/Services/IAuthenticationService.cs +++ b/Wonky.Client/Services/IAuthenticationService.cs @@ -20,11 +20,11 @@ namespace Wonky.Client.Services { public interface IAuthenticationService { - Task RegisterUser(UserRegistrationDto userRegistrationDto); - Task Login(UserAuthenticationDto userAuth); + Task RegisterUser(DtoNgUserRegistration dtoNgUserRegistration); + Task Login(DtoUserAuthentication dtoUserAuth); Task Logout(); Task RefreshToken(); - Task UserInfo(bool write = false); + Task UserInfo(bool write = false); } } diff --git a/Wonky.Entity/DTO/ResponseDto.cs b/Wonky.Entity/DTO/ApiResponseView.cs similarity index 96% rename from Wonky.Entity/DTO/ResponseDto.cs rename to Wonky.Entity/DTO/ApiResponseView.cs index 1e30904a..e76a8443 100644 --- a/Wonky.Entity/DTO/ResponseDto.cs +++ b/Wonky.Entity/DTO/ApiResponseView.cs @@ -17,7 +17,7 @@ using System.Collections.Generic; namespace Wonky.Entity.DTO; -public class ResponseDto +public class ApiResponseView { public bool IsSuccess { get; set; } public IEnumerable? Errors { get; set; } diff --git a/Wonky.Entity/DTO/AuthResponseDto.cs b/Wonky.Entity/DTO/AuthResponseView.cs similarity index 83% rename from Wonky.Entity/DTO/AuthResponseDto.cs rename to Wonky.Entity/DTO/AuthResponseView.cs index 0d982634..541c2926 100644 --- a/Wonky.Entity/DTO/AuthResponseDto.cs +++ b/Wonky.Entity/DTO/AuthResponseView.cs @@ -17,9 +17,8 @@ using System.Text.Json.Serialization; namespace Wonky.Entity.DTO; -public class AuthResponseDto +public class AuthResponseView { - public bool IsSuccess { get; set; } public string ErrorMessage { get; set; } = ""; [JsonPropertyName("access_token")] public string? AccessToken { get; set; } = ""; @@ -28,12 +27,4 @@ public class AuthResponseDto [JsonPropertyName("refresh_token")] public string RefreshToken { get; set; } = ""; [JsonPropertyName(".issued")] public string Issued { get; set; } = ""; [JsonPropertyName(".expires")] public string Expires { get; set; } = ""; - /*{ - "access_token": "", - "token_type": "bearer", - "expires_in": 1209599, - "refresh_token": "", - ".issued": "Fri, 14 Jan 2022 07:05:48 GMT", - ".expires": "Fri, 28 Jan 2022 07:05:48 GMT" - }*/ } \ No newline at end of file diff --git a/Wonky.Entity/DTO/CreateCompanyResponse.cs b/Wonky.Entity/DTO/CreateCompanyResponseView.cs similarity index 95% rename from Wonky.Entity/DTO/CreateCompanyResponse.cs rename to Wonky.Entity/DTO/CreateCompanyResponseView.cs index 36c8aac1..62ae5579 100644 --- a/Wonky.Entity/DTO/CreateCompanyResponse.cs +++ b/Wonky.Entity/DTO/CreateCompanyResponseView.cs @@ -15,7 +15,7 @@ namespace Wonky.Entity.DTO; -public class CreateCompanyResponse +public class CreateCompanyResponseView { } \ No newline at end of file diff --git a/Wonky.Entity/DTO/CrmActivityHeadDto.cs b/Wonky.Entity/DTO/CrmActivityHeadDto.cs deleted file mode 100644 index d663d47d..00000000 --- a/Wonky.Entity/DTO/CrmActivityHeadDto.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; - -namespace Wonky.Entity.DTO; - -public class CrmActivityHeadDto -{ - // Base account info - public string CompanyId { get; set; } = ""; - public string Account { get; set; } = ""; - public string VatNumber { get; set; } = ""; - public string Name { get; set; } = ""; - public string Address { get; set; } = ""; - public string Address2 { get; set; } = ""; - public string City { get; set; }= ""; - public string ZipCode { get; set; } = ""; - public string SalesRep { get; set; } = ""; - public string Phone { get; set; } = ""; - public string EMail { get; set; } = ""; - // Form entries - public string ReferenceNumber { get; set; } = ""; - public string YourRef { get; set; } = ""; - public string OurRef { get; set; } = ""; - public string OrderMessage { get; set; } = ""; - // From company or form entry - public string DlvName { get; set; } = ""; - public string DlvAddress1 { get; set; } = ""; - public string DlvAddress2 { get; set; } = ""; - public string DlvZipCode { get; set; } = ""; - public string DlvCity { get; set; } = ""; -} diff --git a/Wonky.Entity/DTO/CrmActivityLineDto.cs b/Wonky.Entity/DTO/CrmActivityLineDto.cs deleted file mode 100644 index 43baa498..00000000 --- a/Wonky.Entity/DTO/CrmActivityLineDto.cs +++ /dev/null @@ -1,29 +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 Affero GNU 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 -// Affero GNU General Public License for more details. -// -// You should have received a copy of the Affero GNU General Public License -// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] -// -namespace Wonky.Entity.DTO; - -public class CrmSalesLines -{ - public int ActivityLineId { get; set; } - public int ActivityId { get; set; } - public string Sku { get; set; } = ""; - public string Text { get; set; } = ""; - public int Qty { get; set; } - public decimal Price { get; set; } - public decimal Discount { get; set; } - public decimal LineAmount { get; set; } - public int LineNumber { get; set; } -} \ No newline at end of file diff --git a/Wonky.Entity/DTO/CompanyDto.cs b/Wonky.Entity/DTO/DtoNgCrmCompany.cs similarity index 98% rename from Wonky.Entity/DTO/CompanyDto.cs rename to Wonky.Entity/DTO/DtoNgCrmCompany.cs index 308f935c..97e37f4a 100644 --- a/Wonky.Entity/DTO/CompanyDto.cs +++ b/Wonky.Entity/DTO/DtoNgCrmCompany.cs @@ -19,7 +19,7 @@ using System.Text.Json.Serialization; namespace Wonky.Entity.DTO; -public class CompanyDto +public class DtoNgCrmCompany { [Required(ErrorMessage = "Navn skal udfyldes")] [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Name { get; set; } [Required(ErrorMessage = "Postnummer skal udfyldes")] [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string ZipCode { get; set; } diff --git a/Wonky.Client/Models/ActivityHead.cs b/Wonky.Entity/DTO/DtoNgSalesHead.cs similarity index 92% rename from Wonky.Client/Models/ActivityHead.cs rename to Wonky.Entity/DTO/DtoNgSalesHead.cs index f5bca016..022756ae 100644 --- a/Wonky.Client/Models/ActivityHead.cs +++ b/Wonky.Entity/DTO/DtoNgSalesHead.cs @@ -13,16 +13,14 @@ // along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] // -using System.Collections.Generic; using System.ComponentModel.DataAnnotations; -using Wonky.Entity.DTO; -namespace Wonky.Client.Models +namespace Wonky.Entity.DTO { - public class ActivityHead + public class DtoNgSalesHead { - public string ActivityId { get; set; } = ""; - public string CrmCompanyKey { get; set; } = ""; + public string SalesHeadId { get; set; } = ""; + public string CompanyId { get; set; } = ""; public string SalesRep { get; set; } = ""; [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Account { get; set; } = ""; [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Name { get; set; } = ""; @@ -50,6 +48,6 @@ namespace Wonky.Client.Models [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string DlvZipCode { get; set; } = ""; [MaxLength(30, ErrorMessage = "Du kan højst bruge 30 tegn")] public string DlvCity { get; set; } = ""; // Lines - public List Lines { get; set; } = new(); + public List Lines { get; set; } = new(); } } diff --git a/Wonky.Client/Models/ActivityLine.cs b/Wonky.Entity/DTO/DtoNgSalesLine.cs similarity index 92% rename from Wonky.Client/Models/ActivityLine.cs rename to Wonky.Entity/DTO/DtoNgSalesLine.cs index 6cafa7d9..75d2e701 100644 --- a/Wonky.Client/Models/ActivityLine.cs +++ b/Wonky.Entity/DTO/DtoNgSalesLine.cs @@ -12,9 +12,9 @@ // You should have received a copy of the Affero GNU General Public License // along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] // -namespace Wonky.Client.Models; +namespace Wonky.Entity.DTO; -public class ActivityLine +public class DtoNgSalesLine { public string Sku { get; set; } = ""; public string Text { get; set; } = ""; @@ -23,4 +23,5 @@ public class ActivityLine public decimal Discount { get; set; } public decimal LineAmount { get; set; } public int LineNumber { get; set; } + public bool Sas { get; set; } } \ No newline at end of file diff --git a/Wonky.Entity/DTO/UpdateCompanyDto.cs b/Wonky.Entity/DTO/DtoNgUpdateCompany.cs similarity index 97% rename from Wonky.Entity/DTO/UpdateCompanyDto.cs rename to Wonky.Entity/DTO/DtoNgUpdateCompany.cs index 50128c0f..92f37909 100644 --- a/Wonky.Entity/DTO/UpdateCompanyDto.cs +++ b/Wonky.Entity/DTO/DtoNgUpdateCompany.cs @@ -17,7 +17,7 @@ using System.ComponentModel.DataAnnotations; namespace Wonky.Entity.DTO; -public class UpdateCompanyDto +public class DtoNgUpdateCompany { [MaxLength(100)] public string Name { get; set; } = ""; [MaxLength(30)] public string City { get; set; } = ""; diff --git a/Wonky.Entity/DTO/UserRegistrationDto.cs b/Wonky.Entity/DTO/DtoNgUserRegistration.cs similarity index 85% rename from Wonky.Entity/DTO/UserRegistrationDto.cs rename to Wonky.Entity/DTO/DtoNgUserRegistration.cs index 4e7776a2..1779500e 100644 --- a/Wonky.Entity/DTO/UserRegistrationDto.cs +++ b/Wonky.Entity/DTO/DtoNgUserRegistration.cs @@ -17,17 +17,12 @@ using System.ComponentModel.DataAnnotations; namespace Wonky.Entity.DTO; -public class UserRegistrationDto +public class DtoNgUserRegistration { - [Required(ErrorMessage = "Login skal angives")] - public string? Email { get; set; } - - [Required(ErrorMessage = "Kode skal angives")] - public string? Password { get; set; } - + [Required(ErrorMessage = "Login skal angives")] public string? Email { get; set; } + [Required(ErrorMessage = "Kode skal angives")] public string? Password { get; set; } [Compare(nameof(Password), ErrorMessage = "Adgangskoder skal være identiske")] public string? ConfirmPassword { get; set; } - public string FirstName { get; set; } = ""; public string LastName { get; set; } = ""; public string CountryCode { get; set; } = "dk"; diff --git a/Wonky.Entity/DTO/UserAuthenticationDto.cs b/Wonky.Entity/DTO/DtoUserAuthentication.cs similarity index 78% rename from Wonky.Entity/DTO/UserAuthenticationDto.cs rename to Wonky.Entity/DTO/DtoUserAuthentication.cs index 731cb699..bafc2f73 100644 --- a/Wonky.Entity/DTO/UserAuthenticationDto.cs +++ b/Wonky.Entity/DTO/DtoUserAuthentication.cs @@ -17,11 +17,8 @@ using System.ComponentModel.DataAnnotations; namespace Wonky.Entity.DTO; -public class UserAuthenticationDto +public class DtoUserAuthentication { - [Required(ErrorMessage = "Email skal angives")] - public string Email { get; set; } = ""; - - [Required(ErrorMessage = "Password skal angives")] - public string Password { get; set; } = ""; + [Required(ErrorMessage = "Email skal angives")] public string Email { get; set; } = ""; + [Required(ErrorMessage = "Password skal angives")] public string Password { get; set; } = ""; } \ No newline at end of file diff --git a/Wonky.Entity/DTO/KrvProductDto.cs b/Wonky.Entity/DTO/KrvProductDto.cs index 40df0427..3ca43623 100644 --- a/Wonky.Entity/DTO/KrvProductDto.cs +++ b/Wonky.Entity/DTO/KrvProductDto.cs @@ -19,12 +19,8 @@ namespace Wonky.Entity.DTO; public class KrvProductDto { - [Required] - public string ProductId { get; set; } = ""; - [Required] - public string TradingName { get; set; } = ""; - [Required] - public string PictureLink { get; set; } = ""; - [Required] - public string ProductCategoryEnum { get; set; } = ""; + [Required] public string ProductId { get; set; } = ""; + [Required] public string TradingName { get; set; } = ""; + [Required] public string PictureLink { get; set; } = ""; + [Required] public string ProductCategoryEnum { get; set; } = ""; } \ No newline at end of file diff --git a/Wonky.Entity/DTO/KrvVariantDto.cs b/Wonky.Entity/DTO/KrvVariantDto.cs index f0d79b1f..3df722de 100644 --- a/Wonky.Entity/DTO/KrvVariantDto.cs +++ b/Wonky.Entity/DTO/KrvVariantDto.cs @@ -19,20 +19,12 @@ namespace Wonky.Entity.DTO; public class KrvVariantDto { - [Required] - public string VariantId { get; set; } = ""; - [Required] - public string Name { get; set; } = ""; - [Required] - public string Sku { get; set; } = ""; - [Required] - public string ErpSku { get; set; } = ""; - [Required] - public string ErpName { get; set; } = ""; - [Required] - public string ShortName { get; set; } = ""; - [Required] - public string SdsLink { get; set; } = ""; - // [Required] + [Required] public string VariantId { get; set; } = ""; + [Required] public string Name { get; set; } = ""; + [Required] public string Sku { get; set; } = ""; + [Required] public string ErpSku { get; set; } = ""; + [Required] public string ErpName { get; set; } = ""; + [Required] public string ShortName { get; set; } = ""; + [Required] public string SdsLink { get; set; } = ""; public string PictureLink { get; set; } = ""; } \ No newline at end of file diff --git a/Wonky.Entity/DTO/SalesItemDto.cs b/Wonky.Entity/DTO/NgSalesItemView.cs similarity index 92% rename from Wonky.Entity/DTO/SalesItemDto.cs rename to Wonky.Entity/DTO/NgSalesItemView.cs index 497049c0..fd1c9b49 100644 --- a/Wonky.Entity/DTO/SalesItemDto.cs +++ b/Wonky.Entity/DTO/NgSalesItemView.cs @@ -17,7 +17,7 @@ using System.Collections.Generic; namespace Wonky.Entity.DTO; -public class SalesItemDto +public class NgSalesItemView { public string ItemId { get; set; } = ""; public string Name { get; set; } = ""; @@ -25,5 +25,5 @@ public class SalesItemDto public string ShortName { get; set; } = ""; public string ProductGroup { get; set; } = ""; public string PictureLink { get; set; } = ""; - public List Rates { get; set; } = new(); + public List Rates { get; set; } = new(); } \ No newline at end of file diff --git a/Wonky.Entity/DTO/SalesRateDto.cs b/Wonky.Entity/DTO/NgSalesRateView.cs similarity index 96% rename from Wonky.Entity/DTO/SalesRateDto.cs rename to Wonky.Entity/DTO/NgSalesRateView.cs index 488ffb32..70b7deaf 100644 --- a/Wonky.Entity/DTO/SalesRateDto.cs +++ b/Wonky.Entity/DTO/NgSalesRateView.cs @@ -14,7 +14,7 @@ // namespace Wonky.Entity.DTO; -public class SalesRateDto +public class NgSalesRateView { public string Quantity { get; set; } = ""; public string Rate { get; set; } = ""; diff --git a/Wonky.Entity/DTO/RefreshTokenDto.cs b/Wonky.Entity/DTO/RefreshTokenView.cs similarity index 96% rename from Wonky.Entity/DTO/RefreshTokenDto.cs rename to Wonky.Entity/DTO/RefreshTokenView.cs index 9c0bffc6..37f03a44 100644 --- a/Wonky.Entity/DTO/RefreshTokenDto.cs +++ b/Wonky.Entity/DTO/RefreshTokenView.cs @@ -14,7 +14,7 @@ // namespace Wonky.Entity.DTO; -public class RefreshTokenDto +public class RefreshTokenView { public string Token { get; set; } = ""; public string RefreshToken { get; set; } = ""; diff --git a/Wonky.Entity/DTO/UploadResponse.cs b/Wonky.Entity/DTO/UploadResponseView.cs similarity index 96% rename from Wonky.Entity/DTO/UploadResponse.cs rename to Wonky.Entity/DTO/UploadResponseView.cs index 628e5218..18a3e159 100644 --- a/Wonky.Entity/DTO/UploadResponse.cs +++ b/Wonky.Entity/DTO/UploadResponseView.cs @@ -14,7 +14,7 @@ // namespace Wonky.Entity.DTO; -public class UploadResponse +public class UploadResponseView { public string Message { get; set; } = ""; } \ No newline at end of file diff --git a/Wonky.Entity/DTO/UserInfo.cs b/Wonky.Entity/DTO/UserInfoView.cs similarity index 98% rename from Wonky.Entity/DTO/UserInfo.cs rename to Wonky.Entity/DTO/UserInfoView.cs index d42363ee..9b343698 100644 --- a/Wonky.Entity/DTO/UserInfo.cs +++ b/Wonky.Entity/DTO/UserInfoView.cs @@ -17,7 +17,7 @@ using System.Text.Json.Serialization; namespace Wonky.Entity.DTO; -public class UserInfo +public class UserInfoView { [JsonPropertyName("Id")] public string Id { get; set; } = ""; [JsonPropertyName("adviser")] public string Adviser { get; set; } = "";