diff --git a/Wonky.Client/HttpRepository/AdvisorActivityRepository.cs b/Wonky.Client/HttpRepository/CrmActivityRepository.cs similarity index 96% rename from Wonky.Client/HttpRepository/AdvisorActivityRepository.cs rename to Wonky.Client/HttpRepository/CrmActivityRepository.cs index 1763857a..f95ca13c 100644 --- a/Wonky.Client/HttpRepository/AdvisorActivityRepository.cs +++ b/Wonky.Client/HttpRepository/CrmActivityRepository.cs @@ -26,7 +26,7 @@ namespace Wonky.Client.HttpRepository; /// /// Implementing Interface Activity CRM Http repository /// -public class AdvisorActivityRepository : IAdvisorActivityRepository +public class CrmActivityRepository : ICrmActivityRepository { private readonly JsonSerializerOptions? _options = new JsonSerializerOptions { @@ -34,12 +34,12 @@ public class AdvisorActivityRepository : IAdvisorActivityRepository }; private readonly NavigationManager _navigation; - private readonly ILogger _logger; + private readonly ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public AdvisorActivityRepository(HttpClient client, - ILogger logger, + public CrmActivityRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; diff --git a/Wonky.Client/HttpRepository/AdvisorContactRepository.cs b/Wonky.Client/HttpRepository/CrmContactRepository.cs similarity index 93% rename from Wonky.Client/HttpRepository/AdvisorContactRepository.cs rename to Wonky.Client/HttpRepository/CrmContactRepository.cs index 28de1616..df8fd670 100644 --- a/Wonky.Client/HttpRepository/AdvisorContactRepository.cs +++ b/Wonky.Client/HttpRepository/CrmContactRepository.cs @@ -22,7 +22,7 @@ using Wonky.Entity.DTO; namespace Wonky.Client.HttpRepository; -public class AdvisorContactRepository : IAdvisorContactRepository +public class CrmContactRepository : ICrmContactRepository { private readonly JsonSerializerOptions _options = new () { @@ -30,12 +30,12 @@ public class AdvisorContactRepository : IAdvisorContactRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _conf; - public AdvisorContactRepository(HttpClient client, - ILogger logger, + public CrmContactRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions apiConfig) { diff --git a/Wonky.Client/HttpRepository/AdvisorCustomerHistoryRepository.cs b/Wonky.Client/HttpRepository/CrmCustomerHistoryRepository.cs similarity index 95% rename from Wonky.Client/HttpRepository/AdvisorCustomerHistoryRepository.cs rename to Wonky.Client/HttpRepository/CrmCustomerHistoryRepository.cs index ff8cbd17..20bc2931 100644 --- a/Wonky.Client/HttpRepository/AdvisorCustomerHistoryRepository.cs +++ b/Wonky.Client/HttpRepository/CrmCustomerHistoryRepository.cs @@ -22,7 +22,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class AdvisorCustomerHistoryRepository : IAdvisorCustomerHistoryRepository +public class CrmCustomerHistoryRepository : ICrmCustomerHistoryRepository { private readonly JsonSerializerOptions _options = new JsonSerializerOptions { @@ -30,12 +30,12 @@ public class AdvisorCustomerHistoryRepository : IAdvisorCustomerHistoryRepositor }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public AdvisorCustomerHistoryRepository( - HttpClient client, ILogger logger, + public CrmCustomerHistoryRepository( + HttpClient client, ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; diff --git a/Wonky.Client/HttpRepository/AdvisorCustomerRepository.cs b/Wonky.Client/HttpRepository/CrmCustomerRepository.cs similarity index 96% rename from Wonky.Client/HttpRepository/AdvisorCustomerRepository.cs rename to Wonky.Client/HttpRepository/CrmCustomerRepository.cs index 2ea3a07a..d6f2bbed 100644 --- a/Wonky.Client/HttpRepository/AdvisorCustomerRepository.cs +++ b/Wonky.Client/HttpRepository/CrmCustomerRepository.cs @@ -27,7 +27,7 @@ using Wonky.Entity.Requests; namespace Wonky.Client.HttpRepository; -public class AdvisorCustomerRepository : IAdvisorCustomerRepository +public class CrmCustomerRepository : ICrmCustomerRepository { private readonly JsonSerializerOptions _options = new() { @@ -35,12 +35,12 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _conf; - public AdvisorCustomerRepository(HttpClient client, - ILogger logger, + public CrmCustomerRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions apiConfig) { diff --git a/Wonky.Client/HttpRepository/CrmPublicProductRepository.cs b/Wonky.Client/HttpRepository/CrmPublicProductRepository.cs new file mode 100644 index 00000000..1c7c0edc --- /dev/null +++ b/Wonky.Client/HttpRepository/CrmPublicProductRepository.cs @@ -0,0 +1,38 @@ +using System.Net.Http.Json; +using System.Text.Json; +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Options; +using Wonky.Entity.Configuration; +using Wonky.Entity.DTO; +using Wonky.Entity.Views; + +namespace Wonky.Client.HttpRepository; + +public class CrmPublicProductRepository : ICrmPublicProductRepository +{ + private readonly JsonSerializerOptions? _options = new() + { + PropertyNameCaseInsensitive = true + }; + + private readonly NavigationManager _navigation; + private ILogger _logger; + private readonly HttpClient _client; + private readonly ApiConfig _api; + + public CrmPublicProductRepository(HttpClient client, ILogger logger, + NavigationManager navigation, IOptions configuration) + { + _client = client; + _logger = logger; + _navigation = navigation; + _api = configuration.Value; + } + + public async Task> GetProducts() + { + var result = await _client + .GetFromJsonAsync>(_api.PublicProducts, _options); + return result ?? new List(); + } +} \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/AdvisorReportRepository.cs b/Wonky.Client/HttpRepository/CrmSalesReportRepository.cs similarity index 95% rename from Wonky.Client/HttpRepository/AdvisorReportRepository.cs rename to Wonky.Client/HttpRepository/CrmSalesReportRepository.cs index a844a93e..a627b3c7 100644 --- a/Wonky.Client/HttpRepository/AdvisorReportRepository.cs +++ b/Wonky.Client/HttpRepository/CrmSalesReportRepository.cs @@ -23,7 +23,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class AdvisorReportRepository : IAdvisorReportRepository +public class CrmSalesReportRepository : ICrmSalesReportRepository { private readonly JsonSerializerOptions _options = new JsonSerializerOptions { @@ -31,12 +31,12 @@ public class AdvisorReportRepository : IAdvisorReportRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public AdvisorReportRepository(HttpClient client, - ILogger logger, + public CrmSalesReportRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; diff --git a/Wonky.Client/HttpRepository/AdvisorTaskItemRepository.cs b/Wonky.Client/HttpRepository/CrmTaskItemRepository.cs similarity index 93% rename from Wonky.Client/HttpRepository/AdvisorTaskItemRepository.cs rename to Wonky.Client/HttpRepository/CrmTaskItemRepository.cs index 7081b009..876cfc93 100644 --- a/Wonky.Client/HttpRepository/AdvisorTaskItemRepository.cs +++ b/Wonky.Client/HttpRepository/CrmTaskItemRepository.cs @@ -22,7 +22,7 @@ using Wonky.Entity.DTO; namespace Wonky.Client.HttpRepository; -public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository +public class CrmTaskItemRepository : ICrmTaskItemRepository { private readonly JsonSerializerOptions _options = new JsonSerializerOptions { @@ -31,12 +31,12 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _apiConfig; - public AdvisorTaskItemRepository(HttpClient client, - ILogger logger, + public CrmTaskItemRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; diff --git a/Wonky.Client/HttpRepository/AdvisorWorkplaceRepository.cs b/Wonky.Client/HttpRepository/CrmWorkplaceRepository.cs similarity index 95% rename from Wonky.Client/HttpRepository/AdvisorWorkplaceRepository.cs rename to Wonky.Client/HttpRepository/CrmWorkplaceRepository.cs index f546373e..b70714da 100644 --- a/Wonky.Client/HttpRepository/AdvisorWorkplaceRepository.cs +++ b/Wonky.Client/HttpRepository/CrmWorkplaceRepository.cs @@ -23,7 +23,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class AdvisorWorkplaceRepository : IAdvisorWorkplaceRepository +public class CrmWorkplaceRepository : ICrmWorkplaceRepository { private readonly JsonSerializerOptions? _options = new JsonSerializerOptions { @@ -31,13 +31,13 @@ public class AdvisorWorkplaceRepository : IAdvisorWorkplaceRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public AdvisorWorkplaceRepository(HttpClient client, - ILogger logger, + public CrmWorkplaceRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions configuration) { diff --git a/Wonky.Client/HttpRepository/IAdvisorActivityRepository.cs b/Wonky.Client/HttpRepository/ICrmActivityRepository.cs similarity index 98% rename from Wonky.Client/HttpRepository/IAdvisorActivityRepository.cs rename to Wonky.Client/HttpRepository/ICrmActivityRepository.cs index 51f155a4..08e97092 100644 --- a/Wonky.Client/HttpRepository/IAdvisorActivityRepository.cs +++ b/Wonky.Client/HttpRepository/ICrmActivityRepository.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.HttpRepository; /// /// Interface Activity CRM Http repository /// -public interface IAdvisorActivityRepository +public interface ICrmActivityRepository { /// /// Get a list of open quotes diff --git a/Wonky.Client/HttpRepository/IAdvisorContactRepository.cs b/Wonky.Client/HttpRepository/ICrmContactRepository.cs similarity index 97% rename from Wonky.Client/HttpRepository/IAdvisorContactRepository.cs rename to Wonky.Client/HttpRepository/ICrmContactRepository.cs index 377407b7..47681d20 100644 --- a/Wonky.Client/HttpRepository/IAdvisorContactRepository.cs +++ b/Wonky.Client/HttpRepository/ICrmContactRepository.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.HttpRepository; /// Interface for Contacts CRM Http repository /// /// -public interface IAdvisorContactRepository +public interface ICrmContactRepository { /// /// Create Contact diff --git a/Wonky.Client/HttpRepository/IAdvisorCustomerHistoryRepository.cs b/Wonky.Client/HttpRepository/ICrmCustomerHistoryRepository.cs similarity index 97% rename from Wonky.Client/HttpRepository/IAdvisorCustomerHistoryRepository.cs rename to Wonky.Client/HttpRepository/ICrmCustomerHistoryRepository.cs index c537b544..eaabee83 100644 --- a/Wonky.Client/HttpRepository/IAdvisorCustomerHistoryRepository.cs +++ b/Wonky.Client/HttpRepository/ICrmCustomerHistoryRepository.cs @@ -20,7 +20,7 @@ namespace Wonky.Client.HttpRepository; /// /// Interface Customer History CRM Http repository /// -public interface IAdvisorCustomerHistoryRepository +public interface ICrmCustomerHistoryRepository { /// /// Fetch Invoice LIst diff --git a/Wonky.Client/HttpRepository/IAdvisorCustomerRepository.cs b/Wonky.Client/HttpRepository/ICrmCustomerRepository.cs similarity index 98% rename from Wonky.Client/HttpRepository/IAdvisorCustomerRepository.cs rename to Wonky.Client/HttpRepository/ICrmCustomerRepository.cs index 7d63daed..ef82bc9a 100644 --- a/Wonky.Client/HttpRepository/IAdvisorCustomerRepository.cs +++ b/Wonky.Client/HttpRepository/ICrmCustomerRepository.cs @@ -22,7 +22,7 @@ namespace Wonky.Client.HttpRepository; /// /// Interface Customer CRM Http repository /// -public interface IAdvisorCustomerRepository +public interface ICrmCustomerRepository { /// /// Get a list of CRM customers (SalesRep) diff --git a/Wonky.Client/HttpRepository/ICrmPublicProductRepository.cs b/Wonky.Client/HttpRepository/ICrmPublicProductRepository.cs new file mode 100644 index 00000000..4b7b6a16 --- /dev/null +++ b/Wonky.Client/HttpRepository/ICrmPublicProductRepository.cs @@ -0,0 +1,9 @@ +using Wonky.Entity.DTO; +using Wonky.Entity.Views; + +namespace Wonky.Client.HttpRepository; + +public interface ICrmPublicProductRepository +{ + Task> GetProducts(); +} \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/IAdvisorReportRepository.cs b/Wonky.Client/HttpRepository/ICrmSalesReportRepository.cs similarity index 97% rename from Wonky.Client/HttpRepository/IAdvisorReportRepository.cs rename to Wonky.Client/HttpRepository/ICrmSalesReportRepository.cs index 299d5ce1..c624886e 100644 --- a/Wonky.Client/HttpRepository/IAdvisorReportRepository.cs +++ b/Wonky.Client/HttpRepository/ICrmSalesReportRepository.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.HttpRepository; /// /// Interface Report Http repository /// -public interface IAdvisorReportRepository +public interface ICrmSalesReportRepository { /// /// Report Exist for given data (SalesRep) diff --git a/Wonky.Client/HttpRepository/IAdvisorTaskItemRepository.cs b/Wonky.Client/HttpRepository/ICrmTaskItemRepository.cs similarity index 97% rename from Wonky.Client/HttpRepository/IAdvisorTaskItemRepository.cs rename to Wonky.Client/HttpRepository/ICrmTaskItemRepository.cs index d96d5f77..b20ef1ab 100644 --- a/Wonky.Client/HttpRepository/IAdvisorTaskItemRepository.cs +++ b/Wonky.Client/HttpRepository/ICrmTaskItemRepository.cs @@ -20,7 +20,7 @@ namespace Wonky.Client.HttpRepository; /// /// Interface for handling CRM Tasks http repository /// -public interface IAdvisorTaskItemRepository +public interface ICrmTaskItemRepository { /// /// Get Task List (SalesRep) diff --git a/Wonky.Client/HttpRepository/IAdvisorWorkplaceRepository.cs b/Wonky.Client/HttpRepository/ICrmWorkplaceRepository.cs similarity index 92% rename from Wonky.Client/HttpRepository/IAdvisorWorkplaceRepository.cs rename to Wonky.Client/HttpRepository/ICrmWorkplaceRepository.cs index f376da68..98f0b6e2 100644 --- a/Wonky.Client/HttpRepository/IAdvisorWorkplaceRepository.cs +++ b/Wonky.Client/HttpRepository/ICrmWorkplaceRepository.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.HttpRepository; /// /// Interface for handling Customer Workplaces (chemical document service) /// -public interface IAdvisorWorkplaceRepository +public interface ICrmWorkplaceRepository { /// /// Get Workplaces for given customer id @@ -70,6 +70,15 @@ public interface IAdvisorWorkplaceRepository /// Task GetWorkplaceInventory(string companyId, string workplaceId); + /// + /// Remove single document by Id + /// + /// + /// + /// + /// + Task DeleteWorkplaceDocuments(string companyId, string workplaceId, string documentId); + /// /// Remove a document pair from the workplace /// @@ -79,6 +88,4 @@ public interface IAdvisorWorkplaceRepository /// /// Task DeleteWorkplaceDocuments(string companyId, string workplaceId, string apbDocumentId, string apvDocumentId); - - Task DeleteWorkplaceDocuments(string companyId, string workplaceId, string documentId); } \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/SystemKrvProductRepository.cs b/Wonky.Client/HttpRepository/SystemKrvProductRepository.cs new file mode 100644 index 00000000..e5ccb91d --- /dev/null +++ b/Wonky.Client/HttpRepository/SystemKrvProductRepository.cs @@ -0,0 +1,59 @@ +using System.Text.Json; +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Options; +using Wonky.Entity.Configuration; +using Wonky.Entity.DTO; + +namespace Wonky.Client.HttpRepository; + +public class SystemKrvProductRepository : ISystemKrvProductRepository +{ + private readonly JsonSerializerOptions? _options = new JsonSerializerOptions + { + PropertyNameCaseInsensitive = true + }; + + private readonly NavigationManager _navigation; + private ILogger _logger; + private readonly HttpClient _client; + private readonly ApiConfig _api; + + public SystemKrvProductRepository(HttpClient client, ILogger logger, + NavigationManager navigation, IOptions configuration) + { + _client = client; + _logger = logger; + _navigation = navigation; + _api = configuration.Value; + } + + public async Task> GetProducts() + { + throw new NotImplementedException(); + } + + public async Task GetProduct(string productId) + { + throw new NotImplementedException(); + } + + public async Task CreateProduct(KrvProductDto product) + { + throw new NotImplementedException(); + } + + public async Task DeleteProduct(string productId) + { + throw new NotImplementedException(); + } + + public async Task UpdateProduct(string productId, KrvProductDto product) + { + throw new NotImplementedException(); + } + + public async Task EditProduct(string productId) + { + throw new NotImplementedException(); + } +} \ No newline at end of file diff --git a/Wonky.Client/OverlayCustomer/CustomerInventoryReorderOverlay.razor.cs b/Wonky.Client/OverlayCustomer/CustomerInventoryReorderOverlay.razor.cs index 3cb5f009..0e51b0cf 100644 --- a/Wonky.Client/OverlayCustomer/CustomerInventoryReorderOverlay.razor.cs +++ b/Wonky.Client/OverlayCustomer/CustomerInventoryReorderOverlay.razor.cs @@ -27,7 +27,7 @@ public partial class CustomerInventoryReorderOverlay { [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public SalesItemView SalesItem { get; set; } = new(); - [Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; } + [Inject] public ICrmCustomerHistoryRepository HistoryRepo { get; set; } [Parameter] public EventCallback OnSelected { get; set; } private List? History { get; set; } = new(); private DraftItem SelectedItem { get; set; } = new(); diff --git a/Wonky.Client/OverlayCustomer/CustomerInvoiceViewOverlay.razor.cs b/Wonky.Client/OverlayCustomer/CustomerInvoiceViewOverlay.razor.cs index e2298f10..87b4a322 100644 --- a/Wonky.Client/OverlayCustomer/CustomerInvoiceViewOverlay.razor.cs +++ b/Wonky.Client/OverlayCustomer/CustomerInvoiceViewOverlay.razor.cs @@ -27,7 +27,7 @@ public partial class CustomerInvoiceViewOverlay : IDisposable [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string InvoiceId { get; set; } = ""; [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; } + [Inject] public ICrmCustomerHistoryRepository HistoryRepo { get; set; } private string _modalDisplay = ""; private bool _showBackdrop; private InvoiceView Invoice { get; set; } = new(); diff --git a/Wonky.Client/OverlayOrderCreate/ProductHistoryOverlay.razor.cs b/Wonky.Client/OverlayOrderCreate/ProductHistoryOverlay.razor.cs index d0e669b3..e9cf918c 100644 --- a/Wonky.Client/OverlayOrderCreate/ProductHistoryOverlay.razor.cs +++ b/Wonky.Client/OverlayOrderCreate/ProductHistoryOverlay.razor.cs @@ -27,7 +27,7 @@ public partial class ProductHistoryOverlay // [Parameter] public EventCallback OnSelected { get; set; } [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string ItemSku { get; set; } = ""; - [Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; } + [Inject] public ICrmCustomerHistoryRepository HistoryRepo { get; set; } private List? History { get; set; } private string ProductName { get; set; } = ""; private string _modalDisplay = ""; diff --git a/Wonky.Client/OverlayOrderCreate/ProductPriceHistoryOverlay.razor.cs b/Wonky.Client/OverlayOrderCreate/ProductPriceHistoryOverlay.razor.cs index a41e48b0..2cd981be 100644 --- a/Wonky.Client/OverlayOrderCreate/ProductPriceHistoryOverlay.razor.cs +++ b/Wonky.Client/OverlayOrderCreate/ProductPriceHistoryOverlay.razor.cs @@ -27,7 +27,7 @@ public partial class ProductPriceHistoryOverlay [Parameter] public EventCallback OnSelected { get; set; } [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string Sku { get; set; } = ""; - [Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; } + [Inject] public ICrmCustomerHistoryRepository HistoryRepo { get; set; } private List? ProductHistory { get; set; } private string ProductName { get; set; } = ""; private string _modalDisplay = ""; diff --git a/Wonky.Client/Pages/AdvisorActivityCreatePage.razor b/Wonky.Client/Pages/AdvisorActivityCreatePage.razor index 8cb1e2d9..fc12a1ab 100644 --- a/Wonky.Client/Pages/AdvisorActivityCreatePage.razor +++ b/Wonky.Client/Pages/AdvisorActivityCreatePage.razor @@ -387,7 +387,7 @@ else
@* diff --git a/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs b/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs index ed5d2885..6f8c17ae 100644 --- a/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs +++ b/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs @@ -45,10 +45,10 @@ public partial class AdvisorActivityCreatePage : IDisposable [Inject] public NavigationManager Navigator { get; set; } [Inject] public ILocalStorageService Storage { get; set; } [Inject] public ICountryCatalogRepository CatalogRepo { get; set; } - [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } - [Inject] public IAdvisorActivityRepository ActivityRepo { get; set; } - [Inject] public IAdvisorReportRepository ReportRepo { get; set; } - [Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; } + [Inject] public ICrmCustomerRepository CompanyRepo { get; set; } + [Inject] public ICrmActivityRepository ActivityRepo { get; set; } + [Inject] public ICrmSalesReportRepository ReportRepo { get; set; } + [Inject] public ICrmCustomerHistoryRepository HistoryRepo { get; set; } [Inject] public IUserInfoService UserInfo { get; set; } // ############################################################# diff --git a/Wonky.Client/Pages/AdvisorActivityTodayListPage.razor.cs b/Wonky.Client/Pages/AdvisorActivityTodayListPage.razor.cs index 2fa27958..17d9d9ba 100644 --- a/Wonky.Client/Pages/AdvisorActivityTodayListPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorActivityTodayListPage.razor.cs @@ -33,8 +33,8 @@ public partial class AdvisorActivityTodayListPage : IDisposable [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public IAdvisorActivityRepository ActivityRepo { get; set; } - [Inject] public IAdvisorReportRepository ReportRepo { get; set; } + [Inject] public ICrmActivityRepository ActivityRepo { get; set; } + [Inject] public ICrmSalesReportRepository ReportRepo { get; set; } [Inject] public IToastService Toaster { get; set; } private ReportStatusView ReportStatusView { get; set; } = new(); private UserPreference UserPreference { get; set; } = new(); diff --git a/Wonky.Client/Pages/AdvisorActivityViewEditPage.razor.cs b/Wonky.Client/Pages/AdvisorActivityViewEditPage.razor.cs index a2da8d68..85878c6b 100644 --- a/Wonky.Client/Pages/AdvisorActivityViewEditPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorActivityViewEditPage.razor.cs @@ -31,7 +31,7 @@ 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 ICrmActivityRepository CrmActivityRepo { get; set; } [Inject] public ILogger Logger { get; set; } [Inject] public IToastService Toaster { get; set; } [Inject] public NavigationManager Navigator { get; set; } @@ -49,7 +49,7 @@ public partial class AdvisorActivityViewEditPage : IDisposable Interceptor.RegisterBeforeSendEvent(); NoteContext = new EditContext(Note); NoteContext.OnFieldChanged += HandleFieldChanged; - ReportItem = await AdvisorActivityRepo.GetReportItem(OrderId); + ReportItem = await CrmActivityRepo.GetReportItem(OrderId); Note.ActivityId = ReportItem.ActivityId; Note.OfficeNote = ReportItem.OfficeNote; Logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem)); @@ -66,7 +66,7 @@ public partial class AdvisorActivityViewEditPage : IDisposable Working = true; Disabled = true; Logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(Note)); - await AdvisorActivityRepo.UpdateOfficeNote(Note); + await CrmActivityRepo.UpdateOfficeNote(Note); Toaster.ShowInfo($"{ReportItem.ESalesNumber} - notat opdateret"); Navigator.NavigateTo("/advisor/activity-today"); } diff --git a/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor b/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor index d9b3efda..7770a78d 100644 --- a/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor @@ -28,10 +28,10 @@

