Implement SignalR hubs, logger; etc...

This commit is contained in:
Loretta 2025-09-02 13:12:10 +02:00
parent bde787caf0
commit 964179c9d3
119 changed files with 2118 additions and 406 deletions

View File

@ -0,0 +1,22 @@
using AyCode.Core.Loggers;
using AyCode.Services.SignalRs;
using FruitBank.Common.Loggers;
using FruitBank.Common.Models;
using FruitBank.Common.SignalRs;
namespace FruitBank.Common.Server.Controllers
{
public class FruitBankDataController(IEnumerable<IAcLogWriterBase> logWriters)//: IFruitBankDataControllerCommon
{
private readonly ILogger _logger = new Logger<FruitBankDataController>(logWriters.ToArray());
[SignalR(SignalRTags.GetMeasuringModel)]
public MeasuringModel GetMeasuringModel()
{
_logger.Detail($"GetMeasuringModel invoked");
return new MeasuringModel($"GetMeasuringModel invoked [{DateTime.Now}]");
}
}
}

View File

@ -7,10 +7,13 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MessagePack" Version="3.1.4" />
<PackageReference Include="MessagePack.Annotations" Version="3.1.4" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="9.0.8" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="9.0.8" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="9.0.8" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="9.0.8" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<ItemGroup>
@ -21,6 +24,9 @@
<Reference Include="AyCode.Core">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.dll</HintPath>
</Reference>
<Reference Include="AyCode.Models.Server">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Models.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Services">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Services.dll</HintPath>
</Reference>

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Core.Consts;
namespace FruitBank.Common.Server
{
public class FruitBankConst : AcConst
{
public static string ProjectIdString = "aad53443-2ee2-4650-8a99-97e907265e4e";
static FruitBankConst()
{
ProjectId = Guid.Parse(ProjectIdString);
ProjectSalt = GenerateProjectSalt(ProjectId.ToString("N"));
}
}
}

View File

@ -0,0 +1,17 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
namespace FruitBank.Common.Server.Services.Loggers;
public class ConsoleLogWriter : AcConsoleLogWriter
{
public ConsoleLogWriter() : this(null)
{ }
public ConsoleLogWriter(string? categoryName = null) : base(categoryName)
{ }
public ConsoleLogWriter(AppType appType, LogLevel logLevel, string? callerClassName = null) : base(appType, logLevel, callerClassName)
{
}
}

View File

@ -0,0 +1,7 @@
using FruitBank.Common.Loggers;
namespace FruitBank.Common.Server.Services.Loggers;
public class LoggerToLoggerApiController : Logger<LoggerToLoggerApiController>
{
}

View File

@ -0,0 +1,116 @@
using AyCode.Core.Extensions;
using AyCode.Core.Loggers;
using AyCode.Models.Server.DynamicMethods;
using AyCode.Services.SignalRs;
using FruitBank.Common.Loggers;
using FruitBank.Common.Server.Controllers;
using FruitBank.Common.SignalRs;
using Microsoft.AspNetCore.SignalR;
using Microsoft.Extensions.Configuration;
namespace FruitBank.Common.Server.Services.SignalRs;
//public class DevAdminSignalRHub : AcWebSignalRHubWithSessionBase<SignalRTags, Logger<DevAdminSignalRHub>>
//{
// public DevAdminSignalRHub(IConfiguration configuration, IEnumerable<IAcLogWriterBase> logWriters)
// : base(configuration, new Logger<DevAdminSignalRHub>(logWriters.ToArray()))
// {
// Logger.Info("DevAdminSignalRHub");
// }
// public Task ReceiveMessage(int messageTag, byte[]? message, int? requestId)
// {
// Clients.All.SendAsync("TestMessage", "Hello from server");
// }
//}
public class DevAdminSignalRHub : AcWebSignalRHubWithSessionBase<SignalRTags, Logger<DevAdminSignalRHub>>
{
public DevAdminSignalRHub(IConfiguration configuration, FruitBankDataController fruitBankDataController/*, SessionService sessionService*/, IEnumerable<IAcLogWriterBase> logWriters)
: base(configuration, new Logger<DevAdminSignalRHub>(logWriters.ToArray()))
{
DynamicMethodCallModels.Add(new AcDynamicMethodCallModel<SignalRAttribute>(fruitBankDataController));
}
//public override Task OnReceiveMessage(int messageTag, byte[]? message, int? requestId)
//{
// return ProcessOnReceiveMessage(messageTag, message, requestId, async tagName =>
// {
// switch (messageTag)
// {
// case SignalRTags.GetAddress:
// //var id = Guid.Parse((string)message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0]);
// var id = message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0].JsonTo<Guid[]>()![0];
// var address = await _adminDal.GetAddressByIdAsync(id);
// await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, address), requestId);
// return;
// case SignalRTags.GetAddressesByContextId:
// //id = Guid.Parse((string)message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0]);
// id = message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0].JsonTo<Guid[]>()![0];
// address = await _adminDal.GetAddressByIdAsync(id);
// await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, new List<Address> { address! }), requestId);
// return;
// case SignalRTags.UpdateAddress:
// address = message!.MessagePackTo<SignalPostJsonDataMessage<Address>>().PostData;
// await _adminDal.UpdateAddressAsync(address);
// await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, address), requestId);
// return;
// case SignalRTags.UpdateProfile:
// var profile = message!.MessagePackTo<SignalPostJsonDataMessage<Profile>>().PostData;
// await _adminDal.UpdateProfileAsync(profile);
// await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, profile), requestId);
// return;
// //case SignalRTags.GetTransfersAsync:
// // await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, await _transferDataApiController.GetTransfers()), requestId);
// // return;
// //case SignalRTags.GetPropertiesByOwnerIdAsync:
// // var ownerId = message!.MessagePackTo<SignalRequestByIdMessage>().Id;
// // await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, await _serviceProviderApiController.GetServiceProvidersByOwnerId(ownerId)), requestId);
// // return;
// //case SignalRTags.UpdateTransferAsync:
// // var transfer = message!.MessagePackTo<SignalPostJsonDataMessage<Transfer>>().PostData;
// // await _transferDataApiController.UpdateTransfer(transfer);
// // await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, transfer), requestId);
// // return;
// //case SignalRTags.GetCompaniesAsync:
// // await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, await _serviceProviderApiController.GetServiceProviders()), requestId);
// // return;
// //case SignalRTags.UpdateCompanyAsync:
// // var updateCompany = message!.MessagePackTo<SignalPostJsonDataMessage<Company>>().PostData;
// // await _serviceProviderApiController.UpdateServiceProvider(updateCompany);
// // await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, updateCompany), requestId);
// // return;
// default:
// Logger.Error($"Server OnReceiveMessage; messageTag not found! {tagName}");
// break;
// }
// });
//}
}

View File

@ -0,0 +1,10 @@
using AyCode.Core.Consts;
using AyCode.Services.Server.SignalRs;
using FruitBank.Common.Server.Services.Loggers;
using Microsoft.AspNetCore.SignalR;
namespace FruitBank.Common.Server.Services.SignalRs;
public class LoggerSignalRHub(LoggerToLoggerApiController logger) : AcLoggerSignalRHub<LoggerToLoggerApiController>(logger)
{ }

View File

@ -1,106 +0,0 @@
//using AyCode.Core.Extensions;
//using AyCode.Core.Loggers;
//using AyCode.Services.SignalRs;
//using FruitBank.Common.SignalRs;
//using Microsoft.Extensions.Configuration;
//namespace FruitBank.Common.Services.Services.SignalRs;
//public class DevAdminSignalRHub : AcWebSignalRHubWithSessionBase<SignalRTags, TIAM.Core.Loggers.Logger<DevAdminSignalRHub>>
//{
// private readonly AdminDal _adminDal;
// public DevAdminSignalRHub(IConfiguration configuration, AdminDal adminDal, UserDal userDal, UserAPIController userApiController, ServiceProviderAPIController serviceProviderApiController, TransferDataAPIController transferDataApiController, MessageAPIController messageApiController, ProfileAPIController profileApiController, LoggerApiController loggerApiController, SessionService sessionService, IEnumerable<IAcLogWriterBase> logWriters)
// : base(configuration, userDal, sessionService, new TIAM.Core.Loggers.Logger<DevAdminSignalRHub>(logWriters.ToArray()))
// {
// _adminDal = adminDal;
// DynamicMethodCallModels.Add(new AcDynamicMethodCallModel<SignalRAttribute>(userApiController));
// DynamicMethodCallModels.Add(new AcDynamicMethodCallModel<SignalRAttribute>(serviceProviderApiController));
// DynamicMethodCallModels.Add(new AcDynamicMethodCallModel<SignalRAttribute>(transferDataApiController));
// DynamicMethodCallModels.Add(new AcDynamicMethodCallModel<SignalRAttribute>(messageApiController));
// DynamicMethodCallModels.Add(new AcDynamicMethodCallModel<SignalRAttribute>(profileApiController));
// DynamicMethodCallModels.Add(new AcDynamicMethodCallModel<SignalRAttribute>(loggerApiController));
// //_dynamicMethodCallModels.Add(new DynamicMethodCallModel<SignalRAttribute>(typeof(AdminDal)));
// }
// public override Task OnReceiveMessage(int messageTag, byte[]? message, int? requestId)
// {
// return ProcessOnReceiveMessage(messageTag, message, requestId, async tagName =>
// {
// switch (messageTag)
// {
// case SignalRTags.GetAddress:
// //var id = Guid.Parse((string)message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0]);
// var id = message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0].JsonTo<Guid[]>()![0];
// var address = await _adminDal.GetAddressByIdAsync(id);
// await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, address), requestId);
// return;
// case SignalRTags.GetAddressesByContextId:
// //id = Guid.Parse((string)message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0]);
// id = message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0].JsonTo<Guid[]>()![0];
// address = await _adminDal.GetAddressByIdAsync(id);
// await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, new List<Address> { address! }), requestId);
// return;
// case SignalRTags.UpdateAddress:
// address = message!.MessagePackTo<SignalPostJsonDataMessage<Address>>().PostData;
// await _adminDal.UpdateAddressAsync(address);
// await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, address), requestId);
// return;
// case SignalRTags.UpdateProfile:
// var profile = message!.MessagePackTo<SignalPostJsonDataMessage<Profile>>().PostData;
// await _adminDal.UpdateProfileAsync(profile);
// await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, profile), requestId);
// return;
// //case SignalRTags.GetTransfersAsync:
// // await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, await _transferDataApiController.GetTransfers()), requestId);
// // return;
// //case SignalRTags.GetPropertiesByOwnerIdAsync:
// // var ownerId = message!.MessagePackTo<SignalRequestByIdMessage>().Id;
// // await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, await _serviceProviderApiController.GetServiceProvidersByOwnerId(ownerId)), requestId);
// // return;
// //case SignalRTags.UpdateTransferAsync:
// // var transfer = message!.MessagePackTo<SignalPostJsonDataMessage<Transfer>>().PostData;
// // await _transferDataApiController.UpdateTransfer(transfer);
// // await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, transfer), requestId);
// // return;
// //case SignalRTags.GetCompaniesAsync:
// // await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, await _serviceProviderApiController.GetServiceProviders()), requestId);
// // return;
// //case SignalRTags.UpdateCompanyAsync:
// // var updateCompany = message!.MessagePackTo<SignalPostJsonDataMessage<Company>>().PostData;
// // await _serviceProviderApiController.UpdateServiceProvider(updateCompany);
// // await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, updateCompany), requestId);
// // return;
// default:
// Logger.Error($"Server OnReceiveMessage; messageTag not found! {tagName}");
// break;
// }
// });
// }
//}

