Compare commits

...

2 Commits

Author SHA1 Message Date
Loretta e20608ade9 improvements 2024-06-30 07:13:33 +02:00
Loretta 8b11faf10d Implement object params to GetSignalRMessage 2024-06-29 22:29:01 +02:00
3 changed files with 42 additions and 5 deletions

View File

@ -12,6 +12,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="AutoMapper" Version="13.0.1" />
<PackageReference Include="MessagePack" Version="2.5.168" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />

View File

@ -12,6 +12,7 @@ public static class SerializeObjectExtensions
{
private static readonly JsonSerializerSettings Options = new()
{
//TypeNameHandling = TypeNameHandling.All,
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
NullValueHandling = NullValueHandling.Ignore
};

View File

@ -3,19 +3,54 @@ using MessagePack;
using Newtonsoft.Json.Linq;
using System.Text.RegularExpressions;
using AyCode.Core.Interfaces;
using System.Collections.Generic;
using System.Linq.Expressions;
namespace AyCode.Services.SignalRs;
public class IdMessage
{
public List<Guid> Ids { get; private set; } = [];
public List<string> Ids { get; private set; } = [];
public IdMessage()
{}
public IdMessage(params Guid[] ids) : this()
{
Ids.AddRange(ids);
}
public IdMessage(IEnumerable<object> ids) : this()
{
//Ids.AddRange(ids);
Ids.AddRange(ids.Select(x =>
{
string item;
//if (x is Expression expr)
//{
// string aa = string.Empty;
// var serializer = new ExpressionSerializer(new JsonSerializer());
// try
// {
// aa = serializer.SerializeText(expr);
// }
// catch(Exception ex)
// {
// Console.WriteLine(ex);
// }
// item = (new[] { aa }).ToJson();
//}
//else
item = (new[] { x }).ToJson();
return item;
}));
}
public IdMessage(object id) : this(new object[] { id })
{
}
public IdMessage(IEnumerable<Guid> ids) : this(ids.Cast<object>().ToArray())
{
}
public override string ToString()