@Company.Name

diff --git a/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs index e4795de5..34a5a818 100644 --- a/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs @@ -28,8 +28,8 @@ public partial class AdvisorCustomerActivityListPage : IDisposable { // ###################################################################### [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; } - [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } + [Inject] public ICrmActivityRepository CrmActivityRepo { get; set; } + [Inject] public ICrmCustomerRepository CompanyRepo { get; set; } // ###################################################################### [Parameter] public string CompanyId { get; set; } = ""; @@ -53,7 +53,7 @@ public partial class AdvisorCustomerActivityListPage : IDisposable private async Task GetActivities() { - ActivityList = await AdvisorActivityRepo.GetCustomerActivities(CompanyId); + ActivityList = await CrmActivityRepo.GetCustomerActivities(CompanyId); if (ActivityList.Any()) ActivityList = ActivityList.OrderByDescending(x => x.OrderDate).ToList(); } diff --git a/Wonky.Client/Pages/AdvisorCustomerCreatePage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerCreatePage.razor.cs index 8bc6dff8..a50f758b 100644 --- a/Wonky.Client/Pages/AdvisorCustomerCreatePage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerCreatePage.razor.cs @@ -38,7 +38,7 @@ public partial class AdvisorCustomerCreatePage : IDisposable [Inject] public ILogger Logger { get; set; } [Inject] public ILocalStorageService Storage { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } + [Inject] public ICrmCustomerRepository CompanyRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public VatInfoLookupService VatService { get; set; } [Inject] public IUserInfoService UserInfoService { get; set; } diff --git a/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor index d3a1362a..972acd58 100644 --- a/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor @@ -25,10 +25,10 @@

Produkt oversigt @Company.Name

diff --git a/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs index 31f4b5d3..faae3dd6 100644 --- a/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs @@ -32,8 +32,8 @@ namespace Wonky.Client.Pages; public partial class AdvisorCustomerInventoryListPage : IDisposable { - [Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; } - [Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; } + [Inject] public ICrmCustomerHistoryRepository HistoryRepo { get; set; } + [Inject] public ICrmCustomerRepository CustomerRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public IToastService Toaster { get; set; } [Inject] public ILogger Logger { get; set; } diff --git a/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor b/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor index b2c7ea48..f85c5c62 100644 --- a/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor @@ -26,10 +26,10 @@

@Company.Name

diff --git a/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor.cs index d4f135ba..aaf7f038 100644 --- a/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor.cs @@ -28,9 +28,9 @@ namespace Wonky.Client.Pages; public partial class AdvisorCustomerInvoiceListPage : IDisposable { - [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } + [Inject] public ICrmCustomerRepository CompanyRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; } + [Inject] public ICrmCustomerHistoryRepository HistoryRepo { get; set; } [Inject] public IToastService Toaster { get; set; } [Inject] public ILocalStorageService Storage { get; set; } [Inject] public ILogger Logger { get; set; } diff --git a/Wonky.Client/Pages/AdvisorCustomerPagedListPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerPagedListPage.razor.cs index 2944c191..ea14b873 100644 --- a/Wonky.Client/Pages/AdvisorCustomerPagedListPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerPagedListPage.razor.cs @@ -31,7 +31,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable // ######################################################################3 [Inject] public ILocalStorageService Storage { get; set; } [Inject] public UserPreferenceService PreferenceService { get; set; } - [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } + [Inject] public ICrmCustomerRepository CompanyRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } [Inject] public IUserInfoService UserInfoService { get; set; } diff --git a/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor b/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor index af02ab6c..6d8ba61f 100644 --- a/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor @@ -19,7 +19,7 @@ @using Wonky.Entity.Configuration @attribute [Authorize(Roles = "Advisor")] @page "/advisor/customers/{CompanyId}" -Kundekort for @Company.Name +Stamkort for @Company.Name @*
@@ -50,10 +50,16 @@

Ring til kontoret. Denne konto er spærret med kode '@Company.Blocked'

} -
-
- @Company.Name (@Company.Account) +
+
+
+ @Company.Name (@Company.Account) +
+ +
// erp context @@ -116,12 +122,12 @@ @if (!Kanvas) { - @if (AppInfo.Value.Rc) + @if (AppInfo!.Value!.Rc) {
- + diff --git a/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor.cs index a7558689..6a9e48b7 100644 --- a/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor.cs @@ -40,9 +40,9 @@ public partial class AdvisorCustomerViewEditPage : IDisposable [Inject] public IToastService Toaster { get; set; } [Inject] public ILogger Logger { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; } - [Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; } - [Inject] public IAdvisorContactRepository AdvisorContactRepo { get; set; } + [Inject] public ICrmCustomerRepository CustomerRepo { get; set; } + [Inject] public ICrmCustomerHistoryRepository HistoryRepo { get; set; } + [Inject] public ICrmContactRepository CrmContactRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public VatInfoLookupService VatService { get; set; } [Inject] public ILocalStorageService Storage { get; set; } @@ -206,7 +206,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable private async Task FetchContacts(string companyId) { // load contacts - Contacts = await AdvisorContactRepo.GetContacts(companyId); + Contacts = await CrmContactRepo.GetContacts(companyId); if (Contacts.Any() && Contacts.Count > 1) Contacts = Contacts.OrderBy(x => x.FirstName).ToList(); } @@ -273,14 +273,14 @@ public partial class AdvisorCustomerViewEditPage : IDisposable // new contact created Logger.LogDebug("create => {}", jsonContact); // send post request to backend - await AdvisorContactRepo.CreateContact(contact); + await CrmContactRepo.CreateContact(contact); } else { // contact modified Logger.LogDebug("update => {}", jsonContact); // send put request to backend - await AdvisorContactRepo.UpdateContact(contact); + await CrmContactRepo.UpdateContact(contact); } // reset selected contact @@ -299,7 +299,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable Working = true; Logger.LogDebug("delete {}", contactId); // send delete request to backend - await AdvisorContactRepo.DeleteContact(CompanyId, contactId); + await CrmContactRepo.DeleteContact(CompanyId, contactId); // reset selected contact SelectedContact = new ContactDto(); // reload contacts from backend diff --git a/Wonky.Client/Pages/AdvisorQuoteListPage.razor.cs b/Wonky.Client/Pages/AdvisorQuoteListPage.razor.cs index 4b900784..7ca9602d 100644 --- a/Wonky.Client/Pages/AdvisorQuoteListPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorQuoteListPage.razor.cs @@ -29,7 +29,7 @@ namespace Wonky.Client.Pages; public partial class AdvisorQuoteListPage : IDisposable { - [Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; } + [Inject] public ICrmActivityRepository CrmActivityRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public ILogger Logger { get; set; } [Inject] public IToastService Toaster { get; set; } @@ -44,7 +44,7 @@ public partial class AdvisorQuoteListPage : IDisposable Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); Working = true; - QuoteList = await AdvisorActivityRepo.GetQuotes(); + QuoteList = await CrmActivityRepo.GetQuotes(); await Storage.SetItemAsync("quotes", QuoteList.OrderBy(x => x.Company.Name)); Working = false; // filter quotes - if any - default to QStatus.NoteOpen @@ -76,12 +76,12 @@ public partial class AdvisorQuoteListPage : IDisposable quote.OrderDate = $"{DateTime.Now:yyyy-MM-dd}"; quote.QuoteStatusEnum = Utils.EnumToString(args.Status); // send update request to backend - var response = await AdvisorActivityRepo.UpdateQuoteStatus(quote); + var response = await CrmActivityRepo.UpdateQuoteStatus(quote); Toaster.ShowInfo($"{response.Message}"); // clear and reload quotes QuoteList = new List(); await Storage.RemoveItemAsync("quotes"); - QuoteList = await AdvisorActivityRepo.GetQuotes(); + QuoteList = await CrmActivityRepo.GetQuotes(); // store quotes in local storage await Storage.SetItemAsync("quotes", QuoteList.OrderBy(x => x.Company.Name)); // filter quotes - if any - based on active filter diff --git a/Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs b/Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs index fc36d13a..4c29fdbd 100644 --- a/Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs +++ b/Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs @@ -34,7 +34,7 @@ public partial class AdvisorReportCreatePage : IDisposable // ########################################################################## [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public UserPreferenceService PreferenceService { get; set; } - [Inject] public IAdvisorReportRepository AdvisorReportRepo { get; set; } + [Inject] public ICrmSalesReportRepository CrmSalesReportRepo { get; set; } [Inject] public NavigationManager Navigator { get; set; } [Inject] public ILogger Logger { get; set; } [Inject] public IToastService Toaster { get; set; } @@ -95,7 +95,7 @@ public partial class AdvisorReportCreatePage : IDisposable ThisWorkDate = DateTime.Parse(WorkDate); } - if (await AdvisorReportRepo.ReportExist(WorkDate)) + if (await CrmSalesReportRepo.ReportExist(WorkDate)) { Navigator.NavigateTo($"/advisor/reports/view/{ThisWorkDate:yyyy-MM-dd}"); } @@ -133,7 +133,7 @@ public partial class AdvisorReportCreatePage : IDisposable InitialValues = new ReportFiguresDto(); Activities = new List(); - var data = await AdvisorReportRepo.InitializeReportData(WorkDate); + var data = await CrmSalesReportRepo.InitializeReportData(WorkDate); if(data.ReportClosed) Navigator.NavigateTo($"/advisor/reports/view/{ThisWorkDate:yyyy-MM-dd}"); @@ -201,7 +201,7 @@ public partial class AdvisorReportCreatePage : IDisposable return; Working = true; - var result = await AdvisorReportRepo.CreateReport(WorkDate, Report); + var result = await CrmSalesReportRepo.CreateReport(WorkDate, Report); Logger.LogDebug("CreateReport.result => {}", JsonSerializer.Serialize(result)); // reset km and date confirmation diff --git a/Wonky.Client/Pages/AdvisorReportListPage.razor.cs b/Wonky.Client/Pages/AdvisorReportListPage.razor.cs index 53fd88f3..688a78d3 100644 --- a/Wonky.Client/Pages/AdvisorReportListPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorReportListPage.razor.cs @@ -24,7 +24,7 @@ namespace Wonky.Client.Pages; public partial class AdvisorReportListPage : IDisposable { - [Inject] public IAdvisorReportRepository AdvisorReportRepo { get; set; } + [Inject] public ICrmSalesReportRepository CrmSalesReportRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } [Inject] public ILogger Logger { get; set; } @@ -39,7 +39,7 @@ public partial class AdvisorReportListPage : IDisposable Working = true; - var reports = await AdvisorReportRepo.GetReports(); + var reports = await CrmSalesReportRepo.GetReports(); if (reports.Any()) ReportList = reports.OrderByDescending(x => x.ReportDate).ToList(); diff --git a/Wonky.Client/Pages/AdvisorReportViewPage.razor.cs b/Wonky.Client/Pages/AdvisorReportViewPage.razor.cs index 32080ebc..fcea1381 100644 --- a/Wonky.Client/Pages/AdvisorReportViewPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorReportViewPage.razor.cs @@ -30,7 +30,7 @@ namespace Wonky.Client.Pages; public partial class AdvisorReportViewPage : IDisposable { [Parameter] public string ReportDate { get; set; } - [Inject] public IAdvisorReportRepository AdvisorReportRepo { get; set; } + [Inject] public ICrmSalesReportRepository CrmSalesReportRepo { get; set; } [Inject] public NavigationManager Navigator { get; set; } [Inject] public ILocalStorageService Storage { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } @@ -106,7 +106,7 @@ public partial class AdvisorReportViewPage : IDisposable Working = true; // fetch report - Report = await AdvisorReportRepo.GetReport(workDate); + Report = await CrmSalesReportRepo.GetReport(workDate); // extract activities Activities = Report.ReportItems.Where(x => x.Lines.Any()).ToList(); diff --git a/Wonky.Client/Pages/AdvisorTaskItemListCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorTaskItemListCrmPage.razor.cs index 89941c8e..07114053 100644 --- a/Wonky.Client/Pages/AdvisorTaskItemListCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorTaskItemListCrmPage.razor.cs @@ -30,7 +30,7 @@ public partial class AdvisorTaskItemListCrmPage : IDisposable [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public IAdvisorTaskItemRepository TaskRepo { get; set; } + [Inject] public ICrmTaskItemRepository TaskRepo { get; set; } [Inject] public IToastService Toaster { get; set; } private UserPreference Profile { get; set; } = new(); private string WorkDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; diff --git a/Wonky.Client/Pages/AdvisorTaskItemViewCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorTaskItemViewCrmPage.razor.cs index b5e3a969..62f16620 100644 --- a/Wonky.Client/Pages/AdvisorTaskItemViewCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorTaskItemViewCrmPage.razor.cs @@ -28,7 +28,7 @@ public partial class AdvisorTaskItemViewCrmPage : IDisposable { [Parameter] public string TaskItemId { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IAdvisorTaskItemRepository TaskRepo { get; set; } + [Inject] public ICrmTaskItemRepository TaskRepo { get; set; } private TaskItemDto TaskItem { get; set; } = new (); private EditContext TaskContext { get; set; } private bool Working { get; set; } = true; diff --git a/Wonky.Client/Pages/CrmCustomerWorkplaceDocumentAddPage.razor b/Wonky.Client/Pages/CrmCustomerWorkplaceDocumentAddPage.razor new file mode 100644 index 00000000..cf0cf948 --- /dev/null +++ b/Wonky.Client/Pages/CrmCustomerWorkplaceDocumentAddPage.razor @@ -0,0 +1,52 @@ +@* 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 Microsoft.AspNetCore.Authorization +@using Wonky.Client.Components +@attribute [Authorize(Roles = "Advisor")] +@page "/advisor/customers/{CompanyId}/workplaces/{WorkplaceId}/newdoc" +@Workplace.CompanyName - @Workplace.Name +
+
+

@Workplace.CompanyName

+
+
+

@Workplace.Name @(!string.IsNullOrWhiteSpace(Workplace.Description) ? $"- {Workplace.Description}" : "")

+
+ + +
+ + + +@if (Working) +{ + +} + + +@* +
+
+ + + +
+
+*@ diff --git a/Wonky.Client/Pages/CrmCustomerWorkplaceDocumentAddPage.razor.cs b/Wonky.Client/Pages/CrmCustomerWorkplaceDocumentAddPage.razor.cs new file mode 100644 index 00000000..7b572cf6 --- /dev/null +++ b/Wonky.Client/Pages/CrmCustomerWorkplaceDocumentAddPage.razor.cs @@ -0,0 +1,109 @@ +// 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.Text; +using System.Text.Json; +using Blazored.Toast.Services; +using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components.Forms; +using Wonky.Client.HttpInterceptors; +using Wonky.Client.HttpRepository; +using Wonky.Client.Local.Services; +using Wonky.Client.Models; +using Wonky.Client.Shared; +using Wonky.Entity.DTO; +using Wonky.Entity.Views; +using Wonky.Client.Helpers; + +#pragma warning disable CS8618 +namespace Wonky.Client.Pages; + +public partial class CrmCustomerWorkplaceDocumentAddPage : IDisposable +{ + // ############################################################# + [Inject] public ICrmWorkplaceRepository Workplaces { get; set; } + [Inject] public ICrmWorkplaceRepository WorkplaceRepo { get; set; } + [Inject] public HttpInterceptorService Interceptor { get; set; } + [Inject] public NavigationManager Navigator { get; set; } + [Inject] public ILogger Logger { get; set; } + [Inject] public ISystemSendMailService SendMail { get; set; } + [Inject] public IToastService Toaster { get; set; } + + // ############################################################# + [Parameter] public string CompanyId { get; set; } = ""; + [Parameter] public string WorkplaceId { get; set; } = ""; + + // ############################################################# + private WorkplaceDto Workplace { get; set; } = new(); + private EditContext WorkplaceContext { get; set; } + private bool Working { get; set; } = true; + private WorkplaceInventory WorkplaceInventory { get; set; } = new(); + private List DocViews { get; set; } = new(); + private ConfirmDeleteModal ConfirmDeleteWorkplace { get; set; } + private ConfirmDeleteModal ConfirmDeleteProduct { get; set; } + private string DeleteMessage { get; set; } = ""; + private string LinkRecipients { get; set; } = ""; + private const string CopyText = "Kopier"; + private const string CopyStyle = "btn btn-primary"; + private const string SuccessText = "Kopieret"; + private const string SuccessStyle = "btn btn-success"; + private string _buttonText = CopyText; + private string _buttonStyle = CopyStyle; + + + protected override async Task OnInitializedAsync() + { + WorkplaceContext = new EditContext(Workplace); + WorkplaceContext.OnFieldChanged += HandleFieldChanged!; + WorkplaceContext.OnValidationStateChanged += ValidationChanged!; + + Interceptor.RegisterEvent(); + Interceptor.RegisterBeforeSendEvent(); + + Workplace = await Workplaces.GetWorkplace(CompanyId, WorkplaceId); + WorkplaceInventory = await WorkplaceRepo.GetWorkplaceInventory(CompanyId, WorkplaceId); + + Working = false; + } + + + private void HandleFieldChanged(object sender, FieldChangedEventArgs e) + { + + WorkplaceContext.Validate(); + + StateHasChanged(); + } + + + private void ValidationChanged(object sender, ValidationStateChangedEventArgs e) + { + WorkplaceContext.OnFieldChanged -= HandleFieldChanged!; + WorkplaceContext.OnValidationStateChanged -= ValidationChanged!; + + WorkplaceContext = new EditContext(Workplace); + + WorkplaceContext.OnFieldChanged += HandleFieldChanged!; + WorkplaceContext.OnValidationStateChanged += ValidationChanged!; + } + + + public void Dispose() + { + WorkplaceContext.OnFieldChanged += HandleFieldChanged!; + WorkplaceContext.OnValidationStateChanged += ValidationChanged!; + Interceptor.DisposeEvent(); + } +} diff --git a/Wonky.Client/Pages/AdvisorCustomerWorkplaceListPage.razor b/Wonky.Client/Pages/CrmCustomerWorkplaceListPage.razor similarity index 97% rename from Wonky.Client/Pages/AdvisorCustomerWorkplaceListPage.razor rename to Wonky.Client/Pages/CrmCustomerWorkplaceListPage.razor index 1499ebc4..8e55527a 100644 --- a/Wonky.Client/Pages/AdvisorCustomerWorkplaceListPage.razor +++ b/Wonky.Client/Pages/CrmCustomerWorkplaceListPage.razor @@ -27,7 +27,7 @@

@Company.Name

Arbejdssted diff --git a/Wonky.Client/Pages/AdvisorCustomerWorkplaceListPage.razor.cs b/Wonky.Client/Pages/CrmCustomerWorkplaceListPage.razor.cs similarity index 90% rename from Wonky.Client/Pages/AdvisorCustomerWorkplaceListPage.razor.cs rename to Wonky.Client/Pages/CrmCustomerWorkplaceListPage.razor.cs index 81fbaaa3..85bc8f49 100644 --- a/Wonky.Client/Pages/AdvisorCustomerWorkplaceListPage.razor.cs +++ b/Wonky.Client/Pages/CrmCustomerWorkplaceListPage.razor.cs @@ -24,11 +24,11 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class AdvisorCustomerWorkplaceListPage : IDisposable +public partial class CrmCustomerWorkplaceListPage : IDisposable { // ############################################################### - [Inject] public IAdvisorWorkplaceRepository WorkplaceRepo { get; set; } - [Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; } + [Inject] public ICrmWorkplaceRepository WorkplaceRepo { get; set; } + [Inject] public ICrmCustomerRepository CustomerRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } // ############################################################### diff --git a/Wonky.Client/Pages/AdvisorCustomerWorkplaceNew.razor b/Wonky.Client/Pages/CrmCustomerWorkplaceNewPage.razor similarity index 94% rename from Wonky.Client/Pages/AdvisorCustomerWorkplaceNew.razor rename to Wonky.Client/Pages/CrmCustomerWorkplaceNewPage.razor index 093f5e09..12ae5944 100644 --- a/Wonky.Client/Pages/AdvisorCustomerWorkplaceNew.razor +++ b/Wonky.Client/Pages/CrmCustomerWorkplaceNewPage.razor @@ -22,11 +22,11 @@

@Company.Name Opret Arbejdssted

-
- Kundekort + - diff --git a/Wonky.Client/Pages/AdvisorCustomerWorkplaceNew.razor.cs b/Wonky.Client/Pages/CrmCustomerWorkplaceNewPage.razor.cs similarity index 86% rename from Wonky.Client/Pages/AdvisorCustomerWorkplaceNew.razor.cs rename to Wonky.Client/Pages/CrmCustomerWorkplaceNewPage.razor.cs index 246d5587..a56e76d0 100644 --- a/Wonky.Client/Pages/AdvisorCustomerWorkplaceNew.razor.cs +++ b/Wonky.Client/Pages/CrmCustomerWorkplaceNewPage.razor.cs @@ -25,14 +25,15 @@ namespace Wonky.Client.Pages; #pragma warning disable CS8618 -public partial class AdvisorCustomerWorkplaceNew : IDisposable +public partial class CrmCustomerWorkplaceNewPage : IDisposable { // ############################################################### [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; } - [Inject] public IAdvisorWorkplaceRepository WorkplaceRepo { get; set; } + [Inject] public ICrmCustomerRepository CustomerRepo { get; set; } + [Inject] public ICrmWorkplaceRepository WorkplaceRepo { 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; } // ############################################################### [Parameter] public string CompanyId { get; set; } = ""; @@ -76,6 +77,11 @@ public partial class AdvisorCustomerWorkplaceNew : IDisposable Logger.LogDebug("Workplace {}", JsonSerializer.Serialize(Workplace, new JsonSerializerOptions(JsonSerializerDefaults.Web))); var result = await WorkplaceRepo.CreateWorkplace(CompanyId, Workplace); Logger.LogDebug("HTTP result {}", result); + if (!string.IsNullOrWhiteSpace(result)) + { + Navigator.NavigateTo($"/advisor/customers/{CompanyId}/workplaces/{result}"); + Toaster.ShowSuccess("Arbejdssted er oprettet."); + } } private void HandleFieldChanged(object sender, FieldChangedEventArgs e) diff --git a/Wonky.Client/Pages/AdvisorCustomerWorkplaceViewEditPage.razor b/Wonky.Client/Pages/CrmCustomerWorkplaceViewEditPage.razor similarity index 75% rename from Wonky.Client/Pages/AdvisorCustomerWorkplaceViewEditPage.razor rename to Wonky.Client/Pages/CrmCustomerWorkplaceViewEditPage.razor index b253a45d..43f8eb31 100644 --- a/Wonky.Client/Pages/AdvisorCustomerWorkplaceViewEditPage.razor +++ b/Wonky.Client/Pages/CrmCustomerWorkplaceViewEditPage.razor @@ -26,9 +26,9 @@

@Workplace.Name @(!string.IsNullOrWhiteSpace(Workplace.Description) ? $"- {Workplace.Description}" : "")

- @@ -98,49 +98,43 @@
-
- -
-
+
-
-
-
- - - -
-
-
-
- - - -
-
-
-
    -
  1. -
    -
    -
    Produkt Oversigt
    +
  2. +
    +
    +
    Produkt Oversigt
    -
    - Åbn liste med QR-koder +
    +
    +
    + + + +
    +
    +
    +
    + + + +
    +
  3. @@ -153,19 +147,19 @@
    @docView.VariantName.ToUpperInvariant()
    +
    +
    @docView.DocumentDate
    -
    - -
@@ -173,9 +167,14 @@ } +
+
+ +
+
@if (Working) { } - \ No newline at end of file + \ No newline at end of file diff --git a/Wonky.Client/Pages/AdvisorCustomerWorkplaceViewEditPage.razor.cs b/Wonky.Client/Pages/CrmCustomerWorkplaceViewEditPage.razor.cs similarity index 91% rename from Wonky.Client/Pages/AdvisorCustomerWorkplaceViewEditPage.razor.cs rename to Wonky.Client/Pages/CrmCustomerWorkplaceViewEditPage.razor.cs index cfb71829..f9ab8fc5 100644 --- a/Wonky.Client/Pages/AdvisorCustomerWorkplaceViewEditPage.razor.cs +++ b/Wonky.Client/Pages/CrmCustomerWorkplaceViewEditPage.razor.cs @@ -30,15 +30,15 @@ using Wonky.Client.Helpers; #pragma warning disable CS8618 namespace Wonky.Client.Pages; -public partial class AdvisorCustomerWorkplaceViewEditPage : IDisposable +public partial class CrmCustomerWorkplaceViewEditPage : IDisposable { // ############################################################# - [Inject] public IAdvisorWorkplaceRepository Workplaces { get; set; } - [Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; } - [Inject] public IAdvisorWorkplaceRepository WorkplaceRepo { get; set; } + [Inject] public ICrmWorkplaceRepository Workplaces { get; set; } + [Inject] public ICrmCustomerRepository CustomerRepo { get; set; } + [Inject] public ICrmWorkplaceRepository WorkplaceRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public ISystemSendMailService SendMail { get; set; } [Inject] public IUserInfoService UserInfo { get; set; } [Inject] public IClipboardService Clipboard { get; set; } @@ -54,7 +54,8 @@ public partial class AdvisorCustomerWorkplaceViewEditPage : IDisposable private bool Working { get; set; } = true; private WorkplaceInventory WorkplaceInventory { get; set; } = new(); private List DocViews { get; set; } = new(); - private ConfirmDeleteModal ConfirmDelete { get; set; } + private ConfirmDeleteModal ConfirmDeleteWorkplace { get; set; } + private ConfirmDeleteModal ConfirmDeleteProduct { get; set; } private string DeleteMessage { get; set; } = ""; private string LinkRecipients { get; set; } = ""; private const string CopyText = "Kopier"; @@ -79,7 +80,6 @@ public partial class AdvisorCustomerWorkplaceViewEditPage : IDisposable DocViews = GenerateDocumentListView(); Working = false; - DeleteMessage = $"Bekræft at du sletter
{Workplace.Name} fra {Workplace.CompanyName}?
AL INFORMATION slettes og handlingen er uigenkaldelig."; } @@ -153,32 +153,36 @@ public partial class AdvisorCustomerWorkplaceViewEditPage : IDisposable Working = true; await Workplaces.UpdateWorkplace(CompanyId, Workplace); Working = false; + Toaster.ShowSuccess("Arbejdssted er opdateret"); } private void OnConfirmDeleteWorkplace() { + DeleteMessage = $"Bekræft at du sletter
{Workplace.Name} fra {Workplace.CompanyName}?
AL INFORMATION slettes og handlingen er uigenkaldelig."; Logger.LogDebug("ConfirmDeleteWorkplace"); - ConfirmDelete.Show(); + ConfirmDeleteWorkplace.Show(); } - private async Task OnDeleteWorkplace() + private async Task RemoveWorkplace() { Logger.LogDebug("DeleteWorkplace"); Working = true; await Workplaces.DeleteWorkplace(CompanyId, WorkplaceId); + Toaster.ShowInfo("Arbejdssted er slettet."); Navigator.NavigateTo($"/advisor/customers/{CompanyId}/workplaces"); } + - - private async Task OnRemoveDocument(string productId, string variantId) + private async Task OnRemoveVariant(string productId, string variantId) { // delete the apb and apv var product = WorkplaceInventory .Products.First(x => x.ProductId == productId); var variant = product.Variants.First(x => x.VariantId == variantId); Logger.LogDebug("variant => {}", JsonSerializer.Serialize(variant, new JsonSerializerOptions(JsonSerializerDefaults.Web))); + foreach (var doc in variant.Docs) { await WorkplaceRepo.DeleteWorkplaceDocuments(CompanyId, WorkplaceId, doc.DocumentId); @@ -186,6 +190,7 @@ public partial class AdvisorCustomerWorkplaceViewEditPage : IDisposable WorkplaceInventory.Products.Remove(product); DocViews = GenerateDocumentListView(); + Toaster.ShowInfo("Produkt dokumenter er slettet."); } diff --git a/Wonky.Client/Pages/OfficeOrderViewPage.razor.cs b/Wonky.Client/Pages/OfficeOrderViewPage.razor.cs index 83765895..081dc7fa 100644 --- a/Wonky.Client/Pages/OfficeOrderViewPage.razor.cs +++ b/Wonky.Client/Pages/OfficeOrderViewPage.razor.cs @@ -32,7 +32,7 @@ public partial class OfficeOrderViewPage : IDisposable { // ############################################################# [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; } + [Inject] public ICrmActivityRepository CrmActivityRepo { get; set; } [Inject] public ISystemSendMailService MailService { get; set; } [Inject] public ILocalStorageService Storage { get; set; } [Inject] public ICountryUserInfoRepository UserRepo { get; set; } @@ -59,7 +59,7 @@ public partial class OfficeOrderViewPage : IDisposable Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); // fetch order from backend - ReportItem = await AdvisorActivityRepo.GetReportItem(OrderId); + ReportItem = await CrmActivityRepo.GetReportItem(OrderId); Logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem, _options)); Working = false; } @@ -75,7 +75,7 @@ public partial class OfficeOrderViewPage : IDisposable Working = true; Logger.LogDebug("GetExpressState => {}", JsonSerializer.Serialize(ReportItem, _options)); // send request to backend - var responseView = await AdvisorActivityRepo.GetExpressState(ReportItem.ActivityId); + var responseView = await CrmActivityRepo.GetExpressState(ReportItem.ActivityId); Logger.LogDebug("SetExpressState => responseView <= {} ", JsonSerializer.Serialize(responseView)); // get user info from storage var user = await UserInfoService.GetUserInfo(); diff --git a/Wonky.Client/Pages/SupervisorAdvisorActivityViewPage.razor b/Wonky.Client/Pages/SupervisorAdvisorActivityViewPage.razor index d97ac3bf..7c03c483 100644 --- a/Wonky.Client/Pages/SupervisorAdvisorActivityViewPage.razor +++ b/Wonky.Client/Pages/SupervisorAdvisorActivityViewPage.razor @@ -145,7 +145,7 @@
- Kundekort + Stamkort
@ReportItem.CrmNote
diff --git a/Wonky.Client/Pages/SupervisorDocumentListPage.razor b/Wonky.Client/Pages/SupervisorDocumentListPage.razor index 9a095a60..2a011b7d 100644 --- a/Wonky.Client/Pages/SupervisorDocumentListPage.razor +++ b/Wonky.Client/Pages/SupervisorDocumentListPage.razor @@ -21,27 +21,21 @@ Support Dokumentation
-
+

@Advisor.FullName

+
+ Liste +
+
+ Opret +

Support Dokumentation

-
-
- Opret - @* -
-
- Loading... -
-
- *@ -
-
@if (Documents.Any()) diff --git a/Wonky.Client/Pages/SupervisorDocumentNewPage.razor b/Wonky.Client/Pages/SupervisorDocumentNewPage.razor index 6bad5a2e..368cc51d 100644 --- a/Wonky.Client/Pages/SupervisorDocumentNewPage.razor +++ b/Wonky.Client/Pages/SupervisorDocumentNewPage.razor @@ -22,9 +22,15 @@ Support Dokumentation
-
+

@Document.AdvisorName

+
+ Liste +
+
diff --git a/Wonky.Client/Pages/SupervisorDocumentNewPage.razor.cs b/Wonky.Client/Pages/SupervisorDocumentNewPage.razor.cs index 1d270281..852af9b5 100644 --- a/Wonky.Client/Pages/SupervisorDocumentNewPage.razor.cs +++ b/Wonky.Client/Pages/SupervisorDocumentNewPage.razor.cs @@ -94,7 +94,7 @@ public partial class SupervisorDocumentNewPage : IDisposable else { Toaster.ShowSuccess("Ok"); - Navigator.NavigateTo($"/supervisor/advisors/{AdvisorId}/documents/{x.DocumentId}"); + Navigator.NavigateTo($"/supervisor/advisors/{AdvisorId}/documents"); } Toaster.ClearAll(); } diff --git a/Wonky.Client/Pages/SupervisorDocumentViewEditPage.razor b/Wonky.Client/Pages/SupervisorDocumentViewEditPage.razor index 8e3fb4ed..a4221f88 100644 --- a/Wonky.Client/Pages/SupervisorDocumentViewEditPage.razor +++ b/Wonky.Client/Pages/SupervisorDocumentViewEditPage.razor @@ -20,9 +20,15 @@ @page "/supervisor/advisors/{AdvisorId}/documents/{DocumentId}"
-
+

@Document.AdvisorName

+
+ Liste +
+
diff --git a/Wonky.Client/Pages/SupervisorDocumentViewEditPage.razor.cs b/Wonky.Client/Pages/SupervisorDocumentViewEditPage.razor.cs index 92530e5f..2a49712f 100644 --- a/Wonky.Client/Pages/SupervisorDocumentViewEditPage.razor.cs +++ b/Wonky.Client/Pages/SupervisorDocumentViewEditPage.razor.cs @@ -78,6 +78,7 @@ public partial class SupervisorDocumentViewEditPage : IDisposable var x = await DocumentRepo.UpdateDocument(Document.DocumentId, Document); Toaster.ShowSuccess("Ok"); + Navigator.NavigateTo($"/supervisor/advisors/{AdvisorId}/documents"); } diff --git a/Wonky.Client/Program.cs b/Wonky.Client/Program.cs index 51c8732b..29a65187 100644 --- a/Wonky.Client/Program.cs +++ b/Wonky.Client/Program.cs @@ -60,13 +60,14 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); // crm repositories -builder.Services.AddScoped(); -builder.Services.AddScoped(); -builder.Services.AddScoped(); -builder.Services.AddScoped(); -builder.Services.AddScoped(); -builder.Services.AddScoped(); -builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); // administrative repositories builder.Services.AddScoped(); builder.Services.AddScoped(); diff --git a/Wonky.Client/Shared/ContactModal.razor.cs b/Wonky.Client/Shared/ContactModal.razor.cs index eebbaef0..5a642327 100644 --- a/Wonky.Client/Shared/ContactModal.razor.cs +++ b/Wonky.Client/Shared/ContactModal.razor.cs @@ -31,7 +31,7 @@ public partial class ContactModal { [Parameter] public ContactDto ParamContact { get; set; } = new(); [Parameter] public string CompanyName { get; set; } = ""; - [Parameter] public IAdvisorContactRepository ContactRepo { get; set; } + [Parameter] public ICrmContactRepository ContactRepo { get; set; } [Parameter] public HttpInterceptorService Interceptor { get; set; } [Parameter] public EventCallback OnSaveClicked { get; set; } [Parameter] public EventCallback OnDeleteClicked { get; set; } diff --git a/Wonky.Client/Wonky.Client.csproj b/Wonky.Client/Wonky.Client.csproj index 183bd9e9..650c0ab9 100644 --- a/Wonky.Client/Wonky.Client.csproj +++ b/Wonky.Client/Wonky.Client.csproj @@ -5,6 +5,7 @@ enable enable latestmajor + service-workker-assets.js @@ -26,7 +27,7 @@ - + PreserveNewest diff --git a/Wonky.Client/wwwroot/appsettings.json b/Wonky.Client/wwwroot/appsettings.json index c42c8523..e6c17b19 100644 --- a/Wonky.Client/wwwroot/appsettings.json +++ b/Wonky.Client/wwwroot/appsettings.json @@ -1,15 +1,15 @@ { "appInfo": { "name": "Wonky Online", - "version": "141.2", + "version": "142.2", "rc": true, - "sandBox": false, + "sandBox": true, "image": "grumpy-coder.png" }, "Logging": { "LogLevel": { - "Default": "None", - "System": "None", + "Default": "Debug", + "System": "Debug", "Microsoft": "None" }, "Debug": { @@ -19,7 +19,7 @@ } }, "apiConfig": { - "baseUrl": "https://zeta.innotec.dk", + "baseUrl": "https://eta.innotec.dk", "catalog": "api/v2/catalog/country", "crmCustomers": "api/v2/crm/companies", "crmInventoryExt": "history/inventory", @@ -34,6 +34,7 @@ "officeCustomers": "api/v2/office/customers", "officeReports": "api/v2/office/reports", "officeUsers": "api/v2/office/users/admin", + "publicProducts": "api/v2/public/products", "servicesGlsId": "", "servicesGlsTrackUrl": "https://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DK01/DA/5004.htm?txtAction=71000&txtRefNo=", "servicesMail": "api/v2/services/sendmail", diff --git a/Wonky.Client/wwwroot/icon-192.png b/Wonky.Client/wwwroot/icon-192.png new file mode 100644 index 00000000..e73a8da4 Binary files /dev/null and b/Wonky.Client/wwwroot/icon-192.png differ diff --git a/Wonky.Client/wwwroot/icon-512.png b/Wonky.Client/wwwroot/icon-512.png new file mode 100644 index 00000000..61d90191 Binary files /dev/null and b/Wonky.Client/wwwroot/icon-512.png differ diff --git a/Wonky.Client/wwwroot/index.html b/Wonky.Client/wwwroot/index.html index 9374b8fd..7b85f5c5 100644 --- a/Wonky.Client/wwwroot/index.html +++ b/Wonky.Client/wwwroot/index.html @@ -31,6 +31,6 @@
- + diff --git a/Wonky.Entity/Configuration/ApiConfig.cs b/Wonky.Entity/Configuration/ApiConfig.cs index cb9bb86a..80111d77 100644 --- a/Wonky.Entity/Configuration/ApiConfig.cs +++ b/Wonky.Entity/Configuration/ApiConfig.cs @@ -93,6 +93,11 @@ public class ApiConfig ///
public string OfficeReports { get; set; } = ""; + /// + /// Public Product url + /// + public string PublicProducts { get; set; } = ""; + /// /// Application uri for token request /// diff --git a/Wonky.Entity/DTO/WorkplaceBopCreate.cs b/Wonky.Entity/DTO/WorkplaceBopCreate.cs new file mode 100644 index 00000000..18d747a0 --- /dev/null +++ b/Wonky.Entity/DTO/WorkplaceBopCreate.cs @@ -0,0 +1,29 @@ +namespace Wonky.Entity.DTO; + +public class WorkplaceBopCreate +{ + public string EyeCleanerLocation { get; set; } = ""; + public string FirstAidLocation { get; set; } = ""; + public string GlovesStorage { get; set; } = ""; + public string GogglesStorage { get; set; } = ""; + public string MaskStorage { get; set; } = ""; + public string ProductStorage { get; set; } = ""; + public string WasteDeposit { get; set; } = ""; + public string AuthoredBy { get; set; } = ""; + public string ApprovedBy { get; set; } = ""; + public string ApprovedDate { get; set; } = ""; + public string FollowupDate { get; set; } = ""; + + public List ProductVariants { get; set; } = new(); +} + +public class ProductVariants +{ + public string VariantId { get; set; } = ""; + public string S5A { get; set; } = ""; + public string S9A { get; set; } = ""; + + // Sweden + // yearly consumption and product exposure + // public string S11A { get; set; } = ""; +} \ No newline at end of file diff --git a/Wonky.Entity/Views/ExternalProductListView.cs b/Wonky.Entity/Views/ExternalProductListView.cs new file mode 100644 index 00000000..62c528cb --- /dev/null +++ b/Wonky.Entity/Views/ExternalProductListView.cs @@ -0,0 +1,21 @@ +namespace Wonky.Entity.Views; + +public class ExternalProductListView +{ + public string ProductId { get; set; } = ""; + public string TradingName { get; set; } = ""; + public string PictureLink { get; set; } = ""; + public string ProductCategoryEnum { get; set; } = ""; + public List Variants { get; set; } = new(); +} + +public class ExternalProductVariantView +{ + public string VariantId { get; set; } = ""; + public string Name { get; set; } = ""; + public string Sku { get; set; } = ""; + public string ErpName { get; set; } = ""; + public string ErpSku { get; set; } = ""; + public string ShortName { get; set; } = ""; + public string PictureLink { get; set; } = ""; +} \ No newline at end of file