View File

@ -7,13 +7,25 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MessagePack" Version="3.1.4" />
<PackageReference Include="MessagePack.Annotations" Version="3.1.4" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="9.0.8" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<ItemGroup>
<Reference Include="AyCode.Core">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.dll</HintPath>
</Reference>
<Reference Include="AyCode.Entities">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.dll</HintPath>
</Reference>
<Reference Include="AyCode.Interfaces">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Interfaces.dll</HintPath>
</Reference>
<Reference Include="AyCode.Models">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Models.dll</HintPath>
</Reference>
<Reference Include="AyCode.Services">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Services.dll</HintPath>
</Reference>

View File

@ -0,0 +1,82 @@
using AyCode.Core.Consts;
using AyCode.Core.Loggers;
namespace FruitBank.Common;
public static class FruitBankConstClient
{
public static string DefaultLocale = "en-US";
public static string BaseUrl = "https://localhost:7144";
public static string DefaultHubName = "fbHub";
public static string LoggerHubName = "loggerHub";
//public static Guid[] DevAdminIds = new Guid[2] { Guid.Parse("dcf451d2-cc4c-4ac2-8c1f-da00041be1fd"), Guid.Parse("4cbaed43-2465-4d99-84f1-c8bc6b7025f7") };
//public static Guid[] SysAdmins = new Guid[3]
//{
// Guid.Parse("dcf451d2-cc4c-4ac2-8c1f-da00041be1fd"),
// Guid.Parse("4cbaed43-2465-4d99-84f1-c8bc6b7025f7"),
// Guid.Parse("540271f6-c604-4c16-8160-d5a7cafedf00")
//};
//public static Dictionary<string, Guid> SysAccounts = new Dictionary<string, Guid>
//{
// { "SystemEmailSender", Guid.Parse("5e13e051-4fd6-4a30-a371-75cc785cfb84")},
//};
public static string WelcomeEmailTemplateName = "WelcomeEmailTemplate";
public static string NewTransferEmailTemplateName = "NewTransferEmailTemplate";
public static string TransferModifiedEmailTemplateName = "TramsferModifiedEmailTemplate";
public static string ForgotPasswordEmailTemplateName = "ForgotPasswordEmailTemplate";
public static string GeneralEmailTemplateName = "GeneralEmailTemplate";
public static List<string> WelcomeEmailParameters = new List<string>()
{
"UserName",
"SettingBaseUrl",
"UserId",
"Token"
};
public static List<string> ForgotPasswordEmailParameters = new List<string>()
{
//string userName, string settingBaseUrl, string userId, string token
"UserName",
"SettingBaseUrl",
"UserId",
"Token"
};
public static List<string> NewTransferEmailParameters = new List<string>()
{
//string userName, string fromAddress, string toAddress, string appointment,
//string fullname,string passengerCount, string luggageCount, string settingBaseUrl, string transferId
"UserName",
"FromAddress",
"ToAddress",
"Appointment",
"FullName",
"PassengerCount",
"LuggageCount",
"SettingBaseUrl",
"TransferId"
};
public static List<string> GeneralEmailParameters = new List<string>()
{
//string userName, string settingBaseUrl, string userId, string token
"UserName",
"MessageBody",
"SettingBaseUrl",
"UserId"
};
#if RELEASE
public static string SystemEmailAddress = "test@touriam.com";
public static LogLevel DefaultLogLevelClient = LogLevel.Error;
#else
public static string SystemEmailAddress = "test@touriam.com";
public static LogLevel DefaultLogLevelClient = LogLevel.Detail;
#endif
}

View File

@ -0,0 +1,12 @@
using AyCode.Core.Loggers;
namespace FruitBank.Common.Loggers;
public interface ILogger<TCategory> : ILogger
{
}
public interface ILogger : IAcLoggerBase
{
}

View File

@ -0,0 +1,32 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
namespace FruitBank.Common.Loggers;
public class Logger<TCategory> : Logger, ILogger<TCategory>
{
public Logger() : base(typeof(TCategory).Name)
{ }
public Logger(params IAcLogWriterBase[] logWriters) : base(typeof(TCategory).Name, logWriters)
{ }
public Logger(AppType appType, LogLevel logLevel, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, typeof(TCategory).Name, logWriters)
{ }
}
public class Logger : AcLoggerBase, ILogger
{
public Logger() : this(null)
{
}
public Logger(string? categoryName) : base(categoryName)
{ }
public Logger(string? categoryName, params IAcLogWriterBase[] logWriters) : base(categoryName, logWriters)
{ }
public Logger(AppType appType, LogLevel logLevel, string? categoryName, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, categoryName, logWriters)
{ }
}

View File

@ -0,0 +1,17 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
using AyCode.Services.Loggers;
namespace FruitBank.Common.Loggers
{
public class SignaRClientLogItemWriter : AcSignaRClientLogItemWriter
{
public SignaRClientLogItemWriter() : this(AppType.Web, LogLevel.Detail, null)
{
}
public SignaRClientLogItemWriter(AppType appType, LogLevel logLevel, string? categoryName = null) : base($"{FruitBankConstClient.BaseUrl}/{FruitBankConstClient.LoggerHubName}", appType, logLevel, categoryName)
{
}
}
}

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Core.Interfaces;
namespace FruitBank.Common.Models
{
public class MeasuringModel : IAcSerializableToJson
{
public MeasuringModel() { }
public MeasuringModel(string name) : this()
{
Name = name;
}
public string Name { get; set; }
}
}

View File

@ -6,129 +6,8 @@ public class SignalRTags : AcSignalRTags
{
public const int GetSiteViewModelByUserId = int.MaxValue;
public const int GetTransfer = 1;
public const int GetTransfers = 2;
public const int GetTransfersByUserId = 3;
public const int GetTransfersByDriverId = 4;
public const int GetTransfersByProductId = 5;
public const int GetTransfersByCompanyId = 6;
public const int GetTransfersByUserProductMappingId = 701;
public const int GetTransfersByOrderingProductId = 702;
public const int GetTransfersByFilterText = 301;
public const int GetMeasuringModel = 10;
public const int UpdateTransfer = 7;
public const int AddTransfer = 8;
public const int RemoveTransfer = 9;
public const int GetPropertiesByOwnerId = 10;
public const int GetCompany = 12;
public const int GetCompanies = 13;
public const int GetCompaniesById = 14;
public const int GetCompaniesByContextId = 15;
public const int UpdateCompany = 16;
public const int AddCompany = 17;
public const int RemoveCompany = 18;
public const int GetTransferDriver = 22;
public const int GetAllDrivers = 23;
public const int GetAllDriversByProductId = 24;
public const int GetTransferDriversByTransferId = 25;
public const int AddTransferToDriver = 26;
public const int UpdateTransferToDriver = 27;
public const int RemoveTransferToDriver = 28;
public const int GetDriverManageTransfersPageModelByDriverId = 803;
public const int GetAddress = 29;
//public const int GetAddresses = 30;
public const int GetAddressesByContextId = 31;
public const int UpdateAddress = 32;
//public const int AddAddress = 33;
//public const int RemoveAddress = 34;
public const int GetProfileById = 35;
public const int GetProfileByUserId = 36;
//public const int GetProfiles = 36;
//public const int GetProfileByContextId = 37;
public const int UpdateProfile = 38;
//public const int AddAddress = 39;
//public const int RemoveAddress = 40;
public const int CreateUserProductMapping = 40;
public const int UpdateUserProductMapping = 41;
public const int DeleteUserProductMapping = 42; //set permissions to 0
public const int GetAllUserProductMappings = 43;
public const int GetUserProductMappingsByProductId = 44;
public const int GetUserProductMappingsByUserId = 45;
public const int GetUserProductMappingById = 46;
public const int GetUserProductMappingsById = 47;
public const int GetCarsForUserProductMapping = 50;
public const int CreateCar = 51;
public const int UpdateCar = 52;
public const int DeleteCar = 53;
public const int GetAllCars = 54;
public const int GetAllCarsByProductId = 55;
public const int GetMessagesByContextId = 60;
public const int GetAllMessages = 61;
/// <summary>
/// UserPropductMappingId
/// </summary>
public const int GetTransfersMessagesByDriverId = 62;
public const int GetMessagesByUserId = 63;
public const int CreateMessage = 64;
public const int UpdateMessage = 65;
public const int DeleteMessage = 66;
public const int GetProductById = 70;
public const int GetProductsByOwnerId = 71; //for now until we can send multiple parameters
public const int GetProductsByContextId = 72;
public const int UpdateProduct = 73;
public const int AddProduct = 74;
public const int RemoveProduct = 75;
public const int GetProductsById = 76;
public const int GetAllProducts = 77;
public const int GetAllProductModelDtoNames = 78;
public const int GetTransferDestinationById = 80;
public const int GetAllTransferDestinations = 81;
public const int GetAllTransferDestinationsByProductId = 82;
public const int CreateTransferDestination = 83;
public const int UpdateTransferDestination = 84;
public const int RemoveTransferDestination = 85; //set permissions to 0
public const int CreateTransferDestinationToProduct = 90;
public const int UpdateTransferDestinationToProduct = 91;
public const int RemoveTransferDestinationToProduct = 92; //set permissions to 0
public const int GetTransferDestinationToProductById = 93;
public const int GetAllTransferDestinationToProducts = 94;
public const int GetTransferDestinationToProductsByProductId = 95;
public const int GetTransferDestinationToProductsByTransferDestinationId = 96;
public const int GetAllUsers = 120;
public const int GetAllUserModelDto = 121;
public const int GetAllUserModelDtoDetails = 122;
public const int GetAllUserModelDtoEmails = 123;
public const int GetUserModelDtoById = 126;
public const int GetUserModelDtoByEmail = 127;
public const int GetUserModelDtoDetailById = 128;
public const int GetUserModelDtoDetailByEmail = 129;
public const int AddUser = 130;
public const int AddUserModelDtoDetail = 131;
public const int UpdateUser = 135;
public const int UpdateUserModelDtoDetail = 136;
public const int UserChangePassword = 139;
public const int UserForgotPassword = 140;
public const int GuestUpdateTransfer = 150;
public const int DriverUpdateTransfer = 151;
public const int AuthenticateUser = 160;
public const int RefreshToken = 200;

View File

@ -6,4 +6,10 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MessagePack" Version="3.1.4" />
<PackageReference Include="MessagePack.Annotations" Version="3.1.4" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
</Project>

View File

@ -11,8 +11,39 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="MessagePack" Version="3.1.4" />
<PackageReference Include="MessagePack.Annotations" Version="3.1.4" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="9.0.8" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="9.0.8" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FruitBank.Common\FruitBank.Common.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="AyCode.Core">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.dll</HintPath>
</Reference>
<Reference Include="AyCode.Entities">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.dll</HintPath>
</Reference>
<Reference Include="AyCode.Interfaces">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Interfaces.dll</HintPath>
</Reference>
<Reference Include="AyCode.Models">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Models.dll</HintPath>
</Reference>
<Reference Include="AyCode.Services">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Services.dll</HintPath>
</Reference>
<Reference Include="AyCode.Services.Server">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Services.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Utils">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Utils.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

View File

@ -1,46 +1,19 @@
@page "/chat"
@using FruitBankHybrid.Shared.Services
@inject ISignalRService SignalR
@* @inject ISignalRService SignalR *@
<h3>AI Chat</h3>
<input @bind="userName" placeholder="Your name" />
<input @bind="message" placeholder="Type message..." />
<input @bind="_userName" placeholder="Your name" />
<input @bind="_message" placeholder="Type message..." />
<button @onclick="Send">Send</button>
<ul>
@foreach (var m in messages)
@foreach (var m in _messages)
{
<li><b>@m.User:</b> @m.Text</li>
}
</ul>
@code {
private string userName = "BlazorClient";
private string message;
private List<(string User, string Text)> messages = new();
protected override async Task OnInitializedAsync()
{
SignalR.MessageReceived += OnMessageReceived;
await SignalR.InitializeAsync();
}
private void OnMessageReceived(string user, string text)
{
messages.Add((user, text));
InvokeAsync(StateHasChanged);
}
private async Task Send()
{
await SignalR.SendMessageAsync(userName, message);
message = string.Empty;
}
public async ValueTask DisposeAsync()
{
SignalR.MessageReceived -= OnMessageReceived;
await SignalR.DisposeAsync();
}
}

View File

@ -0,0 +1,45 @@
using AyCode.Core.Loggers;
using FruitBank.Common.Loggers;
using FruitBankHybrid.Shared.Services.Loggers;
using FruitBankHybrid.Shared.Services.SignalRs;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Logging;
using Microsoft.JSInterop;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Net.Mime.MediaTypeNames;
using static System.Runtime.InteropServices.JavaScript.JSType;
using ILogger = FruitBank.Common.Loggers.ILogger;
namespace FruitBankHybrid.Shared.Pages
{
public partial class Chat : ComponentBase
{
[Inject] public required IEnumerable<IAcLogWriterClientBase> LogWriters { get; set; }
[Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; }
private ILogger _logger;
private string _userName = "BlazorClient";
private string _message;
private readonly List<(string User, string Text)> _messages = [];
protected override async Task OnInitializedAsync()
{
_logger = new LoggerClient<Chat>(LogWriters.ToArray());
_logger.Info("OnInitializedAsync");
}
private async Task Send()
{
_message = string.Empty;
var measuringModel = (await FruitBankSignalRClient.GetWelcomeMessage())!;
_messages.Add((_userName, measuringModel.Name));
}
}
}

View File

@ -0,0 +1,34 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
using FruitBank.Common;
using FruitBank.Common.Loggers;
namespace FruitBankHybrid.Shared.Services.Loggers;
public class LoggerClient : Logger, ILogger
{
public LoggerClient() : this(null)
{
}
public LoggerClient(string? categoryName) : base(AppType.Web, FruitBankConstClient.DefaultLogLevelClient, categoryName)
{ }
public LoggerClient(string? categoryName, params IAcLogWriterBase[] logWriters) : base(AppType.Web, FruitBankConstClient.DefaultLogLevelClient, categoryName, logWriters)
{ }
public LoggerClient(AppType appType, LogLevel logLevel, string? categoryName, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, categoryName, logWriters)
{ }
}
public class LoggerClient<TCategory> : LoggerClient, ILogger<TCategory>
{
public LoggerClient() : base(AppType.Web, FruitBankConstClient.DefaultLogLevelClient, typeof(TCategory).Name)
{ }
public LoggerClient(params IAcLogWriterClientBase[] logWriters) : base(AppType.Web, FruitBankConstClient.DefaultLogLevelClient, typeof(TCategory).Name, logWriters)
{ }
public LoggerClient(AppType appType, LogLevel logLevel, params IAcLogWriterClientBase[] logWriters) : base(appType, logLevel, typeof(TCategory).Name, logWriters)
{ }
}

View File

@ -1,10 +1,11 @@
using Microsoft.AspNetCore.Components;
using FruitBank.Common;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.SignalR.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.SignalR.Client;
namespace FruitBankHybrid.Shared.Services
{
@ -25,7 +26,8 @@ namespace FruitBankHybrid.Shared.Services
{
// Build the connection (assuming same domain as Blazor app, otherwise use full URL)
_hubConnection = new HubConnectionBuilder()
.WithUrl(_navigationManager.ToAbsoluteUri("https://localhost:59579/fbhub"))
//.WithUrl(_navigationManager.ToAbsoluteUri($"https://localhost:59579/{FruitBankConstClient.DefaultHubName}"))
.WithUrl(_navigationManager.ToAbsoluteUri($"{FruitBankConstClient.BaseUrl}/{FruitBankConstClient.DefaultHubName}"))
.WithAutomaticReconnect()
.Build();

View File

@ -0,0 +1,30 @@
using AyCode.Core.Helpers;
using AyCode.Core.Loggers;
using AyCode.Services.Server.SignalRs;
using AyCode.Services.SignalRs;
using FruitBank.Common;
using FruitBank.Common.Models;
using FruitBank.Common.SignalRs;
using FruitBankHybrid.Shared.Services.Loggers;
namespace FruitBankHybrid.Shared.Services.SignalRs
{
public class FruitBankSignalRClient : AcSignalRClientBase//, IFruitBankDataControllerClient
{
public FruitBankSignalRClient(/*IServiceProvider serviceProvider, */IEnumerable<IAcLogWriterClientBase> logWriters) : base($"{FruitBankConstClient.BaseUrl}/{FruitBankConstClient.DefaultHubName}", new LoggerClient(nameof(FruitBankSignalRClient), logWriters.ToArray()))
{
//var a = ActivatorUtilities.GetServiceOrCreateInstance<TransferDataService>(serviceProvider);
ConstHelper.NameByValue<SignalRTags>(0);
}
public Task<MeasuringModel?> GetWelcomeMessage()
=> GetAllAsync<MeasuringModel>(SignalRTags.GetMeasuringModel);
//public Task GetWelcomeMessageAsync(string message, Action? callback = null)
//{
// Logger.Detail($"GetWelcomeMessageAsync client called; message: {message}");
// return GetAllAsync<string>(SignalRTags.GetAllTransferDestinations, callback);
//}
}
}

View File

@ -1 +1 @@
49a79518bf63df4679ecf6dacb3c01fd34e766e2043f60c3cc1e96e6531f3c8e
07ecfb57284434d1a0392647958ad6007606136a594ff7294bd13ee9410073cb

View File

@ -36,14 +36,14 @@ build_metadata.AdditionalFiles.CssScope =
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcV2VhdGhlci5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[H:/Applications/Mango/Source/FruitBankHybridApp/FruitBankHybrid.Shared/Pages/_Imports.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcX0ltcG9ydHMucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[H:/Applications/Mango/Source/FruitBankHybridApp/FruitBankHybrid.Shared/Routes.razor]
build_metadata.AdditionalFiles.TargetPath = Um91dGVzLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[H:/Applications/Mango/Source/FruitBankHybridApp/FruitBankHybrid.Shared/_Imports.razor]
build_metadata.AdditionalFiles.TargetPath = X0ltcG9ydHMucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[H:/Applications/Mango/Source/FruitBankHybridApp/FruitBankHybrid.Shared/Layout/MainLayout.razor]
build_metadata.AdditionalFiles.TargetPath = TGF5b3V0XE1haW5MYXlvdXQucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-hw9ivp1gzk

View File

@ -4,14 +4,14 @@
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj": {}
},
"projects": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj",
"projectName": "FruitBankHybrid.Shared",
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj",
"projectUniqueName": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj",
"projectName": "FruitBank.Common",
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj",
"packagesPath": "C:\\Users\\Fullepi\\.nuget\\packages\\",
"outputPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\obj\\",
"outputPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files\\DevExpress 24.1\\Components\\Offline Packages",
@ -58,6 +58,109 @@
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.Extensions.Configuration.Abstractions": {
"target": "Package",
"version": "[9.0.8, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.304/PortableRuntimeIdentifierGraph.json"
}
}
},
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj",
"projectName": "FruitBankHybrid.Shared",
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj",
"packagesPath": "C:\\Users\\Fullepi\\.nuget\\packages\\",
"outputPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files\\DevExpress 24.1\\Components\\Offline Packages",
"C:\\Program Files\\DevExpress 24.2\\Components\\Offline Packages",
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Fullepi\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\DevExpress 24.1.config",
"C:\\Program Files (x86)\\NuGet\\Config\\DevExpress 24.2.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net9.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\DevExpress 24.1\\Components\\System\\Components\\Packages": {},
"C:\\Program Files\\DevExpress 24.2\\Components\\System\\Components\\Packages": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"H:\\Applications\\Aycode\\Source\\Anata-Plugins-NetCore\\_AnataDlls": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"projectReferences": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj": {
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.300"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.AspNetCore.Components.Web": {
"target": "Package",
"version": "[9.0.8, )"
@ -65,6 +168,10 @@
"Microsoft.AspNetCore.SignalR.Client": {
"target": "Package",
"version": "[9.0.8, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [

View File

@ -2,6 +2,43 @@
"version": 3,
"targets": {
"net9.0": {
"MessagePack/3.1.4": {
"type": "package",
"dependencies": {
"MessagePack.Annotations": "3.1.4",
"MessagePackAnalyzer": "3.1.4",
"Microsoft.NET.StringTools": "17.11.4"
},
"compile": {
"lib/net9.0/MessagePack.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net9.0/MessagePack.dll": {
"related": ".xml"
}
}
},
"MessagePack.Annotations/3.1.4": {
"type": "package",
"compile": {
"lib/netstandard2.0/MessagePack.Annotations.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.0/MessagePack.Annotations.dll": {
"related": ".xml"
}
}
},
"MessagePackAnalyzer/3.1.4": {
"type": "package",
"build": {
"build/MessagePackAnalyzer.targets": {}
}
},
"Microsoft.AspNetCore.Authorization/9.0.8": {
"type": "package",
"dependencies": {
@ -213,6 +250,25 @@
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.8": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.8"
},
"compile": {
"lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net8.0/_._": {}
}
},
"Microsoft.Extensions.DependencyInjection/9.0.8": {
"type": "package",
"dependencies": {
@ -350,6 +406,32 @@
}
}
},
"Microsoft.NET.StringTools/17.11.4": {
"type": "package",
"compile": {
"ref/net8.0/_._": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.NET.StringTools.dll": {
"related": ".pdb;.xml"
}
}
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"compile": {
"lib/net6.0/Newtonsoft.Json.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"related": ".xml"
}
}
},
"System.Net.ServerSentEvents/9.0.8": {
"type": "package",
"compile": {
@ -381,10 +463,74 @@
"build": {
"buildTransitive/net8.0/_._": {}
}
},
"FruitBank.Common/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v9.0",
"dependencies": {
"MessagePack": "3.1.4",
"MessagePack.Annotations": "3.1.4",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.8",
"Newtonsoft.Json": "13.0.3"
},
"compile": {
"bin/placeholder/FruitBank.Common.dll": {}
},
"runtime": {
"bin/placeholder/FruitBank.Common.dll": {}
}
}
}
},
"libraries": {
"MessagePack/3.1.4": {
"sha512": "BH0wlHWmVoZpbAPyyt2Awbq30C+ZsS3eHSkYdnyUAbqVJ22fAJDzn2xTieBeoT5QlcBzp61vHcv878YJGfi3mg==",
"type": "package",
"path": "messagepack/3.1.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net472/MessagePack.dll",
"lib/net472/MessagePack.xml",
"lib/net8.0/MessagePack.dll",
"lib/net8.0/MessagePack.xml",
"lib/net9.0/MessagePack.dll",
"lib/net9.0/MessagePack.xml",
"lib/netstandard2.0/MessagePack.dll",
"lib/netstandard2.0/MessagePack.xml",
"lib/netstandard2.1/MessagePack.dll",
"lib/netstandard2.1/MessagePack.xml",
"messagepack.3.1.4.nupkg.sha512",
"messagepack.nuspec"
]
},
"MessagePack.Annotations/3.1.4": {
"sha512": "aVWrDAkCdqxwQsz/q0ldPh2EFn48M99YUzE9OvZjMq2RNLKz4o2z88iGFvSvbMqOWRweRvKPHBJZe22PRqzslQ==",
"type": "package",
"path": "messagepack.annotations/3.1.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/netstandard2.0/MessagePack.Annotations.dll",
"lib/netstandard2.0/MessagePack.Annotations.xml",
"messagepack.annotations.3.1.4.nupkg.sha512",
"messagepack.annotations.nuspec"
]
},
"MessagePackAnalyzer/3.1.4": {
"sha512": "CTaSsN/liJ7MhLCAB7Z4ZLBNuVGCq9lt2BT/cbrc9vzGv89yK3CqIA+z9T19a11eQYl9etZHL6MQJgCqECRVpg==",
"type": "package",
"path": "messagepackanalyzer/3.1.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"analyzers/roslyn4.3/cs/MessagePack.Analyzers.CodeFixes.dll",
"analyzers/roslyn4.3/cs/MessagePack.SourceGenerator.dll",
"build/MessagePackAnalyzer.targets",
"messagepackanalyzer.3.1.4.nupkg.sha512",
"messagepackanalyzer.nuspec"
]
},
"Microsoft.AspNetCore.Authorization/9.0.8": {
"sha512": "1M8ncVJtsRBEfbDc9QCa2zuwMjh/YWLu/WnRXWHG5q+KE5FDvPEsV3cJag3qy6NWL2b0H+pdushFsN9d3geemA==",
"type": "package",
@ -623,6 +769,34 @@
"microsoft.aspnetcore.signalr.protocols.json.nuspec"
]
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.8": {
"sha512": "yNou2KM35RvzOh4vUFtl2l33rWPvOCoba+nzEDJ+BgD8aOL/jew4WPCibQvntRfOJ2pJU8ARygSMD+pdjvDHuA==",
"type": "package",
"path": "microsoft.extensions.configuration.abstractions/9.0.8",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net8.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets",
"lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"microsoft.extensions.configuration.abstractions.9.0.8.nupkg.sha512",
"microsoft.extensions.configuration.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.DependencyInjection/9.0.8": {
"sha512": "JJjI2Fa+QtZcUyuNjbKn04OjIUX5IgFGFu/Xc+qvzh1rXdZHLcnqqVXhR4093bGirTwacRlHiVg1XYI9xum6QQ==",
"type": "package",
@ -891,6 +1065,65 @@
"microsoft.jsinterop.nuspec"
]
},
"Microsoft.NET.StringTools/17.11.4": {
"sha512": "mudqUHhNpeqIdJoUx2YDWZO/I9uEDYVowan89R6wsomfnUJQk6HteoQTlNjZDixhT2B4IXMkMtgZtoceIjLRmA==",
"type": "package",
"path": "microsoft.net.stringtools/17.11.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"MSBuild-NuGet-Icon.png",
"README.md",
"lib/net472/Microsoft.NET.StringTools.dll",
"lib/net472/Microsoft.NET.StringTools.pdb",
"lib/net472/Microsoft.NET.StringTools.xml",
"lib/net8.0/Microsoft.NET.StringTools.dll",
"lib/net8.0/Microsoft.NET.StringTools.pdb",
"lib/net8.0/Microsoft.NET.StringTools.xml",
"lib/netstandard2.0/Microsoft.NET.StringTools.dll",
"lib/netstandard2.0/Microsoft.NET.StringTools.pdb",
"lib/netstandard2.0/Microsoft.NET.StringTools.xml",
"microsoft.net.stringtools.17.11.4.nupkg.sha512",
"microsoft.net.stringtools.nuspec",
"notices/THIRDPARTYNOTICES.txt",
"ref/net472/Microsoft.NET.StringTools.dll",
"ref/net472/Microsoft.NET.StringTools.xml",
"ref/net8.0/Microsoft.NET.StringTools.dll",
"ref/net8.0/Microsoft.NET.StringTools.xml",
"ref/netstandard2.0/Microsoft.NET.StringTools.dll",
"ref/netstandard2.0/Microsoft.NET.StringTools.xml"
]
},
"Newtonsoft.Json/13.0.3": {
"sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
"type": "package",
"path": "newtonsoft.json/13.0.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.md",
"README.md",
"lib/net20/Newtonsoft.Json.dll",
"lib/net20/Newtonsoft.Json.xml",
"lib/net35/Newtonsoft.Json.dll",
"lib/net35/Newtonsoft.Json.xml",
"lib/net40/Newtonsoft.Json.dll",
"lib/net40/Newtonsoft.Json.xml",
"lib/net45/Newtonsoft.Json.dll",
"lib/net45/Newtonsoft.Json.xml",
"lib/net6.0/Newtonsoft.Json.dll",
"lib/net6.0/Newtonsoft.Json.xml",
"lib/netstandard1.0/Newtonsoft.Json.dll",
"lib/netstandard1.0/Newtonsoft.Json.xml",
"lib/netstandard1.3/Newtonsoft.Json.dll",
"lib/netstandard1.3/Newtonsoft.Json.xml",
"lib/netstandard2.0/Newtonsoft.Json.dll",
"lib/netstandard2.0/Newtonsoft.Json.xml",
"newtonsoft.json.13.0.3.nupkg.sha512",
"newtonsoft.json.nuspec",
"packageIcon.png"
]
},
"System.Net.ServerSentEvents/9.0.8": {
"sha512": "wrpra4YvKXL7VdsQMKPcPxyA8pXK22LcxaKGA8oEndgjLZ1ZSdKXTxEA2cPvvNpMEUBwZlgJ6oZYQ8aJcpapPg==",
"type": "package",
@ -948,12 +1181,21 @@
"system.threading.channels.nuspec",
"useSharedDesignerContext.txt"
]
},
"FruitBank.Common/1.0.0": {
"type": "project",
"path": "../FruitBank.Common/FruitBank.Common.csproj",
"msbuildProject": "../FruitBank.Common/FruitBank.Common.csproj"
}
},
"projectFileDependencyGroups": {
"net9.0": [
"FruitBank.Common >= 1.0.0",
"MessagePack >= 3.1.4",
"MessagePack.Annotations >= 3.1.4",
"Microsoft.AspNetCore.Components.Web >= 9.0.8",
"Microsoft.AspNetCore.SignalR.Client >= 9.0.8"
"Microsoft.AspNetCore.SignalR.Client >= 9.0.8",
"Newtonsoft.Json >= 13.0.3"
]
},
"packageFolders": {
@ -997,7 +1239,11 @@
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"projectReferences": {}
"projectReferences": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj": {
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj"
}
}
}
},
"warningProperties": {
@ -1016,6 +1262,14 @@
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.AspNetCore.Components.Web": {
"target": "Package",
"version": "[9.0.8, )"
@ -1023,6 +1277,10 @@
"Microsoft.AspNetCore.SignalR.Client": {
"target": "Package",
"version": "[9.0.8, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [

View File

@ -1,9 +1,12 @@
{
"version": 2,
"dgSpecHash": "T2Egle4eZ2Q=",
"dgSpecHash": "JHk5xJmMcIE=",
"success": true,
"projectFilePath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj",
"expectedPackageFiles": [
"C:\\Users\\Fullepi\\.nuget\\packages\\messagepack\\3.1.4\\messagepack.3.1.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\messagepack.annotations\\3.1.4\\messagepack.annotations.3.1.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\messagepackanalyzer\\3.1.4\\messagepackanalyzer.3.1.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.authorization\\9.0.8\\microsoft.aspnetcore.authorization.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.components\\9.0.8\\microsoft.aspnetcore.components.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.components.analyzers\\9.0.8\\microsoft.aspnetcore.components.analyzers.9.0.8.nupkg.sha512",
@ -17,6 +20,7 @@
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.signalr.client.core\\9.0.8\\microsoft.aspnetcore.signalr.client.core.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.signalr.common\\9.0.8\\microsoft.aspnetcore.signalr.common.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.signalr.protocols.json\\9.0.8\\microsoft.aspnetcore.signalr.protocols.json.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\9.0.8\\microsoft.extensions.configuration.abstractions.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\9.0.8\\microsoft.extensions.dependencyinjection.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\9.0.8\\microsoft.extensions.dependencyinjection.abstractions.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.extensions.features\\9.0.8\\microsoft.extensions.features.9.0.8.nupkg.sha512",
@ -25,6 +29,8 @@
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.extensions.options\\9.0.8\\microsoft.extensions.options.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.extensions.primitives\\9.0.8\\microsoft.extensions.primitives.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.jsinterop\\9.0.8\\microsoft.jsinterop.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.net.stringtools\\17.11.4\\microsoft.net.stringtools.17.11.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\system.net.serversentevents\\9.0.8\\system.net.serversentevents.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\system.threading.channels\\9.0.8\\system.threading.channels.9.0.8.nupkg.sha512"
],

View File

@ -9,11 +9,35 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MessagePack" Version="3.1.4" />
<PackageReference Include="MessagePack.Annotations" Version="3.1.4" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="9.0.8" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FruitBankHybrid.Shared\FruitBankHybrid.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="AyCode.Core">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.dll</HintPath>
</Reference>
<Reference Include="AyCode.Entities">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.dll</HintPath>
</Reference>
<Reference Include="AyCode.Interfaces">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Interfaces.dll</HintPath>
</Reference>
<Reference Include="AyCode.Models">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Models.dll</HintPath>
</Reference>
<Reference Include="AyCode.Services">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Services.dll</HintPath>
</Reference>
<Reference Include="AyCode.Utils">
<HintPath>..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Utils.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

View File

@ -1,12 +1,23 @@
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using AyCode.Core.Loggers;
using FruitBank.Common.Loggers;
using FruitBankHybrid.Shared.Services;
using FruitBankHybrid.Shared.Services.SignalRs;
using FruitBankHybrid.Web.Client.Services;
using SignalRService = FruitBankHybrid.Web.Client.Services.SignalRService;
using FruitBankHybrid.Web.Client.Services.Loggers;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
// Add device-specific services used by the FruitBankHybrid.Shared project
builder.Services.AddSingleton<IFormFactor, FormFactor>();
builder.Services.AddScoped<ISignalRService, SignalRService>();
//builder.Services.AddScoped<ISignalRService, SignalRService>();
builder.Services.AddScoped<FruitBankSignalRClient>();
#if DEBUG
builder.Services.AddSingleton<IAcLogWriterClientBase, BrowserConsoleLogWriter>();
#endif
builder.Services.AddSingleton<IAcLogWriterClientBase, SignaRClientLogItemWriter>();
await builder.Build().RunAsync();

View File

@ -0,0 +1,13 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
using AyCode.Services.Loggers;
using FruitBank.Common;
using Microsoft.JSInterop;
using LogLevel = AyCode.Core.Loggers.LogLevel;
namespace FruitBankHybrid.Web.Client.Services.Loggers;
public class BrowserConsoleLogWriter(IJSRuntime jsRuntime) : AcBrowserConsoleLogWriter(jsRuntime, AppType.Web, FruitBankConstClient.DefaultLogLevelClient)
{
}

View File

@ -1,52 +0,0 @@
using FruitBankHybrid.Shared.Services;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.SignalR.Client;
namespace FruitBankHybrid.Web.Client.Services
{
public class SignalRService : IAsyncDisposable, ISignalRService
{
private HubConnection _hubConnection;
private readonly NavigationManager _navigationManager;
public event Action<string, string>? MessageReceived;
public SignalRService(NavigationManager navigationManager)
{
_navigationManager = navigationManager;
}
public async Task InitializeAsync()
{
// Build the connection (assuming same domain as Blazor app, otherwise use full URL)
_hubConnection = new HubConnectionBuilder()
//.WithUrl(_navigationManager.ToAbsoluteUri("https://localhost:59579/fbhub/"))
.WithUrl(_navigationManager.ToAbsoluteUri("http://localhost:59580/fbhub/"))
.WithAutomaticReconnect()
.Build();
// Register incoming handler
_hubConnection.On<string, string>("ReceiveMessage", (user, message) =>
{
MessageReceived?.Invoke(user, message);
});
await _hubConnection.StartAsync();
}
public async Task SendMessageAsync(string user, string message)
{
if (_hubConnection.State == HubConnectionState.Connected)
await _hubConnection.InvokeAsync("SendMessage", user, message);
}
public async ValueTask DisposeAsync()
{
if (_hubConnection is not null)
{
await _hubConnection.DisposeAsync();
}
}
}
}

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("FruitBankHybrid.Web.Client")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2340c6910a6b5896addbc25e3b19188fe0339ed7")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bde787caf0091dfc57e28baa4eabd6c47700ffc9")]
[assembly: System.Reflection.AssemblyProductAttribute("FruitBankHybrid.Web.Client")]
[assembly: System.Reflection.AssemblyTitleAttribute("FruitBankHybrid.Web.Client")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
95c780e408bf63ab7e42676adae6dfc0f72fb843c2f77b9385b73b5f590f530a
41ee5c2faceb7e388b56e74b5a4feb98526e5af578375fdd550b34f015c33923

View File

@ -4,14 +4,14 @@
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Web.Client\\FruitBankHybrid.Web.Client.csproj": {}
},
"projects": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj",
"projectName": "FruitBankHybrid.Shared",
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj",
"projectUniqueName": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj",
"projectName": "FruitBank.Common",
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj",
"packagesPath": "C:\\Users\\Fullepi\\.nuget\\packages\\",
"outputPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\obj\\",
"outputPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files\\DevExpress 24.1\\Components\\Offline Packages",
@ -58,6 +58,109 @@
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.Extensions.Configuration.Abstractions": {
"target": "Package",
"version": "[9.0.8, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.304/PortableRuntimeIdentifierGraph.json"
}
}
},
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj",
"projectName": "FruitBankHybrid.Shared",
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\FruitBankHybrid.Shared.csproj",
"packagesPath": "C:\\Users\\Fullepi\\.nuget\\packages\\",
"outputPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Shared\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files\\DevExpress 24.1\\Components\\Offline Packages",
"C:\\Program Files\\DevExpress 24.2\\Components\\Offline Packages",
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Fullepi\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\DevExpress 24.1.config",
"C:\\Program Files (x86)\\NuGet\\Config\\DevExpress 24.2.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net9.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\DevExpress 24.1\\Components\\System\\Components\\Packages": {},
"C:\\Program Files\\DevExpress 24.2\\Components\\System\\Components\\Packages": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"H:\\Applications\\Aycode\\Source\\Anata-Plugins-NetCore\\_AnataDlls": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"projectReferences": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj": {
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.300"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.AspNetCore.Components.Web": {
"target": "Package",
"version": "[9.0.8, )"
@ -65,6 +168,10 @@
"Microsoft.AspNetCore.SignalR.Client": {
"target": "Package",
"version": "[9.0.8, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [
@ -145,6 +252,14 @@
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.AspNetCore.Components.WebAssembly": {
"target": "Package",
"version": "[9.0.8, )"
@ -160,6 +275,10 @@
"target": "Package",
"version": "[9.0.8, )",
"autoReferenced": true
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [

View File

@ -6,5 +6,6 @@
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.8\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.8\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.binder\9.0.8\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.binder\9.0.8\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.components.analyzers\9.0.8\buildTransitive\netstandard2.0\Microsoft.AspNetCore.Components.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.components.analyzers\9.0.8\buildTransitive\netstandard2.0\Microsoft.AspNetCore.Components.Analyzers.targets')" />
<Import Project="$(NuGetPackageRoot)messagepackanalyzer\3.1.4\build\MessagePackAnalyzer.targets" Condition="Exists('$(NuGetPackageRoot)messagepackanalyzer\3.1.4\build\MessagePackAnalyzer.targets')" />
</ImportGroup>
</Project>

View File

@ -2,6 +2,43 @@
"version": 3,
"targets": {
"net9.0": {
"MessagePack/3.1.4": {
"type": "package",
"dependencies": {
"MessagePack.Annotations": "3.1.4",
"MessagePackAnalyzer": "3.1.4",
"Microsoft.NET.StringTools": "17.11.4"
},
"compile": {
"lib/net9.0/MessagePack.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net9.0/MessagePack.dll": {
"related": ".xml"
}
}
},
"MessagePack.Annotations/3.1.4": {
"type": "package",
"compile": {
"lib/netstandard2.0/MessagePack.Annotations.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.0/MessagePack.Annotations.dll": {
"related": ".xml"
}
}
},
"MessagePackAnalyzer/3.1.4": {
"type": "package",
"build": {
"build/MessagePackAnalyzer.targets": {}
}
},
"Microsoft.AspNetCore.Authorization/9.0.8": {
"type": "package",
"dependencies": {
@ -561,6 +598,32 @@
"build/Microsoft.NET.Sdk.WebAssembly.Pack.targets": {}
}
},
"Microsoft.NET.StringTools/17.11.4": {
"type": "package",
"compile": {
"ref/net8.0/_._": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.NET.StringTools.dll": {
"related": ".pdb;.xml"
}
}
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"compile": {
"lib/net6.0/Newtonsoft.Json.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"related": ".xml"
}
}
},
"System.Net.ServerSentEvents/9.0.8": {
"type": "package",
"compile": {
@ -593,12 +656,32 @@
"buildTransitive/net8.0/_._": {}
}
},
"FruitBank.Common/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v9.0",
"dependencies": {
"MessagePack": "3.1.4",
"MessagePack.Annotations": "3.1.4",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.8",
"Newtonsoft.Json": "13.0.3"
},
"compile": {
"bin/placeholder/FruitBank.Common.dll": {}
},
"runtime": {
"bin/placeholder/FruitBank.Common.dll": {}
}
},
"FruitBankHybrid.Shared/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v9.0",
"dependencies": {
"FruitBank.Common": "1.0.0",
"MessagePack": "3.1.4",
"MessagePack.Annotations": "3.1.4",
"Microsoft.AspNetCore.Components.Web": "9.0.8",
"Microsoft.AspNetCore.SignalR.Client": "9.0.8"
"Microsoft.AspNetCore.SignalR.Client": "9.0.8",
"Newtonsoft.Json": "13.0.3"
},
"compile": {
"bin/placeholder/FruitBankHybrid.Shared.dll": {}
@ -609,6 +692,43 @@
}
},
"net9.0/browser-wasm": {
"MessagePack/3.1.4": {
"type": "package",
"dependencies": {
"MessagePack.Annotations": "3.1.4",
"MessagePackAnalyzer": "3.1.4",
"Microsoft.NET.StringTools": "17.11.4"
},
"compile": {
"lib/net9.0/MessagePack.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net9.0/MessagePack.dll": {
"related": ".xml"
}
}
},
"MessagePack.Annotations/3.1.4": {
"type": "package",
"compile": {
"lib/netstandard2.0/MessagePack.Annotations.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.0/MessagePack.Annotations.dll": {
"related": ".xml"
}
}
},
"MessagePackAnalyzer/3.1.4": {
"type": "package",
"build": {
"build/MessagePackAnalyzer.targets": {}
}
},
"Microsoft.AspNetCore.Authorization/9.0.8": {
"type": "package",
"dependencies": {
@ -1168,6 +1288,32 @@
"build/Microsoft.NET.Sdk.WebAssembly.Pack.targets": {}
}
},
"Microsoft.NET.StringTools/17.11.4": {
"type": "package",
"compile": {
"ref/net8.0/_._": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.NET.StringTools.dll": {
"related": ".pdb;.xml"
}
}
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"compile": {
"lib/net6.0/Newtonsoft.Json.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"related": ".xml"
}
}
},
"System.Net.ServerSentEvents/9.0.8": {
"type": "package",
"compile": {
@ -1200,12 +1346,32 @@
"buildTransitive/net8.0/_._": {}
}
},
"FruitBank.Common/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v9.0",
"dependencies": {
"MessagePack": "3.1.4",
"MessagePack.Annotations": "3.1.4",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.8",
"Newtonsoft.Json": "13.0.3"
},
"compile": {
"bin/placeholder/FruitBank.Common.dll": {}
},
"runtime": {
"bin/placeholder/FruitBank.Common.dll": {}
}
},
"FruitBankHybrid.Shared/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v9.0",
"dependencies": {
"FruitBank.Common": "1.0.0",
"MessagePack": "3.1.4",
"MessagePack.Annotations": "3.1.4",
"Microsoft.AspNetCore.Components.Web": "9.0.8",
"Microsoft.AspNetCore.SignalR.Client": "9.0.8"
"Microsoft.AspNetCore.SignalR.Client": "9.0.8",
"Newtonsoft.Json": "13.0.3"
},
"compile": {
"bin/placeholder/FruitBankHybrid.Shared.dll": {}
@ -1217,6 +1383,54 @@
}
},
"libraries": {
"MessagePack/3.1.4": {
"sha512": "BH0wlHWmVoZpbAPyyt2Awbq30C+ZsS3eHSkYdnyUAbqVJ22fAJDzn2xTieBeoT5QlcBzp61vHcv878YJGfi3mg==",
"type": "package",
"path": "messagepack/3.1.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net472/MessagePack.dll",
"lib/net472/MessagePack.xml",
"lib/net8.0/MessagePack.dll",
"lib/net8.0/MessagePack.xml",
"lib/net9.0/MessagePack.dll",
"lib/net9.0/MessagePack.xml",
"lib/netstandard2.0/MessagePack.dll",
"lib/netstandard2.0/MessagePack.xml",
"lib/netstandard2.1/MessagePack.dll",
"lib/netstandard2.1/MessagePack.xml",
"messagepack.3.1.4.nupkg.sha512",
"messagepack.nuspec"
]
},
"MessagePack.Annotations/3.1.4": {
"sha512": "aVWrDAkCdqxwQsz/q0ldPh2EFn48M99YUzE9OvZjMq2RNLKz4o2z88iGFvSvbMqOWRweRvKPHBJZe22PRqzslQ==",
"type": "package",
"path": "messagepack.annotations/3.1.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/netstandard2.0/MessagePack.Annotations.dll",
"lib/netstandard2.0/MessagePack.Annotations.xml",
"messagepack.annotations.3.1.4.nupkg.sha512",
"messagepack.annotations.nuspec"
]
},
"MessagePackAnalyzer/3.1.4": {
"sha512": "CTaSsN/liJ7MhLCAB7Z4ZLBNuVGCq9lt2BT/cbrc9vzGv89yK3CqIA+z9T19a11eQYl9etZHL6MQJgCqECRVpg==",
"type": "package",
"path": "messagepackanalyzer/3.1.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"analyzers/roslyn4.3/cs/MessagePack.Analyzers.CodeFixes.dll",
"analyzers/roslyn4.3/cs/MessagePack.SourceGenerator.dll",
"build/MessagePackAnalyzer.targets",
"messagepackanalyzer.3.1.4.nupkg.sha512",
"messagepackanalyzer.nuspec"
]
},
"Microsoft.AspNetCore.Authorization/9.0.8": {
"sha512": "1M8ncVJtsRBEfbDc9QCa2zuwMjh/YWLu/WnRXWHG5q+KE5FDvPEsV3cJag3qy6NWL2b0H+pdushFsN9d3geemA==",
"type": "package",
@ -2085,6 +2299,65 @@
"tools/net9.0/Microsoft.NET.WebAssembly.Webcil.dll"
]
},
"Microsoft.NET.StringTools/17.11.4": {
"sha512": "mudqUHhNpeqIdJoUx2YDWZO/I9uEDYVowan89R6wsomfnUJQk6HteoQTlNjZDixhT2B4IXMkMtgZtoceIjLRmA==",
"type": "package",
"path": "microsoft.net.stringtools/17.11.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"MSBuild-NuGet-Icon.png",
"README.md",
"lib/net472/Microsoft.NET.StringTools.dll",
"lib/net472/Microsoft.NET.StringTools.pdb",
"lib/net472/Microsoft.NET.StringTools.xml",
"lib/net8.0/Microsoft.NET.StringTools.dll",
"lib/net8.0/Microsoft.NET.StringTools.pdb",
"lib/net8.0/Microsoft.NET.StringTools.xml",
"lib/netstandard2.0/Microsoft.NET.StringTools.dll",
"lib/netstandard2.0/Microsoft.NET.StringTools.pdb",
"lib/netstandard2.0/Microsoft.NET.StringTools.xml",
"microsoft.net.stringtools.17.11.4.nupkg.sha512",
"microsoft.net.stringtools.nuspec",
"notices/THIRDPARTYNOTICES.txt",
"ref/net472/Microsoft.NET.StringTools.dll",
"ref/net472/Microsoft.NET.StringTools.xml",
"ref/net8.0/Microsoft.NET.StringTools.dll",
"ref/net8.0/Microsoft.NET.StringTools.xml",
"ref/netstandard2.0/Microsoft.NET.StringTools.dll",
"ref/netstandard2.0/Microsoft.NET.StringTools.xml"
]
},
"Newtonsoft.Json/13.0.3": {
"sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
"type": "package",
"path": "newtonsoft.json/13.0.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.md",
"README.md",
"lib/net20/Newtonsoft.Json.dll",
"lib/net20/Newtonsoft.Json.xml",
"lib/net35/Newtonsoft.Json.dll",
"lib/net35/Newtonsoft.Json.xml",
"lib/net40/Newtonsoft.Json.dll",
"lib/net40/Newtonsoft.Json.xml",
"lib/net45/Newtonsoft.Json.dll",
"lib/net45/Newtonsoft.Json.xml",
"lib/net6.0/Newtonsoft.Json.dll",
"lib/net6.0/Newtonsoft.Json.xml",
"lib/netstandard1.0/Newtonsoft.Json.dll",
"lib/netstandard1.0/Newtonsoft.Json.xml",
"lib/netstandard1.3/Newtonsoft.Json.dll",
"lib/netstandard1.3/Newtonsoft.Json.xml",
"lib/netstandard2.0/Newtonsoft.Json.dll",
"lib/netstandard2.0/Newtonsoft.Json.xml",
"newtonsoft.json.13.0.3.nupkg.sha512",
"newtonsoft.json.nuspec",
"packageIcon.png"
]
},
"System.Net.ServerSentEvents/9.0.8": {
"sha512": "wrpra4YvKXL7VdsQMKPcPxyA8pXK22LcxaKGA8oEndgjLZ1ZSdKXTxEA2cPvvNpMEUBwZlgJ6oZYQ8aJcpapPg==",
"type": "package",
@ -2143,6 +2416,11 @@
"useSharedDesignerContext.txt"
]
},
"FruitBank.Common/1.0.0": {
"type": "project",
"path": "../FruitBank.Common/FruitBank.Common.csproj",
"msbuildProject": "../FruitBank.Common/FruitBank.Common.csproj"
},
"FruitBankHybrid.Shared/1.0.0": {
"type": "project",
"path": "../FruitBankHybrid.Shared/FruitBankHybrid.Shared.csproj",
@ -2152,9 +2430,12 @@
"projectFileDependencyGroups": {
"net9.0": [
"FruitBankHybrid.Shared >= 1.0.0",
"MessagePack >= 3.1.4",
"MessagePack.Annotations >= 3.1.4",
"Microsoft.AspNetCore.Components.WebAssembly >= 9.0.8",
"Microsoft.NET.ILLink.Tasks >= 9.0.8",
"Microsoft.NET.Sdk.WebAssembly.Pack >= 9.0.8"
"Microsoft.NET.Sdk.WebAssembly.Pack >= 9.0.8",
"Newtonsoft.Json >= 13.0.3"
]
},
"packageFolders": {
@ -2221,6 +2502,14 @@
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.AspNetCore.Components.WebAssembly": {
"target": "Package",
"version": "[9.0.8, )"
@ -2236,6 +2525,10 @@
"target": "Package",
"version": "[9.0.8, )",
"autoReferenced": true
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [

View File

@ -1,9 +1,12 @@
{
"version": 2,
"dgSpecHash": "UfFUqVn7uNM=",
"dgSpecHash": "J9yya0BfHNc=",
"success": true,
"projectFilePath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Web.Client\\FruitBankHybrid.Web.Client.csproj",
"expectedPackageFiles": [
"C:\\Users\\Fullepi\\.nuget\\packages\\messagepack\\3.1.4\\messagepack.3.1.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\messagepack.annotations\\3.1.4\\messagepack.annotations.3.1.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\messagepackanalyzer\\3.1.4\\messagepackanalyzer.3.1.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.authorization\\9.0.8\\microsoft.aspnetcore.authorization.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.components\\9.0.8\\microsoft.aspnetcore.components.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.components.analyzers\\9.0.8\\microsoft.aspnetcore.components.analyzers.9.0.8.nupkg.sha512",
@ -37,6 +40,8 @@
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.jsinterop.webassembly\\9.0.8\\microsoft.jsinterop.webassembly.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.net.illink.tasks\\9.0.8\\microsoft.net.illink.tasks.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.net.sdk.webassembly.pack\\9.0.8\\microsoft.net.sdk.webassembly.pack.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.net.stringtools\\17.11.4\\microsoft.net.stringtools.17.11.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\system.net.serversentevents\\9.0.8\\system.net.serversentevents.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\system.threading.channels\\9.0.8\\system.threading.channels.9.0.8.nupkg.sha512"
],

View File

@ -7,12 +7,16 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\FruitBank.Common.Server\FruitBank.Common.Server.csproj" />
<ProjectReference Include="..\FruitBank.Common.Services\FruitBank.Common.Server.csproj" />
<ProjectReference Include="..\FruitBank.Common\FruitBank.Common.csproj" />
<ProjectReference Include="..\FruitBankHybrid.Shared.Common\FruitBankHybrid.Shared.Common.csproj" />
<ProjectReference Include="..\FruitBankHybrid.Web.Client\FruitBankHybrid.Web.Client.csproj" />
<PackageReference Include="MessagePack" Version="3.1.4" />
<PackageReference Include="MessagePack.Annotations" Version="3.1.4" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="9.0.8" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="9.0.8" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<ItemGroup>
@ -52,6 +56,7 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Controllers\" />
<Folder Include="Services\SignalRs\" />
</ItemGroup>

View File

@ -2,5 +2,7 @@
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ActiveDebugProfile>https</ActiveDebugProfile>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
</PropertyGroup>
</Project>

View File

@ -1,17 +1,31 @@
using FruitBankHybrid.Web.Components;
using AyCode.Core.Loggers;
using AyCode.Services.Server.SignalRs;
using FruitBank.Common;
using FruitBank.Common.Loggers;
using FruitBank.Common.Server.Controllers;
using FruitBank.Common.Server.Services.Loggers;
using FruitBank.Common.Server.Services.SignalRs;
using FruitBankHybrid.Shared.Services;
using FruitBankHybrid.Web.Components;
using FruitBankHybrid.Web.Services;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorComponents()
.AddInteractiveWebAssemblyComponents();
builder.Services.AddRazorComponents().AddInteractiveWebAssemblyComponents();
// Add device-specific services used by the FruitBankHybrid.Shared project
builder.Services.AddSingleton<IFormFactor, FormFactor>();
builder.Services.AddSingleton<LoggerToLoggerApiController>();
builder.Services.AddSingleton<IAcLogWriterBase, ConsoleLogWriter>();
//builder.Services.AddSingleton<SessionService>();
builder.Services.AddScoped<FruitBankDataController>();
builder.Services.AddSignalR(options => options.MaximumReceiveMessageSize = 256 * 1024);
var app = builder.Build();
// Configure the HTTP request pipeline.
@ -26,6 +40,9 @@ else
app.UseHsts();
}
app.MapHub<LoggerSignalRHub>($"/{FruitBankConstClient.LoggerHubName}");
app.MapHub<DevAdminSignalRHub>($"/{FruitBankConstClient.DefaultHubName}");
app.UseHttpsRedirection();
app.UseStaticFiles();
@ -34,7 +51,7 @@ app.UseAntiforgery();
app.MapRazorComponents<App>()
.AddInteractiveWebAssemblyRenderMode()
.AddAdditionalAssemblies(
typeof(FruitBankHybrid.Shared.Pages._Imports).Assembly,
typeof(FruitBankHybrid.Shared._Imports).Assembly,
typeof(FruitBankHybrid.Web.Client._Imports).Assembly);
app.Run();

View File

@ -1,9 +1,28 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"AyCode": {
"ProjectId": "aad53443-2ee2-4650-8a99-97e907265e4e",
"Urls": {
"BaseUrl": "https://localhost:7144",
"ApiBaseUrl": "https://localhost:7144"
},
"Logger": {
"AppType": "Server",
"LogLevel": "Detail",
"LogWriters": [
{
"LogLevel": "Detail",
"LogWriterType": "FruitBank.Common.Server.Services.Loggers.ConsoleLogWriter, FruitBank.Common.Server, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null",
}
]
}
}
}

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("FruitBankHybrid.Web")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2340c6910a6b5896addbc25e3b19188fe0339ed7")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bde787caf0091dfc57e28baa4eabd6c47700ffc9")]
[assembly: System.Reflection.AssemblyProductAttribute("FruitBankHybrid.Web")]
[assembly: System.Reflection.AssemblyTitleAttribute("FruitBankHybrid.Web")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
6b58ec69c160c04e87da7528b87ef64fe4667b7d36a89adec1d5d368ace4ea49
843e0d79e72c8ccf1d3b665a45dcc5d6ef291ed9c01fe6824b537010cde0a13e

View File

@ -1 +1 @@
8c456db1cacc55d7e1ae835e4bd888eda53058fe1425f37f64404a39c90a3c01
2746a8295fa9faa38986e8858f7f2521286eed686488a25751369c886f63cf3a

View File

@ -140,13 +140,6 @@ D:\REPOS\MANGO\source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\re
D:\REPOS\MANGO\source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.pdb
D:\REPOS\MANGO\source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.genruntimeconfig.cache
D:\REPOS\MANGO\source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\ref\FruitBankHybrid.Web.dll
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.csproj.AssemblyReference.cache
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\rpswa.dswa.cache.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.GeneratedMSBuildEditorConfig.editorconfig
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.AssemblyInfoInputs.cache
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.AssemblyInfo.cs
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.csproj.CoreCompileInputs.cache
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.MvcApplicationPartsAssemblyInfo.cache
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\bin\Debug\net9.0\FruitBankHybrid.Shared.staticwebassets.runtime.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\bin\Debug\net9.0\FruitBankHybrid.Shared.staticwebassets.endpoints.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\bin\Debug\net9.0\FruitBankHybrid.Web.Client.staticwebassets.runtime.json
@ -239,6 +232,13 @@ H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\bin\Debug\ne
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\bin\Debug\net9.0\AyCode.Services.Server.pdb
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\bin\Debug\net9.0\AyCode.Utils.pdb
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\bin\Debug\net9.0\AyCode.Database.pdb
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.csproj.AssemblyReference.cache
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\rpswa.dswa.cache.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.GeneratedMSBuildEditorConfig.editorconfig
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.AssemblyInfoInputs.cache
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.AssemblyInfo.cs
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.csproj.CoreCompileInputs.cache
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.MvcApplicationPartsAssemblyInfo.cache
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\rjimswa.dswa.cache.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\rjsmrazor.dswa.cache.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\rjsmcshtml.dswa.cache.json
@ -255,3 +255,6 @@ H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\ne
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.pdb
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\FruitBankHybrid.Web.genruntimeconfig.cache
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\obj\Debug\net9.0\ref\FruitBankHybrid.Web.dll
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\bin\Debug\net9.0\MessagePack.dll
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\bin\Debug\net9.0\MessagePack.Annotations.dll
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web\bin\Debug\net9.0\Microsoft.NET.StringTools.dll

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -30,3 +30,241 @@ H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\D
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Web.Client\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json

View File

@ -4,6 +4,113 @@
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Web\\FruitBankHybrid.Web.csproj": {}
},
"projects": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Server\\FruitBank.Common.Server.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Server\\FruitBank.Common.Server.csproj",
"projectName": "FruitBank.Common.Server",
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Server\\FruitBank.Common.Server.csproj",
"packagesPath": "C:\\Users\\Fullepi\\.nuget\\packages\\",
"outputPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Server\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files\\DevExpress 24.1\\Components\\Offline Packages",
"C:\\Program Files\\DevExpress 24.2\\Components\\Offline Packages",
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Fullepi\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\DevExpress 24.1.config",
"C:\\Program Files (x86)\\NuGet\\Config\\DevExpress 24.2.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net9.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\DevExpress 24.1\\Components\\System\\Components\\Packages": {},
"C:\\Program Files\\DevExpress 24.2\\Components\\System\\Components\\Packages": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"H:\\Applications\\Aycode\\Source\\Anata-Plugins-NetCore\\_AnataDlls": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"projectReferences": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj": {
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.300"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.AspNetCore.SignalR.Client": {
"target": "Package",
"version": "[9.0.8, )"
},
"Microsoft.AspNetCore.SignalR.Common": {
"target": "Package",
"version": "[9.0.8, )"
},
"Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson": {
"target": "Package",
"version": "[9.0.8, )"
},
"Microsoft.Extensions.Configuration.Abstractions": {
"target": "Package",
"version": "[9.0.8, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.304/PortableRuntimeIdentifierGraph.json"
}
}
},
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Services\\FruitBank.Common.Server.csproj": {
"version": "1.0.0",
"restore": {
@ -153,9 +260,21 @@
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.Extensions.Configuration.Abstractions": {
"target": "Package",
"version": "[9.0.8, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [
@ -231,6 +350,20 @@
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [
"net461",
"net462",
@ -286,7 +419,11 @@
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"projectReferences": {}
"projectReferences": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj": {
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common\\FruitBank.Common.csproj"
}
}
}
},
"warningProperties": {
@ -305,6 +442,14 @@
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.AspNetCore.Components.Web": {
"target": "Package",
"version": "[9.0.8, )"
@ -312,6 +457,10 @@
"Microsoft.AspNetCore.SignalR.Client": {
"target": "Package",
"version": "[9.0.8, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [
@ -392,6 +541,14 @@
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.AspNetCore.Components.WebAssembly": {
"target": "Package",
"version": "[9.0.8, )"
@ -407,6 +564,10 @@
"target": "Package",
"version": "[9.0.8, )",
"autoReferenced": true
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [
@ -470,6 +631,9 @@
"net9.0": {
"targetAlias": "net9.0",
"projectReferences": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Server\\FruitBank.Common.Server.csproj": {
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Server\\FruitBank.Common.Server.csproj"
},
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Services\\FruitBank.Common.Server.csproj": {
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Services\\FruitBank.Common.Server.csproj"
},
@ -501,6 +665,14 @@
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.AspNetCore.Components.WebAssembly.Server": {
"target": "Package",
"version": "[9.0.8, )"
@ -508,6 +680,10 @@
"Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson": {
"target": "Package",
"version": "[9.0.8, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [

View File

@ -6,5 +6,6 @@
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.binder\9.0.8\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.binder\9.0.8\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.components.webassembly.server\9.0.8\build\Microsoft.AspNetCore.Components.WebAssembly.Server.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.components.webassembly.server\9.0.8\build\Microsoft.AspNetCore.Components.WebAssembly.Server.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.components.analyzers\9.0.8\buildTransitive\netstandard2.0\Microsoft.AspNetCore.Components.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.components.analyzers\9.0.8\buildTransitive\netstandard2.0\Microsoft.AspNetCore.Components.Analyzers.targets')" />
<Import Project="$(NuGetPackageRoot)messagepackanalyzer\3.1.4\build\MessagePackAnalyzer.targets" Condition="Exists('$(NuGetPackageRoot)messagepackanalyzer\3.1.4\build\MessagePackAnalyzer.targets')" />
</ImportGroup>
</Project>

View File

@ -2,6 +2,43 @@
"version": 3,
"targets": {
"net9.0": {
"MessagePack/3.1.4": {
"type": "package",
"dependencies": {
"MessagePack.Annotations": "3.1.4",
"MessagePackAnalyzer": "3.1.4",
"Microsoft.NET.StringTools": "17.11.4"
},
"compile": {
"lib/net9.0/MessagePack.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net9.0/MessagePack.dll": {
"related": ".xml"
}
}
},
"MessagePack.Annotations/3.1.4": {
"type": "package",
"compile": {
"lib/netstandard2.0/MessagePack.Annotations.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.0/MessagePack.Annotations.dll": {
"related": ".xml"
}
}
},
"MessagePackAnalyzer/3.1.4": {
"type": "package",
"build": {
"build/MessagePackAnalyzer.targets": {}
}
},
"Microsoft.AspNetCore.Authorization/9.0.8": {
"type": "package",
"dependencies": {
@ -584,6 +621,19 @@
}
}
},
"Microsoft.NET.StringTools/17.11.4": {
"type": "package",
"compile": {
"ref/net8.0/_._": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.NET.StringTools.dll": {
"related": ".pdb;.xml"
}
}
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"compile": {
@ -633,7 +683,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v9.0",
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "9.0.8"
"MessagePack": "3.1.4",
"MessagePack.Annotations": "3.1.4",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.8",
"Newtonsoft.Json": "13.0.3"
},
"compile": {
"bin/placeholder/FruitBank.Common.dll": {}
@ -647,10 +700,13 @@
"framework": ".NETCoreApp,Version=v9.0",
"dependencies": {
"FruitBank.Common": "1.0.0",
"MessagePack": "3.1.4",
"MessagePack.Annotations": "3.1.4",
"Microsoft.AspNetCore.SignalR.Client": "9.0.8",
"Microsoft.AspNetCore.SignalR.Common": "9.0.8",
"Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson": "9.0.8",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.8"
"Microsoft.Extensions.Configuration.Abstractions": "9.0.8",
"Newtonsoft.Json": "13.0.3"
},
"compile": {
"bin/placeholder/FruitBank.Common.Server.dll": {}
@ -663,8 +719,12 @@
"type": "project",
"framework": ".NETCoreApp,Version=v9.0",
"dependencies": {
"FruitBank.Common": "1.0.0",
"MessagePack": "3.1.4",
"MessagePack.Annotations": "3.1.4",
"Microsoft.AspNetCore.Components.Web": "9.0.8",
"Microsoft.AspNetCore.SignalR.Client": "9.0.8"
"Microsoft.AspNetCore.SignalR.Client": "9.0.8",
"Newtonsoft.Json": "13.0.3"
},
"compile": {
"bin/placeholder/FruitBankHybrid.Shared.dll": {}
@ -676,6 +736,11 @@
"FruitBankHybrid.Shared.Common/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v9.0",
"dependencies": {
"MessagePack": "3.1.4",
"MessagePack.Annotations": "3.1.4",
"Newtonsoft.Json": "13.0.3"
},
"compile": {
"bin/placeholder/FruitBankHybrid.Shared.Common.dll": {}
},
@ -688,7 +753,10 @@
"framework": ".NETCoreApp,Version=v9.0",
"dependencies": {
"FruitBankHybrid.Shared": "1.0.0",
"Microsoft.AspNetCore.Components.WebAssembly": "9.0.8"
"MessagePack": "3.1.4",
"MessagePack.Annotations": "3.1.4",
"Microsoft.AspNetCore.Components.WebAssembly": "9.0.8",
"Newtonsoft.Json": "13.0.3"
},
"compile": {
"bin/placeholder/FruitBankHybrid.Web.Client.dll": {}
@ -700,6 +768,54 @@
}
},
"libraries": {
"MessagePack/3.1.4": {
"sha512": "BH0wlHWmVoZpbAPyyt2Awbq30C+ZsS3eHSkYdnyUAbqVJ22fAJDzn2xTieBeoT5QlcBzp61vHcv878YJGfi3mg==",
"type": "package",
"path": "messagepack/3.1.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net472/MessagePack.dll",
"lib/net472/MessagePack.xml",
"lib/net8.0/MessagePack.dll",
"lib/net8.0/MessagePack.xml",
"lib/net9.0/MessagePack.dll",
"lib/net9.0/MessagePack.xml",
"lib/netstandard2.0/MessagePack.dll",
"lib/netstandard2.0/MessagePack.xml",
"lib/netstandard2.1/MessagePack.dll",
"lib/netstandard2.1/MessagePack.xml",
"messagepack.3.1.4.nupkg.sha512",
"messagepack.nuspec"
]
},
"MessagePack.Annotations/3.1.4": {
"sha512": "aVWrDAkCdqxwQsz/q0ldPh2EFn48M99YUzE9OvZjMq2RNLKz4o2z88iGFvSvbMqOWRweRvKPHBJZe22PRqzslQ==",
"type": "package",
"path": "messagepack.annotations/3.1.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/netstandard2.0/MessagePack.Annotations.dll",
"lib/netstandard2.0/MessagePack.Annotations.xml",
"messagepack.annotations.3.1.4.nupkg.sha512",
"messagepack.annotations.nuspec"
]
},
"MessagePackAnalyzer/3.1.4": {
"sha512": "CTaSsN/liJ7MhLCAB7Z4ZLBNuVGCq9lt2BT/cbrc9vzGv89yK3CqIA+z9T19a11eQYl9etZHL6MQJgCqECRVpg==",
"type": "package",
"path": "messagepackanalyzer/3.1.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"analyzers/roslyn4.3/cs/MessagePack.Analyzers.CodeFixes.dll",
"analyzers/roslyn4.3/cs/MessagePack.SourceGenerator.dll",
"build/MessagePackAnalyzer.targets",
"messagepackanalyzer.3.1.4.nupkg.sha512",
"messagepackanalyzer.nuspec"
]
},
"Microsoft.AspNetCore.Authorization/9.0.8": {
"sha512": "1M8ncVJtsRBEfbDc9QCa2zuwMjh/YWLu/WnRXWHG5q+KE5FDvPEsV3cJag3qy6NWL2b0H+pdushFsN9d3geemA==",
"type": "package",
@ -1522,6 +1638,35 @@
"microsoft.jsinterop.webassembly.nuspec"
]
},
"Microsoft.NET.StringTools/17.11.4": {
"sha512": "mudqUHhNpeqIdJoUx2YDWZO/I9uEDYVowan89R6wsomfnUJQk6HteoQTlNjZDixhT2B4IXMkMtgZtoceIjLRmA==",
"type": "package",
"path": "microsoft.net.stringtools/17.11.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"MSBuild-NuGet-Icon.png",
"README.md",
"lib/net472/Microsoft.NET.StringTools.dll",
"lib/net472/Microsoft.NET.StringTools.pdb",
"lib/net472/Microsoft.NET.StringTools.xml",
"lib/net8.0/Microsoft.NET.StringTools.dll",
"lib/net8.0/Microsoft.NET.StringTools.pdb",
"lib/net8.0/Microsoft.NET.StringTools.xml",
"lib/netstandard2.0/Microsoft.NET.StringTools.dll",
"lib/netstandard2.0/Microsoft.NET.StringTools.pdb",
"lib/netstandard2.0/Microsoft.NET.StringTools.xml",
"microsoft.net.stringtools.17.11.4.nupkg.sha512",
"microsoft.net.stringtools.nuspec",
"notices/THIRDPARTYNOTICES.txt",
"ref/net472/Microsoft.NET.StringTools.dll",
"ref/net472/Microsoft.NET.StringTools.xml",
"ref/net8.0/Microsoft.NET.StringTools.dll",
"ref/net8.0/Microsoft.NET.StringTools.xml",
"ref/netstandard2.0/Microsoft.NET.StringTools.dll",
"ref/netstandard2.0/Microsoft.NET.StringTools.xml"
]
},
"Newtonsoft.Json/13.0.3": {
"sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
"type": "package",
@ -1617,8 +1762,8 @@
},
"FruitBank.Common.Server/1.0.0": {
"type": "project",
"path": "../FruitBank.Common.Services/FruitBank.Common.Server.csproj",
"msbuildProject": "../FruitBank.Common.Services/FruitBank.Common.Server.csproj"
"path": "../FruitBank.Common.Server/FruitBank.Common.Server.csproj",
"msbuildProject": "../FruitBank.Common.Server/FruitBank.Common.Server.csproj"
},
"FruitBankHybrid.Shared/1.0.0": {
"type": "project",
@ -1642,8 +1787,11 @@
"FruitBank.Common.Server >= 1.0.0",
"FruitBankHybrid.Shared.Common >= 1.0.0",
"FruitBankHybrid.Web.Client >= 1.0.0",
"MessagePack >= 3.1.4",
"MessagePack.Annotations >= 3.1.4",
"Microsoft.AspNetCore.Components.WebAssembly.Server >= 9.0.8",
"Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson >= 9.0.8"
"Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson >= 9.0.8",
"Newtonsoft.Json >= 13.0.3"
]
},
"packageFolders": {
@ -1688,6 +1836,9 @@
"net9.0": {
"targetAlias": "net9.0",
"projectReferences": {
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Server\\FruitBank.Common.Server.csproj": {
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Server\\FruitBank.Common.Server.csproj"
},
"H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Services\\FruitBank.Common.Server.csproj": {
"projectPath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBank.Common.Services\\FruitBank.Common.Server.csproj"
},
@ -1719,6 +1870,14 @@
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"MessagePack": {
"target": "Package",
"version": "[3.1.4, )"
},
"MessagePack.Annotations": {
"target": "Package",
"version": "[3.1.4, )"
},
"Microsoft.AspNetCore.Components.WebAssembly.Server": {
"target": "Package",
"version": "[9.0.8, )"
@ -1726,6 +1885,10 @@
"Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson": {
"target": "Package",
"version": "[9.0.8, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.3, )"
}
},
"imports": [

View File

@ -1,9 +1,12 @@
{
"version": 2,
"dgSpecHash": "IMfIqvi6/Kk=",
"dgSpecHash": "rZ/gBjabY0I=",
"success": true,
"projectFilePath": "H:\\Applications\\Mango\\Source\\FruitBankHybridApp\\FruitBankHybrid.Web\\FruitBankHybrid.Web.csproj",
"expectedPackageFiles": [
"C:\\Users\\Fullepi\\.nuget\\packages\\messagepack\\3.1.4\\messagepack.3.1.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\messagepack.annotations\\3.1.4\\messagepack.annotations.3.1.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\messagepackanalyzer\\3.1.4\\messagepackanalyzer.3.1.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.authorization\\9.0.8\\microsoft.aspnetcore.authorization.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.components\\9.0.8\\microsoft.aspnetcore.components.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.aspnetcore.components.analyzers\\9.0.8\\microsoft.aspnetcore.components.analyzers.9.0.8.nupkg.sha512",
@ -37,6 +40,7 @@
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.extensions.primitives\\9.0.8\\microsoft.extensions.primitives.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.jsinterop\\9.0.8\\microsoft.jsinterop.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.jsinterop.webassembly\\9.0.8\\microsoft.jsinterop.webassembly.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\microsoft.net.stringtools\\17.11.4\\microsoft.net.stringtools.17.11.4.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\system.net.serversentevents\\9.0.8\\system.net.serversentevents.9.0.8.nupkg.sha512",
"C:\\Users\\Fullepi\\.nuget\\packages\\system.threading.channels\\9.0.8\\system.threading.channels.9.0.8.nupkg.sha512"

View File

@ -14,7 +14,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FruitBankHybrid.Shared.Comm
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FruitBank.Common", "FruitBank.Common\FruitBank.Common.csproj", "{610EB36E-6823-4334-95E4-435A5E0A94C8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FruitBank.Common.Server", "FruitBank.Common.Services\FruitBank.Common.Server.csproj", "{AD3AB968-A79F-485C-8B3E-B6917A5E4C71}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FruitBank.Common.Server", "FruitBank.Common.Server\FruitBank.Common.Server.csproj", "{AD3AB968-A79F-485C-8B3E-B6917A5E4C71}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("FruitBankHybrid")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0+2340c6910a6b5896addbc25e3b19188fe0339ed7")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0+bde787caf0091dfc57e28baa4eabd6c47700ffc9")]
[assembly: System.Reflection.AssemblyProductAttribute("FruitBankHybrid")]
[assembly: System.Reflection.AssemblyTitleAttribute("FruitBankHybrid")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
f04e62140529dff83ad7a85496da87298abf9db0a424249e0e8502d495e5aac6
a6b79ccdbeb0ed192f85348fe910e19c04980b7bd0fa2bdb551e59337b0facdd

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -91,3 +91,18 @@ H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid.Shared\obj\Debug\net9.0\staticwebassets.build.json

View File

@ -1,4 +1,4 @@
wwwroot\app.css
wwwroot\index.html
wwwroot\app.css
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid\wwwroot\index.html
H:\Applications\Mango\Source\FruitBankHybridApp\FruitBankHybrid\wwwroot\app.css

View File

@ -37,7 +37,7 @@
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<FileLength>95</FileLength>
<LastWriteTime>Sun, 31 Aug 2025 12:43:37 GMT</LastWriteTime>
<LastWriteTime>Sun, 31 Aug 2025 13:21:34 GMT</LastWriteTime>
<OriginalItemSpec>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\staticwebassets\FruitBankHybrid.styles.css'))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\staticwebassets\index.html'))">

Some files were not shown because too many files have changed in this diff Show More