Compare commits

...

3 Commits

Author SHA1 Message Date
jozsef.b@aycode.com 89376ac2d4 MessageGrid; improvements, fixes, etc... 2024-06-03 20:13:48 +02:00
jozsef.b@aycode.com 17ca3d028b merge 2024-06-03 19:02:28 +02:00
jozsef.b@aycode.com 492cfae5ad improvements, fixes 2024-06-03 19:01:54 +02:00
11 changed files with 137 additions and 27 deletions

View File

@ -10,10 +10,10 @@ namespace TIAM.Entities.Users
[Table("Users")]
public class User : AcUser<Profile, Company, UserToCompany, Address>, IUser, IUserDtoDetail
{
public virtual List<Product> Products { get; } = new();
public virtual List<Product> Products { get; set; } = new();
//public virtual ServiceProvider ServiceProvider { get; set; } = new();
public virtual List<UserProductMapping> UserProductMappings { get; } = new();
public virtual List<UserProductMapping> UserProductMappings { get; set; } = new();
public User() { }
public User(string email, string password) : this(Guid.NewGuid(), email, password) { }

View File

@ -1,10 +1,11 @@
using TIAM.Entities.Profiles;
using AyCode.Interfaces;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users;
namespace TIAM.Models.Dtos.Users;
public class UserDto : IUserDto<Profile, Company, UserToCompany>
public class UserDto : IUserDto<Profile, Company, UserToCompany>, IAcModelDtoBase<User>
{
public Guid Id { get; set; }
@ -15,4 +16,28 @@ public class UserDto : IUserDto<Profile, Company, UserToCompany>
public List<Company> ServiceProviders { get; set; }
public List<UserToCompany> UserToServiceProviders { get; set; }
public UserDto() {}
public UserDto(User user) : this()
{
//TODO: Models... - J.
throw new NotImplementedException("UserDto(User user)");
Id = user.Id;
ProfileId = user.ProfileId;
AffiliateId = AffiliateId;
}
public virtual User CreateMainEntity()
{
return new User
{
Id = Id,
ProfileId = ProfileId,
AffiliateId = AffiliateId,
ServiceProviders = ServiceProviders.ToList(),
UserToServiceProviders = UserToServiceProviders.ToList()
};
}
}

View File

@ -1,10 +1,11 @@
using TIAM.Entities.Users;
using AyCode.Interfaces;
using TIAM.Entities.Users;
namespace TIAM.Models.Dtos.Users
{
public class UserDtoDetail : UserDto, IUserDtoDetail
{
public string PhoneNumber { get; set; }
public string? PhoneNumber { get; set; }
public string? RefreshToken { get; set; }
public Guid? RefferalId { get; set; }
public string EmailAddress { get; set; }
@ -12,5 +13,31 @@ namespace TIAM.Models.Dtos.Users
public string Password { get; set; }
public DateTime Created { get; set; }
public DateTime Modified { get; set; }
public UserDtoDetail() : base()
{ }
public UserDtoDetail(User user) : base(user)
{
PhoneNumber = user.PhoneNumber;
RefreshToken = user.RefreshToken;
EmailConfirmed = user.EmailConfirmed;
Password = user.Password;
EmailAddress = user.EmailAddress;
EmailConfirmed = user.EmailConfirmed;
}
public override User CreateMainEntity()
{
var user = base.CreateMainEntity();
user.PhoneNumber = PhoneNumber;
user.RefreshToken = RefreshToken;
user.EmailConfirmed = EmailConfirmed;
user.Password = Password;
user.EmailAddress = EmailAddress;
user.EmailConfirmed = EmailConfirmed;
return user;
}
}
}

View File

@ -1,4 +1,5 @@
using AyCode.Models.Users;
using AyCode.Interfaces;
using AyCode.Models.Users;
using TIAM.Entities.Products;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
@ -6,7 +7,7 @@ using TIAM.Entities.Users;
namespace TIAM.Models.Dtos.Users;
public class UserModelDto : AcUserModelDtoBase<UserDto, Profile, Company, UserToCompany>, IProductsRelation, IUserModelDtoMinBase
public class UserModelDto : AcUserModelDtoBase<UserDto, Profile, Company, UserToCompany>, IProductsRelation, IUserModelDtoMinBase, IAcModelDtoBase<User>
{
public List<UserProductMapping> UserProductMappings { get; set; }
public List<Product> Products { get; set; }
@ -33,4 +34,19 @@ public class UserModelDto : AcUserModelDtoBase<UserDto, Profile, Company, UserTo
UserProductMappings.Add(new UserProductMapping(userProduct.Id, userProduct.UserId, userProduct.ProductId));
}
}
public virtual User CreateMainEntity()
{
//TODO: Models... - J.
throw new NotImplementedException("CreateMainEntity");
return new User
{
Id = Id,
ProfileId = UserDto.ProfileId,
AffiliateId = UserDto.AffiliateId,
ServiceProviders = ServiceProviders.ToList(),
UserToServiceProviders = UserToServiceProviders.ToList()
};
}
}

