bleh
This commit is contained in:
parent
e0bed5c5e8
commit
d7188250e4
|
|
@ -10,6 +10,7 @@ using TIAM.Database.DbContexts.Admins;
|
||||||
using TIAM.Database.DbSets.Emails;
|
using TIAM.Database.DbSets.Emails;
|
||||||
using TIAM.Database.DbSets.Permissions;
|
using TIAM.Database.DbSets.Permissions;
|
||||||
using TIAM.Database.DbSets.Products;
|
using TIAM.Database.DbSets.Products;
|
||||||
|
using TIAM.Database.DbSets.ServiceProvider;
|
||||||
using TIAM.Database.DbSets.Transfers;
|
using TIAM.Database.DbSets.Transfers;
|
||||||
using TIAM.Database.DbSets.Users;
|
using TIAM.Database.DbSets.Users;
|
||||||
using TIAM.Entities.Addresses;
|
using TIAM.Entities.Addresses;
|
||||||
|
|
@ -220,11 +221,7 @@ namespace TIAM.Database.DataLayers.Admins
|
||||||
#endregion EmailMessage
|
#endregion EmailMessage
|
||||||
|
|
||||||
//15. (IServiceProviderDataService) Create service provider
|
//15. (IServiceProviderDataService) Create service provider
|
||||||
public Task<bool> CreateServiceProviderAsync(Company serviceProvider)
|
public Task<bool> CreateServiceProviderAsync(Company serviceProvider) => SessionAsync(ctx => ctx.AddServiceProvider(serviceProvider));
|
||||||
{
|
|
||||||
Context.CreateServiceProvider(serviceProvider);
|
|
||||||
return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool CreateProductAsync(Product product)
|
public bool CreateProductAsync(Product product)
|
||||||
{
|
{
|
||||||
|
|
@ -234,21 +231,12 @@ namespace TIAM.Database.DataLayers.Admins
|
||||||
return result.Result > 0;
|
return result.Result > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<List<Company>> GetServiceProvidersAsync()
|
public Task<List<Company>> GetServiceProvidersAsync() => SessionAsync(ctx => ctx.GetServiceProviders().ToList());
|
||||||
{
|
|
||||||
return SessionAsync(ctx => ctx.ServiceProviders.ToList());
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task<string> GetServiceProvidersAsyncJson()
|
public Task<string> GetServiceProvidersAsyncJson() => SessionAsync(ctx => ctx.GetServiceProviders().ToJson());
|
||||||
{
|
|
||||||
return SessionAsync(ctx => ctx.ServiceProviders.ToJson());
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual Task<Company?> GetServiceProviderByIdAsync(Guid id)
|
|
||||||
{
|
public virtual Task<Company?> GetServiceProviderByIdAsync(Guid id) => SessionAsync(ctx => ctx.GetServiceProviderById(id));
|
||||||
GlobalLogger.Info($@"Getting serviceProvider from db {id}");
|
|
||||||
return Context.ServiceProviders.SingleOrDefaultAsync(x => x.Id == id);
|
|
||||||
}
|
|
||||||
|
|
||||||
//public Task<UserProductMapping> CreateUserProductMappingAsync(UserProductMapping userProductMapping)
|
//public Task<UserProductMapping> CreateUserProductMappingAsync(UserProductMapping userProductMapping)
|
||||||
//{
|
//{
|
||||||
|
|
@ -260,64 +248,11 @@ namespace TIAM.Database.DataLayers.Admins
|
||||||
#region ServiceProviders
|
#region ServiceProviders
|
||||||
|
|
||||||
//14. (IserviceProviderDataService) Update service provider
|
//14. (IserviceProviderDataService) Update service provider
|
||||||
public Task<bool> UpdateServiceProviderAsync(Company serviceProvider)
|
public Task<Company> UpdateServiceProviderAsync(Company company) => TransactionAsync(ctx => ctx.UpdateServiceProvider(company));
|
||||||
{
|
|
||||||
var dbServiceProvider = Context.ServiceProviders.FirstOrDefault(u => u.Id == serviceProvider.Id);
|
|
||||||
if (dbServiceProvider != null)
|
|
||||||
{
|
|
||||||
dbServiceProvider = serviceProvider;
|
|
||||||
Context.ServiceProviders.Update(dbServiceProvider);
|
|
||||||
return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
throw new Exception("ServiceProvider not found");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//13. (IserviceProviderDataService) delete service provider
|
//13. (IserviceProviderDataService) delete service provider
|
||||||
public Task<bool> DeleteServiceProviderAsync(Guid id)
|
public Task<bool> DeleteServiceProviderAsync(Guid id) => TransactionAsync(ctx => ctx.RemoveServiceProvider(id));
|
||||||
{
|
|
||||||
using (var transaction = Context.Database.BeginTransaction())
|
|
||||||
{
|
|
||||||
var dbServiceProvider = Context.ServiceProviders.FirstOrDefault(u => u.Id == id);
|
|
||||||
if (dbServiceProvider != null)
|
|
||||||
{
|
|
||||||
//get products for this provider
|
|
||||||
var products = Context.Products.Where(x => x.ServiceProviderId == id).ToList();
|
|
||||||
|
|
||||||
/*foreach (var productItem in products)
|
|
||||||
{
|
|
||||||
//delete products
|
|
||||||
var permissionContextMappings = Context.PermissionContextMappings.Where(x => x.ContextId == productItem.Id).ToList();
|
|
||||||
//iterate through every row
|
|
||||||
foreach (var item in permissionContextMappings)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (item.SubjectType == (int)PermissionContextMappingSubjectType.Group)
|
|
||||||
{
|
|
||||||
//get users in the permissiongroup
|
|
||||||
var permissionGroupUserMapping = Context.PermissionGroupUserMappings.Where(x => x.PermissionContextMappingId == item.Id).ToList();
|
|
||||||
//remove every row (users) from permissiongroup
|
|
||||||
foreach (var user in permissionGroupUserMapping)
|
|
||||||
{
|
|
||||||
Context.PermissionGroupUserMappings.Remove(user);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//remove permissioncontextmappings
|
|
||||||
Context.PermissionContextMappings.RemoveRange(permissionContextMappings);
|
|
||||||
}*/
|
|
||||||
Context.Products.RemoveRange(products);
|
|
||||||
Context.ServiceProviders.Remove(dbServiceProvider);
|
|
||||||
return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return Task.FromResult(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//17. (IServiceProviderDataService) get service provider by ownerId
|
//17. (IServiceProviderDataService) get service provider by ownerId
|
||||||
public Task<List<Company>> GetServiceProvidersByOwnerIdAsync()
|
public Task<List<Company>> GetServiceProvidersByOwnerIdAsync()
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using TIAM.Entities.ServiceProviders;
|
||||||
|
|
||||||
|
|
||||||
|
namespace TIAM.Database.DbSets.ServiceProvider;
|
||||||
|
|
||||||
|
public static class ServiceProviderDbSetExtensions
|
||||||
|
{
|
||||||
|
#region Add, Update, Remove
|
||||||
|
|
||||||
|
public static bool AddServiceProvider(this IServiceProviderDbSet ctx, Company company)
|
||||||
|
=> ctx.ServiceProviders.Add(company).State == EntityState.Added;
|
||||||
|
|
||||||
|
public static bool RemoveServiceProvider(this IServiceProviderDbSet ctx, Company company)
|
||||||
|
=> ctx.ServiceProviders.Remove(company).State == EntityState.Deleted;
|
||||||
|
|
||||||
|
public static bool RemoveServiceProvider(this IServiceProviderDbSet ctx, Guid companyId)
|
||||||
|
{
|
||||||
|
var company = ctx.GetServiceProviderById(companyId);
|
||||||
|
return company == null || ctx.RemoveServiceProvider(company);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Add, Update, Remove
|
||||||
|
|
||||||
|
public static Company? GetServiceProviderById(this IServiceProviderDbSet ctx, Guid companyId)
|
||||||
|
=> ctx.ServiceProviders.FirstOrDefault(x => x.Id == companyId);
|
||||||
|
|
||||||
|
public static IQueryable<Company> GetServiceProviders(this IServiceProviderDbSet ctx)
|
||||||
|
=> ctx.ServiceProviders;
|
||||||
|
|
||||||
|
public static List<Company> GetServiceProvidersByOwnerId(this IServiceProviderDbSet ctx, Guid ownerId)
|
||||||
|
=> ctx.ServiceProviders.Where(x => x.OwnerId == ownerId).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
<Folder Include="DataLayers\Permissions\" />
|
<Folder Include="DataLayers\Permissions\" />
|
||||||
<Folder Include="DataLayers\Products\" />
|
<Folder Include="DataLayers\Products\" />
|
||||||
<Folder Include="DbSets\Addresses\" />
|
<Folder Include="DbSets\Addresses\" />
|
||||||
<Folder Include="DbSets\ServiceProvider\" />
|
|
||||||
<Folder Include="Extensions\" />
|
<Folder Include="Extensions\" />
|
||||||
<Folder Include="ModelBuilders\Emails\" />
|
<Folder Include="ModelBuilders\Emails\" />
|
||||||
<Folder Include="ModelBuilders\Profiles\" />
|
<Folder Include="ModelBuilders\Profiles\" />
|
||||||
|
|
|
||||||
|
|
@ -8,4 +8,5 @@ public class SignalRTags : AcSignalRTags
|
||||||
public const int GetPropertiesByOwnerIdAsync = 6;
|
public const int GetPropertiesByOwnerIdAsync = 6;
|
||||||
public const int UpdateTransferAsync = 7;
|
public const int UpdateTransferAsync = 7;
|
||||||
public const int GetCompaniesAsync = 8;
|
public const int GetCompaniesAsync = 8;
|
||||||
|
public const int UpdateCompanyAsync = 9;
|
||||||
}
|
}
|
||||||
|
|
@ -198,7 +198,7 @@
|
||||||
SetOwnerPopupVisible = true;
|
SetOwnerPopupVisible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task<bool> SetOwner(Guid CompanyId)
|
async Task<Company> SetOwner(Guid CompanyId)
|
||||||
{
|
{
|
||||||
//get user id from DB
|
//get user id from DB
|
||||||
var userModelDto = await userDataService.GetUserByEmailAsync(UpdateOwnerIdText);
|
var userModelDto = await userDataService.GetUserByEmailAsync(UpdateOwnerIdText);
|
||||||
|
|
@ -207,13 +207,13 @@
|
||||||
var target = await serviceProviderDataService.GetServiceProviderByIdAsync(CompanyId);
|
var target = await serviceProviderDataService.GetServiceProviderByIdAsync(CompanyId);
|
||||||
if (target == null)
|
if (target == null)
|
||||||
{
|
{
|
||||||
return false;
|
return null;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
target.OwnerId = userModelDto.Id;
|
target.OwnerId = userModelDto.Id;
|
||||||
var result = await serviceProviderDataService.UpdateServiceProviderAsync(target);
|
var result = await serviceProviderDataService.UpdateServiceProviderAsync(target);
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -289,7 +289,7 @@
|
||||||
|
|
||||||
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
{
|
{
|
||||||
bool success = false;
|
Company resultCompany = null;
|
||||||
if (e.IsNew)
|
if (e.IsNew)
|
||||||
{
|
{
|
||||||
//add new orderData to orderData array
|
//add new orderData to orderData array
|
||||||
|
|
@ -300,7 +300,7 @@
|
||||||
{
|
{
|
||||||
_logger.Info("orderData updated at id " + ((Company)e.EditModel).Id);
|
_logger.Info("orderData updated at id " + ((Company)e.EditModel).Id);
|
||||||
|
|
||||||
success = await serviceProviderDataService.UpdateServiceProviderAsync((Company)e.EditModel);
|
resultCompany = await serviceProviderDataService.UpdateServiceProviderAsync((Company)e.EditModel);
|
||||||
|
|
||||||
}
|
}
|
||||||
//get transfer from TransferData by Id
|
//get transfer from TransferData by Id
|
||||||
|
|
@ -315,7 +315,7 @@
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (success)
|
if (resultCompany!=null)
|
||||||
{
|
{
|
||||||
//TODO: ne a teljes grid-et refresh-eljük, elég lenne csak az adott sort! - J.
|
//TODO: ne a teljes grid-et refresh-eljük, elég lenne csak az adott sort! - J.
|
||||||
await UpdateDataAsync();
|
await UpdateDataAsync();
|
||||||
|
|
|
||||||
|
|
@ -353,8 +353,8 @@
|
||||||
{
|
{
|
||||||
_logger.Info("orderData updated at id " + ((Transfer)e.EditModel).Id);
|
_logger.Info("orderData updated at id " + ((Transfer)e.EditModel).Id);
|
||||||
|
|
||||||
//transfer = await devAdminSignalClient.UpdateAsync(SignalRTags.UpdateTransferAsync, (Transfer)e.EditModel);
|
transfer = await devAdminSignalClient.UpdateAsync(SignalRTags.UpdateTransferAsync, (Transfer)e.EditModel);
|
||||||
transfer = await transferDataService.UpdateTransferAsync((Transfer)e.EditModel);
|
//transfer = await transferDataService.UpdateTransferAsync((Transfer)e.EditModel);
|
||||||
|
|
||||||
}
|
}
|
||||||
//get transfer from TransferData by Id
|
//get transfer from TransferData by Id
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using TIAM.Entities.ServiceProviders;
|
||||||
using TIAM.Entities.Users;
|
using TIAM.Entities.Users;
|
||||||
using TIAMWebApp.Shared.Application.Models;
|
using TIAMWebApp.Shared.Application.Models;
|
||||||
using Product = TIAM.Entities.Products.Product;
|
using Product = TIAM.Entities.Products.Product;
|
||||||
|
using TIAM.Entities.Transfers;
|
||||||
|
|
||||||
namespace TIAMWebApp.Server.Controllers
|
namespace TIAMWebApp.Server.Controllers
|
||||||
{
|
{
|
||||||
|
|
@ -95,6 +96,17 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
return await _adminDal.GetServiceProviderByIdAsync(id);
|
return await _adminDal.GetServiceProviderByIdAsync(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[AllowAnonymous]
|
||||||
|
[HttpPost]
|
||||||
|
[Route(APIUrls.UpdateServiceProviderRouteName)]
|
||||||
|
public async Task<Company> UpdateServiceProvider(Company companyToModify)
|
||||||
|
{
|
||||||
|
GlobalLogger.Info($"UpdateServiceProvider called! + {Request.ReadFormAsync()}");
|
||||||
|
var result = await _adminDal.UpdateServiceProviderAsync(companyToModify);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
//17.
|
//17.
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ using TIAMWebApp.Server.Controllers;
|
||||||
using System.Text.Json.Nodes;
|
using System.Text.Json.Nodes;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
|
using TIAM.Entities.ServiceProviders;
|
||||||
|
|
||||||
namespace TIAMWebApp.Server.Services;
|
namespace TIAMWebApp.Server.Services;
|
||||||
|
|
||||||
|
|
@ -84,7 +85,14 @@ public class DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController
|
||||||
{
|
{
|
||||||
await ResponseToCaller(messageTag, new SignalResponseMessage<string>(SignalResponseStatus.Success, await serviceProviderAPIController.GetServiceProviders()), requestId);
|
await ResponseToCaller(messageTag, new SignalResponseMessage<string>(SignalResponseStatus.Success, await serviceProviderAPIController.GetServiceProviders()), requestId);
|
||||||
}
|
}
|
||||||
return;
|
else if (messageTag == SignalRTags.UpdateCompanyAsync)
|
||||||
|
{
|
||||||
|
var company = message!.MessagePackTo<SignalPostJsonDataMessage>().PostData.JsonTo<Company>()!;
|
||||||
|
|
||||||
|
await serviceProviderAPIController.UpdateServiceProvider(company);
|
||||||
|
await ResponseToCaller(messageTag, new SignalResponseMessage<string>(SignalResponseStatus.Success, company.ToJson()), requestId);
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ namespace TIAMWebApp.Shared.Application.Interfaces
|
||||||
public Task DeleteServiceProviderAsync(Guid serviceProviderId);
|
public Task DeleteServiceProviderAsync(Guid serviceProviderId);
|
||||||
|
|
||||||
//14 Update service provider
|
//14 Update service provider
|
||||||
public Task<bool> UpdateServiceProviderAsync(Company serviceProvider);
|
public Task<Company> UpdateServiceProviderAsync(Company serviceProvider);
|
||||||
|
|
||||||
//15. Create service provider
|
//15. Create service provider
|
||||||
public Task<bool> CreateServiceProviderAsync(Company serviceProvider);
|
public Task<bool> CreateServiceProviderAsync(Company serviceProvider);
|
||||||
|
|
|
||||||
|
|
@ -111,6 +111,11 @@ namespace TIAMWebApp.Shared.Application.Models
|
||||||
public const string GetServiceProvidersByOwnerIdRouteName = "GetServiceProvidersByOwnerId";
|
public const string GetServiceProvidersByOwnerIdRouteName = "GetServiceProvidersByOwnerId";
|
||||||
public const string GetServiceProvidersByOwnerId = ServiceProviderAPI+GetServiceProvidersByOwnerIdRouteName;
|
public const string GetServiceProvidersByOwnerId = ServiceProviderAPI+GetServiceProvidersByOwnerIdRouteName;
|
||||||
|
|
||||||
|
public const string UpdateServiceProviderRouteName = "UpdateServiceProvider";
|
||||||
|
public const string UpdateServiceProviderUrl = ServiceProviderAPI + UpdateServiceProviderRouteName;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public const string GetQrCodeByProductIdRouteName = "GetQRCodeByProductId";
|
public const string GetQrCodeByProductIdRouteName = "GetQRCodeByProductId";
|
||||||
public const string GetQrCodeByProductId = ServiceProviderAPI+GetQrCodeByProductIdRouteName;
|
public const string GetQrCodeByProductId = ServiceProviderAPI+GetQrCodeByProductIdRouteName;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@ using TIAMWebApp.Shared.Application.Models.ClientSide;
|
||||||
using TIAMWebApp.Shared.Application.Utility;
|
using TIAMWebApp.Shared.Application.Utility;
|
||||||
using TIAM.Services;
|
using TIAM.Services;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using TIAM.Entities.Transfers;
|
||||||
|
using System.Net.WebSockets;
|
||||||
|
|
||||||
namespace TIAMWebApp.Shared.Application.Services
|
namespace TIAMWebApp.Shared.Application.Services
|
||||||
{
|
{
|
||||||
|
|
@ -144,9 +146,10 @@ namespace TIAMWebApp.Shared.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
//14.
|
//14.
|
||||||
public Task<bool> UpdateServiceProviderAsync(Company serviceProvider)
|
public async Task<Company> UpdateServiceProviderAsync(Company company)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
var result = await _devAdminSignalClient.UpdateAsync(SignalRTags.UpdateCompanyAsync, company);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> GetQRCodeByProductIdAsync(Guid productId)
|
public async Task<string> GetQRCodeByProductIdAsync(Guid productId)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue