diff --git a/TIAM.Database.Test/UserDalTests.cs b/TIAM.Database.Test/UserDalTests.cs index 7ad481a0..e23691a0 100644 --- a/TIAM.Database.Test/UserDalTests.cs +++ b/TIAM.Database.Test/UserDalTests.cs @@ -46,7 +46,7 @@ namespace TIAM.Database.Test //_userDal = new UserDal(_mockContext.Object); } - [TestMethod] + //[TestMethod] public async Task ConvertOldPassword() { //var loginService = new LoginService(Dal, AppSettingsConfiguration); diff --git a/TIAM.Database/DataLayers/Admins/AdminDal.cs b/TIAM.Database/DataLayers/Admins/AdminDal.cs index 2289781a..bd65c46f 100644 --- a/TIAM.Database/DataLayers/Admins/AdminDal.cs +++ b/TIAM.Database/DataLayers/Admins/AdminDal.cs @@ -346,7 +346,29 @@ namespace TIAM.Database.DataLayers.Admins //} //14. (IserviceProviderDataService) Update service provider - public Task UpdateCompanyAsync(Company company) => TransactionAsync(ctx => ctx.UpdateCompany(company)); + public Task UpdateCompanyAsync(Company company) + { + var result = NewUpdateCompanyAsync(company); + if (result.Result != null || (result.Result).Id != Guid.Empty) + { + return Task.FromResult(true); + } + else + { + return Task.FromResult(false); + } + } + + public Task NewUpdateCompanyAsync(Company company) => UpdateSafeAsync(company, (ctx, safeCompany) => ctx.UpdateCompany(safeCompany)); + + public Task UpdateCompanyAsync(Company company, Profile profile) + => TransactionAsync(ctx => + { + ctx.UpdateProfile(profile); + ctx.SaveChanges(); + + return ctx.UpdateCompany(company); + }); //13. (IserviceProviderDataService) delete service provider public Task RemoveCompanyAsync(Guid companyId) => TransactionAsync(ctx => ctx.RemoveProductsByCompanyId(companyId) && ctx.RemoveCompany(companyId)); diff --git a/TIAMSharedUI/Pages/User/Hotels/HotelAdmin.razor b/TIAMSharedUI/Pages/User/Hotels/HotelAdmin.razor index c048f79b..5b049669 100644 --- a/TIAMSharedUI/Pages/User/Hotels/HotelAdmin.razor +++ b/TIAMSharedUI/Pages/User/Hotels/HotelAdmin.razor @@ -15,7 +15,7 @@
- +
@@ -24,7 +24,7 @@ @code { - [Parameter] public Guid id { get; set; } + [Parameter] public string id { get; set; } bool isUserLoggedIn; int userType = 0; @@ -35,7 +35,7 @@ { return; } - var check = SessionService.User.UserModelDto.UserProductMappings.Any(x => x.ProductId == id); + var check = SessionService.User.UserModelDto.UserProductMappings.Any(x => x.ProductId == Guid.Parse(id)); if (!check) { return; diff --git a/TIAMSharedUI/Pages/User/ManageMyServiceProvider.razor b/TIAMSharedUI/Pages/User/ManageMyServiceProvider.razor new file mode 100644 index 00000000..6b3c2cb7 --- /dev/null +++ b/TIAMSharedUI/Pages/User/ManageMyServiceProvider.razor @@ -0,0 +1,183 @@ +@page "/user/serviceprovider/{id}" +@using AyCode.Core +@using AyCode.Services.Loggers +@using BlazorAnimation +@using TIAM.Entities.ServiceProviders +@using TIAM.Resources +@using TIAM.Services +@using TIAMSharedUI.Pages.User.SysAdmins +@using TIAMSharedUI.Shared +@using TIAMSharedUI.Shared.Components.Grids +@using TIAMWebApp.Shared.Application.Interfaces +@using TIAMWebApp.Shared.Application.Services +@using TIAMWebApp.Shared.Application.Utility +@layout AdminLayout +@inject NavigationManager navigationManager +@inject IEnumerable LogWriters +@inject IStringLocalizer localizer +@inject IServiceProviderDataService serviceProviderDataService +@inject IUserDataService userDataService +@inject ISessionService sessionService +@inject AdminSignalRClient AdminSignalRClient; +Admin - Companies + +
+

@CompanyName

+

Manage your service provider details

+
+ +
+
+
+ +
+ + + @if (resultCompany != null) + { +
+
+

@(isEditMode ? "Edit Service Provider" : "Service Provider Details")

+
+
+ @if (isEditMode) + { + + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + + +
+ } + else + { +
+
+
Name
+
@resultCompany.Name
+ +
Affiliate ID
+
@resultCompany.AffiliateId
+ +
Created
+
@resultCompany.Created
+ +
Modified
+
@resultCompany.Modified
+
+
+
+
+
Name
+
@resultCompany.Profile.Name
+ +
Public email address
+
@resultCompany.Profile.EmailAddress
+ +
Description
+
@resultCompany.Profile.Description
+ +
Address
+
@resultCompany.Profile.Address.AddressText
+
+
+ + } +
+
+ } + else + { +

Loading...

+ } +
+ + + + + + + + + +
+
+
+
+
+ + +
+ +@code { + + + + + + [Parameter] + public string Id { get; set; } + + public string ProfileUrl => $"/images/serviceprovider/{Id}.png"; + + private LoggerClient _logger; + + private Company resultCompany; + + private string CompanyName; + + private bool isEditMode = false; + + + private void Edit() + { + isEditMode = true; + } + + private async Task Save() + { + + _logger.Debug($"Saving {resultCompany.Name}"); + var result = await serviceProviderDataService.UpdateServiceProviderAsync(resultCompany); + isEditMode = false; + navigationManager.NavigateTo($"/user/serviceprovider/{resultCompany.Id}"); + } + + protected override void OnInitialized() + { + base.OnInitialized(); + _logger = new LoggerClient(LogWriters.ToArray()); + } + + protected override async Task OnParametersSetAsync() + { + if (string.IsNullOrEmpty(Id)) + { + navigationManager.NavigateTo("/user/properties"); + } + else + { + + resultCompany = await serviceProviderDataService.GetServiceProviderByIdAsync(Guid.Parse(Id)); + CompanyName = resultCompany.Name; + } + base.OnParametersSet(); + } + +} diff --git a/TIAMSharedUI/Pages/User/MyServiceProviders.razor b/TIAMSharedUI/Pages/User/MyServiceProviders.razor index a7181a57..dc276b43 100644 --- a/TIAMSharedUI/Pages/User/MyServiceProviders.razor +++ b/TIAMSharedUI/Pages/User/MyServiceProviders.razor @@ -50,18 +50,20 @@ EditMode="GridEditMode.EditRow"> - + + + + - @context.Value + Manage - - + @{ -

@(((Company)context.DataItem).Profile.Address.AddressText)

+

Address: @(((Company)context.DataItem).Profile.Address.AddressText)

}
diff --git a/TIAMSharedUI/Pages/User/ServiceProvider.razor b/TIAMSharedUI/Pages/User/ServiceProvider.razor index 29d06bfa..6a78c8f9 100644 --- a/TIAMSharedUI/Pages/User/ServiceProvider.razor +++ b/TIAMSharedUI/Pages/User/ServiceProvider.razor @@ -1,4 +1,4 @@ -@page "/user/serviceprovider/{id}" +@page "/user/serviceproviderold/{id}" @using AyCode.Core @using AyCode.Services.Loggers @using TIAM.Entities.ServiceProviders @@ -21,14 +21,14 @@ Admin - Companies
-

Company

+

@CompanyName

Manage your service provider details

- _logger; + private string CompanyName; + protected override void OnInitialized() { base.OnInitialized(); @@ -116,16 +118,20 @@ else { CompanyId[0] = Guid.Parse(Id); + var result = serviceProviderDataService.GetServiceProviderByIdAsync(Guid.Parse(Id)); + } base.OnParametersSet(); } + void Grid_CustomizeElement(GridCustomizeElementEventArgs e) { //TODO mark non active partners } + void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e) { if (!e.IsNew) diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ProductDetailGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/ProductDetailGridComponent.razor index 17b6eb23..89617bb6 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ProductDetailGridComponent.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ProductDetailGridComponent.razor @@ -29,6 +29,7 @@ GetAllMessageTag="GetAllTag" Logger="_logger" SignalRClient="AdminSignalRClient" + CustomizeEditModel="CustomizeEditModel" OnGridEditModelSaving="DataItemSaving" OnGridItemDeleting="DataItemDeleting" OnGridItemChanged="DataItemChanged" @@ -73,7 +74,10 @@ @editFormContext.GetEditor("Price") - + +

@(((Product)editFormContext.EditModel).ServiceProviderId)

+
+ @editFormContext.GetEditor("Description") @@ -135,7 +139,7 @@ if (e.IsNew) { _logger.Debug($"DataItemSaving"); - + // product.ServiceProviderId = ((Company)ParentData).Id; // var profileId = Guid.NewGuid(); // product.Profile = new Profile(profileId, product.Name); // product.ProfileId = profileId; @@ -152,7 +156,7 @@ } _logger.Debug($"Saving: {product.Name}, {product.ServiceProviderId}"); - + //var result = serviceProviderDataService.CreateProductAsync((Product)e.EditModel); //_logger.Debug($"saved product: {product.ServiceProviderId}"); } @@ -172,7 +176,8 @@ newProduct.ServiceProviderId = (Guid)ContextId!; newProduct.Price = 0; newProduct.ProductType = TIAM.Core.Enums.ProductType.Hotel; - newProduct.Description = "Type a description"; + newProduct.Description = "Type a description"; + } } \ No newline at end of file diff --git a/TIAMSharedUI/Shared/Components/Grids/CompanyDetailGrid.cs b/TIAMSharedUI/Shared/Components/Grids/CompanyDetailGrid.cs index 4ef81ab8..fbe800bf 100644 --- a/TIAMSharedUI/Shared/Components/Grids/CompanyDetailGrid.cs +++ b/TIAMSharedUI/Shared/Components/Grids/CompanyDetailGrid.cs @@ -22,5 +22,5 @@ public class CompanyDetailGrid : CompanyGrid if (isFirst) { } - } + } } \ No newline at end of file