View File

@ -34,6 +34,12 @@ namespace TIAM.Models.Dtos.Users
UserProductMappings.Add(new UserProductMapping(userProduct.Id, userProduct.UserId, userProduct.ProductId));
}
}
public virtual User CreateMainEntity()
{
//TODO: Models... - J.
throw new NotImplementedException("CreateMainEntity");
}
}
}

View File

@ -15,6 +15,8 @@
@using TIAMSharedUI.Shared.Components.Grids
@using AyCode.Core.Enums
@using AyCode.Core.Extensions
@using AyCode.Core.Consts
@using AyCode.Core
@layout AdminLayout
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject IStringLocalizer<TIAMResources> localizer
@ -103,17 +105,17 @@
<Columns>
<DxGridCommandColumn NewButtonVisible="false" Width="8%" FixedPosition="GridColumnFixedPosition.Left" />
<DxGridDataColumn FieldName="Id" ShowInColumnChooser="false" SortIndex="0" Visible="true">
<CellDisplayTemplate>
@{
Guid? idKeyField = context.Value as Guid?;
string editUri = $"mytransfers/{idKeyField}";
<NavLink href="@editUri">
<span>@idKeyField</span>
</NavLink> }
</CellDisplayTemplate>
</DxGridDataColumn>
<DxGridDataColumn FieldName="OrderId" />
<DxGridDataColumn FieldName="Id" SortIndex="0" />
<DxGridDataColumn FieldName="OrderId">
<CellDisplayTemplate>
@{
var idKeyField = ((Transfer)context.DataItem).Id as Guid?;
var editUri = $"mytransfers/{idKeyField}";
<NavLink href="@editUri">
<span>@context.Value</span>
</NavLink> }
</CellDisplayTemplate>
</DxGridDataColumn>
<DxGridDataColumn FieldName="PaymentId" />
<DxGridDataColumn FieldName="FromAddress" />
<DxGridDataColumn FieldName="ToAddress" />
@ -151,7 +153,21 @@
</DxTabs>
<DxTabs>
<DxTabPage Text="Messages">
<MessageDetailGrid Logger="_logger" SignalRClient="AdminSignalRClient" ContextId="((Transfer)context.DataItem).Id"></MessageDetailGrid>
<MessageDetailGrid
Logger="_logger"
SignalRClient="AdminSignalRClient"
ContextId="((Transfer)context.DataItem).Id"
TextWrapEnabled="true">
<Columns>
<DxGridDataColumn FieldName="Id" />
<DxGridDataColumn FieldName="ContextId" ShowInColumnChooser="AcDomain.IsDeveloperVersion" Visible="AcDomain.IsDeveloperVersion" />
<DxGridDataColumn FieldName="EmailAddress" />
<DxGridDataColumn FieldName="Subject" />
<DxGridDataColumn FieldName="Text" />
<DxGridDataColumn FieldName="Created" />
</Columns>
</MessageDetailGrid>
</DxTabPage>
</DxTabs>

View File

@ -1,4 +1,5 @@
using System.ComponentModel;
using AyCode.Core;
using AyCode.Core.Enums;
using AyCode.Core.Extensions;
using AyCode.Core.Helpers;
@ -232,6 +233,18 @@ namespace TIAMSharedUI.Shared.Components.Grids
//ShowGroupPanel = true;
//AllowSort = false;
TextWrapEnabled = false;
//var columns = GetColumns();
//var dataColumns = GetDataColumns();
//var idColumn = dataColumns.FirstOrDefault(x => x.FieldName == nameof(IId<Guid>.Id));
//if (idColumn != null)
//{
// idColumn.ShowInColumnChooser = AcDomain.IsDeveloperVersion;
// idColumn.Visible = !AcDomain.IsDeveloperVersion;
//}
IsFirstInitializeParameters = true;
}

View File

@ -86,7 +86,7 @@ namespace TIAMWebApp.Server.Controllers
_logger.Info($@"GetMessagessByContextId called with ownerId: {contextId}");
var messages = _adminDal.GetEmailMessagesByContextIdAsync(contextId);
var messages = await _adminDal.GetEmailMessagesByContextIdAsync(contextId);
//put Company id and name into a dictionary
return messages.ToJson();

View File

@ -13,6 +13,7 @@ using Product = TIAM.Entities.Products.Product;
using TIAM.Entities.Addresses;
using TIAM.Entities.Profiles;
using AyCode.Core.Loggers;
using AyCode.Entities;
using AyCode.Services.SignalRs;
using AyCode.Utils.Extensions;
using TIAM.Entities.Drivers;

View File

@ -17,6 +17,7 @@ using TIAMWebApp.Server.Services;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.AspNetCore.ResponseCompression;
using System.IO.Compression;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
var builder = WebApplication.CreateBuilder(args);
@ -154,6 +155,8 @@ builder.Services.AddResponseCompression(options =>
builder.Services.Configure<BrotliCompressionProviderOptions>(options => options.Level = CompressionLevel.Optimal);
builder.Services.Configure<GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Optimal);
//builder.Services.AddSingleton(sp => (sp.GetRequiredService<IHostEnvironment>() as IWebHostEnvironment)!);
var app = builder.Build();
// Configure the HTTP request pipeline.

View File

@ -57,6 +57,9 @@ public class DynamicMethodCallModel<TAttribute> where TAttribute : TagAttribute
public object InstanceObject { get; init; }
public ConcurrentDictionary<int, MethodInfoModel<TAttribute>> MethodsByMessageTag { get; init; } = new();
public DynamicMethodCallModel(Type instanceObjectType) : this(Activator.CreateInstance(instanceObjectType)!)
{ }
public DynamicMethodCallModel(object instanceObject)
{
InstanceObject = instanceObject;
@ -76,14 +79,14 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
private readonly TIAM.Core.Loggers.Logger<DevAdminSignalRHub> _logger;
private readonly AdminDal _adminDal;
private readonly ServiceProviderAPIController _serviceProviderApiController;
private readonly TransferDataAPIController _transferDataApiController;
//private readonly ServiceProviderAPIController _serviceProviderApiController;
//private readonly TransferDataAPIController _transferDataApiController;
public DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController serviceProviderApiController, TransferDataAPIController transferDataApiController, IEnumerable<IAcLogWriterBase> logWriters, MessageAPIController messageApiController)
public DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController serviceProviderApiController, TransferDataAPIController transferDataApiController, MessageAPIController messageApiController, IEnumerable<IAcLogWriterBase> logWriters)
{
_adminDal = adminDal;
_serviceProviderApiController = serviceProviderApiController;
_transferDataApiController = transferDataApiController;
//_serviceProviderApiController = serviceProviderApiController;
//_transferDataApiController = transferDataApiController;
_logger = new(logWriters.ToArray());