merge
This commit is contained in:
commit
17ca3d028b
|
|
@ -200,6 +200,7 @@ namespace TIAM.Database.DataLayers.Admins
|
|||
public Task<List<EmailMessage>> GetEmailMessagesBySenderEmailAddressAsync(string emailAddress) => SessionAsync(ctx => ctx.GetEmailMessagesBySenderEmailAddress(emailAddress).ToList());
|
||||
public Task<List<EmailMessage>> GetEmailMessagesAsync(Guid userId, Guid userProductMappingId) => SessionAsync(ctx => ctx.GetEmailMessages<EmailMessage, EmailRecipient>(userId, userProductMappingId).ToList());
|
||||
public Task<List<EmailMessage>> GetEmailMessagesAsync(Guid contextId, Guid userId, Guid userProductMappingId) => SessionAsync(ctx => ctx.GetEmailMessages<EmailMessage, EmailRecipient>(contextId, userId, userProductMappingId).ToList());
|
||||
public Task<List<EmailMessage>> GetAllEmailMessagesAsync() => SessionAsync(ctx => ctx.GetAllEmailMessages<EmailMessage, EmailRecipient>().ToList());
|
||||
|
||||
|
||||
public Task<bool> AddEmailMessageAsync(EmailMessage emailMessage)
|
||||
|
|
|
|||
|
|
@ -50,4 +50,7 @@ public class SignalRTags : AcSignalRTags
|
|||
public const int CreateCar = 51;
|
||||
public const int UpdateCar = 52;
|
||||
public const int DeleteCar = 53;
|
||||
|
||||
public const int GetMessagesByContextId = 60;
|
||||
public const int GetAllMessages = 61;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -454,7 +454,8 @@ new HeroSliderItem
|
|||
{
|
||||
orderModel.UserId = user.Id;
|
||||
|
||||
orderModel.ProductId = user.Products.FirstOrDefault()?.Id;
|
||||
if (user.Products != null)
|
||||
orderModel.ProductId = user.Products.FirstOrDefault()?.Id;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -509,7 +510,7 @@ new HeroSliderItem
|
|||
List<TransferWizardModel> transferList = new List<TransferWizardModel>();
|
||||
double _transferPrice = 0.0f;
|
||||
if(orderModel.NumberOfPassengers < 5) {
|
||||
switch (transferList.Count)
|
||||
switch (OrderDates.Length)
|
||||
{
|
||||
case (1):
|
||||
_transferPrice = 119/2;
|
||||
|
|
@ -521,8 +522,9 @@ new HeroSliderItem
|
|||
_transferPrice = 269 / 6;
|
||||
break;
|
||||
}
|
||||
}else if (orderModel.NumberOfPassengers > 5 && orderModel.NumberOfPassengers < 8) {
|
||||
switch (transferList.Count)
|
||||
}
|
||||
else if (orderModel.NumberOfPassengers > 5 && orderModel.NumberOfPassengers <= 8) {
|
||||
switch (OrderDates.Length)
|
||||
{
|
||||
case (1):
|
||||
_transferPrice = 219f /2;
|
||||
|
|
|
|||
|
|
@ -149,6 +149,11 @@
|
|||
<TransferToDriverGridComponent ParentData="(Transfer)context.DataItem" KeyboardNavigationEnabled="true" />
|
||||
</DxTabPage>
|
||||
</DxTabs>
|
||||
<DxTabs>
|
||||
<DxTabPage Text="Messages">
|
||||
<MessageDetailGrid Logger="_logger" SignalRClient="AdminSignalRClient" ContextId="((Transfer)context.DataItem).Id"></MessageDetailGrid>
|
||||
</DxTabPage>
|
||||
</DxTabs>
|
||||
|
||||
</DetailRowTemplate>
|
||||
<EditFormTemplate Context="EditFormContext">
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@
|
|||
<DetailRowTemplate>
|
||||
<DxTabs>
|
||||
<DxTabPage Text="Address">
|
||||
<AddressGridComponent AddressContext="(UserModelDtoDetail)context.DataItem" ContextIdType="userdetailprofile" KeyboardNavigationEnabled="true" />
|
||||
<AddressDetailGridComponent ParentData="((UserModelDtoDetail)context.DataItem).ProfileDto" KeyboardNavigationEnabled="true" />
|
||||
</DxTabPage>
|
||||
<DxTabPage Text="Companies owned">
|
||||
<ServiceProviderGridComponent UserModelDtoDetail="(UserModelDtoDetail)context.DataItem" />
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
namespace TIAMSharedUI.Shared.Components.Grids;
|
||||
|
||||
public class MessageDetailGrid : MessageGrid
|
||||
{
|
||||
protected override Task SetParametersAsyncCore(ParameterView parameters)
|
||||
{
|
||||
var isFirst = IsFirstInitializeParameters;
|
||||
|
||||
return base.SetParametersAsyncCore(parameters);
|
||||
|
||||
if (isFirst)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
using Microsoft.AspNetCore.Components;
|
||||
using TIAM.Entities.Addresses;
|
||||
using TIAM.Entities.Emails;
|
||||
using TIAM.Entities.Transfers;
|
||||
using TIAM.Services;
|
||||
|
||||
namespace TIAMSharedUI.Shared.Components.Grids;
|
||||
|
||||
public class MessageGrid : TiamGrid<EmailMessage>
|
||||
{
|
||||
public MessageGrid() : base()
|
||||
{
|
||||
GetAllMessageTag = SignalRTags.GetMessagesByContextId;
|
||||
//AddMessageTag = SignalRTags.AddAddress;
|
||||
//UpdateMessageTag = SignalRTags.UpdateAddress;
|
||||
//RemoveMessageTag = SignalRTags.RemoveAddress; - nem törlünk címet - J.
|
||||
}
|
||||
|
||||
protected override Task SetParametersAsyncCore(ParameterView parameters)
|
||||
{
|
||||
if (!IsFirstInitializeParameters)
|
||||
{
|
||||
//ShowFilterRow = true;
|
||||
//ShowGroupPanel = true;
|
||||
//AllowSort = false;
|
||||
|
||||
//etc...
|
||||
}
|
||||
|
||||
return base.SetParametersAsyncCore(parameters);
|
||||
}
|
||||
}
|
||||
|
|
@ -186,16 +186,16 @@ namespace TIAMWebApp.Client.Services
|
|||
|
||||
public async Task<UserModelDto?> GetUserByEmailAsync(string email)
|
||||
{
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}";
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}/{email}";
|
||||
|
||||
_logger.Info("GetUserByEmailAsync url: " + url + ", " + email);
|
||||
//GlobalLogger.Info("GetUserByEmailAsync url: " + url + ", " + email, "GLOBAL_LOGGER");
|
||||
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, email);
|
||||
var result = await response.Content.ReadAsStringAsync();
|
||||
var user = JsonConvert.DeserializeObject<UserModelDto>(result);
|
||||
return user;
|
||||
var response = (UserModelDto)(await http.GetFromJsonAsync(url,typeof (UserModelDto)));
|
||||
|
||||
//var user = JsonConvert.DeserializeObject<UserModelDto>(result);
|
||||
return response;
|
||||
}
|
||||
|
||||
public async Task<UserModelDto?> GetUserByIdAsync(Guid id)
|
||||
|
|
|
|||
|
|
@ -8,6 +8,10 @@ using TIAMWebApp.Shared.Application.Models.ClientSide.Messages;
|
|||
using AyCode.Models.Enums;
|
||||
using TIAM.Database.DataLayers.Admins;
|
||||
using TIAM.Entities.Emails;
|
||||
using AyCode.Services.SignalRs;
|
||||
using TIAM.Services;
|
||||
using AyCode.Core.Loggers;
|
||||
using AyCode.Core.Extensions;
|
||||
|
||||
namespace TIAMWebApp.Server.Controllers
|
||||
{
|
||||
|
|
@ -17,17 +21,18 @@ namespace TIAMWebApp.Server.Controllers
|
|||
public class MessageAPIController : ControllerBase
|
||||
{
|
||||
private AdminDal _adminDal;
|
||||
private readonly TIAM.Core.Loggers.ILogger _logger;
|
||||
private readonly IConfiguration _configuration;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private IMessageSenderService _messageSenderService;
|
||||
|
||||
|
||||
private readonly ILogger<MessageAPIController> _logger;
|
||||
|
||||
|
||||
public MessageAPIController(ILogger<MessageAPIController> logger, IConfiguration configuration, IWebHostEnvironment webHostEnvironment, IMessageSenderService messageSenderService, AdminDal adminDal)
|
||||
public MessageAPIController(IEnumerable<IAcLogWriterBase> logWriters, IConfiguration configuration, IWebHostEnvironment webHostEnvironment, IMessageSenderService messageSenderService, AdminDal adminDal)
|
||||
{
|
||||
_adminDal = adminDal;
|
||||
_logger = logger;
|
||||
_logger = new TIAM.Core.Loggers.Logger<MessageAPIController>(logWriters.ToArray());
|
||||
_configuration = configuration;
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
|
||||
|
|
@ -71,5 +76,37 @@ namespace TIAMWebApp.Server.Controllers
|
|||
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
[HttpGet]
|
||||
[Route(APIUrls.GetMessagesByContextIdRouteName + "/{contextId}")]
|
||||
[Tags("Finished", "Messages")]
|
||||
[SignalR(SignalRTags.GetMessagesByContextId)]
|
||||
public async Task<string> GetMessagesByContextId(Guid contextId)
|
||||
{
|
||||
_logger.Info($@"GetMessagessByContextId called with ownerId: {contextId}");
|
||||
|
||||
|
||||
var messages = _adminDal.GetEmailMessagesByContextIdAsync(contextId);
|
||||
//put Company id and name into a dictionary
|
||||
|
||||
return messages.ToJson();
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
[HttpGet]
|
||||
[Route(APIUrls.GetAllMessagesRouteName)]
|
||||
[Tags("Finished", "Messages")]
|
||||
[SignalR(SignalRTags.GetAllMessages)]
|
||||
public async Task<string> GetAllMessages()
|
||||
{
|
||||
_logger.Info($@"GetMessages called");
|
||||
|
||||
|
||||
var messages = await _adminDal.GetAllEmailMessagesAsync();
|
||||
//put Company id and name into a dictionary
|
||||
|
||||
return messages.ToJson();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -42,13 +42,18 @@ namespace TIAMWebApp.Server.Controllers
|
|||
[Route(APIUrls.CreatePaymentRouteName)]
|
||||
public async Task<string> CreatePayment([FromBody] JsonElement paymentItem)
|
||||
{
|
||||
|
||||
_logger.Detail($"CreatePayment called! {paymentItem.ToString()}");
|
||||
var transferToPay = JObject.Parse(paymentItem.GetRawText()).ToObject<Transfer>();
|
||||
if (transferToPay == null)
|
||||
{
|
||||
return("error");
|
||||
}
|
||||
if (transferToPay.Price == null)
|
||||
{
|
||||
transferToPay.Price = 1000;
|
||||
}
|
||||
else return "false";
|
||||
|
||||
var paymentRequest = new SumupPaymentRequest
|
||||
{
|
||||
CheckoutReference = transferToPay.OrderId.ToString(),
|
||||
|
|
@ -60,8 +65,8 @@ namespace TIAMWebApp.Server.Controllers
|
|||
};
|
||||
var result = await _sumupService.CreateCheckout(paymentRequest);
|
||||
_logger.Detail($"CreatePayment result: {result}");
|
||||
var checkoutUrl = result.Id.ToString();
|
||||
return checkoutUrl;
|
||||
var checkoutId = result.Id.ToString();
|
||||
return checkoutId;
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
|
|
|
|||
|
|
@ -249,6 +249,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
|
||||
_logger.Info($"Created transfer, send emailMessage!!!");
|
||||
var message = new MessageSenderModel<EmailMessage>();
|
||||
message.Message.Id = Guid.NewGuid();
|
||||
message.Message.Subject = "[Tour I Am] New transfer in Budapest";
|
||||
message.Message.ContextId = transfer.Id;
|
||||
message.Message.SenderId = Guid.Empty;
|
||||
|
|
@ -277,7 +278,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
//message.Message.Text = $"Dear {transfer.FullName}! /n We have received an order from you, please confirm the details here: https://www.touriam.com/mytransfer?{transfer.Id}";
|
||||
var messageElement = message.Message;
|
||||
var result = await _messageSenderService.SendMessageAsync(messageElement, (int)message.MessageType);
|
||||
//_adminDal.AddEmailMessageAsync((TIAM.Entities.Emails.EmailMessage)SerializedMessageSenderModel.Message);
|
||||
await _adminDal.AddEmailMessageAsync(messageElement);
|
||||
_logger.Info("SendEmail result: " + result);
|
||||
|
||||
|
||||
|
|
@ -336,6 +337,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
_logger.Info($"Created transfer, send emailMessage!!!");
|
||||
var message = new MessageSenderModel<EmailMessage>();
|
||||
message.Message = new EmailMessage();
|
||||
message.Message.Id = Guid.NewGuid();
|
||||
message.MessageType = AyCode.Models.Enums.MessageTypesEnum.email;
|
||||
message.Message.Subject = "[Tour I Am] New transfer in Budapest";
|
||||
message.Message.ContextId = createdTransfer.Id;
|
||||
|
|
@ -365,7 +367,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
var messageElement = message.Message;
|
||||
Console.WriteLine(message.Message);
|
||||
var result = await _messageSenderService.SendMessageAsync(messageElement, (int)message.MessageType);
|
||||
//_adminDal.AddEmailMessageAsync((TIAM.Entities.Emails.EmailMessage)SerializedMessageSenderModel.Message);
|
||||
await _adminDal.AddEmailMessageAsync(messageElement);
|
||||
_logger.Info("SendEmail result: " + result);
|
||||
}
|
||||
|
||||
|
|
@ -410,7 +412,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
[SignalR(SignalRTags.UpdateTransfer)]
|
||||
public async Task<Transfer> UpdateTransfer(Transfer transferToModify)
|
||||
{
|
||||
_logger.Info($"UpdateTransfer called! + {Request?.ReadFormAsync()}");
|
||||
_logger.Info($"UpdateTransfer called! + {transferToModify.Id}");
|
||||
await _adminDal.UpdateTransferAsync(transferToModify);
|
||||
|
||||
return transferToModify;
|
||||
|
|
|
|||
|
|
@ -356,13 +356,11 @@ namespace TIAMWebApp.Server.Controllers
|
|||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
[Route("GetUserByEmail")]
|
||||
[HttpGet]
|
||||
[Route(APIUrls.GetUserByEmailRouteName + "/{email}")]
|
||||
public Task<UserModelDto?> GetUserByEmail(string email)
|
||||
{
|
||||
_logger.Info($"GetUserByEmail called with email: {email}");
|
||||
_logger.Info($@"GetUserByEmail called with email: {email}");
|
||||
|
||||
_logger.Info($"GetUserByEmail called with email: {email}");
|
||||
return _userDal.GetUserModelDtoByEmailAsync<UserModelDto>(email, false);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ builder.Services.AddScoped<TransferDestinationDal>();
|
|||
builder.Services.AddSingleton<AuthService>();
|
||||
builder.Services.AddScoped<ServiceProviderAPIController>();
|
||||
builder.Services.AddScoped<TransferDataAPIController>();
|
||||
builder.Services.AddScoped<MessageAPIController>();
|
||||
|
||||
|
||||
builder.Services.AddSignalR(options => options.MaximumReceiveMessageSize = 128 * 1024);//.AddMessagePackProtocol(options => options.SerializerOptions = MessagePackSerializerOptions.Standard.WithSecurity(MessagePackSecurity.UntrustedData));
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
|||
//private readonly ServiceProviderAPIController _serviceProviderApiController;
|
||||
//private readonly TransferDataAPIController _transferDataApiController;
|
||||
|
||||
public DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController serviceProviderApiController, TransferDataAPIController transferDataApiController, IEnumerable<IAcLogWriterBase> logWriters)
|
||||
public DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController serviceProviderApiController, TransferDataAPIController transferDataApiController, IEnumerable<IAcLogWriterBase> logWriters, MessageAPIController messageApiController)
|
||||
{
|
||||
_adminDal = adminDal;
|
||||
//_serviceProviderApiController = serviceProviderApiController;
|
||||
|
|
@ -92,7 +92,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
|||
|
||||
_dynamicMethodCallModels.Add(new DynamicMethodCallModel<SignalRAttribute>(serviceProviderApiController));
|
||||
_dynamicMethodCallModels.Add(new DynamicMethodCallModel<SignalRAttribute>(transferDataApiController));
|
||||
_dynamicMethodCallModels.Add(new DynamicMethodCallModel<SignalRAttribute>(typeof(MessageAPIController)));
|
||||
_dynamicMethodCallModels.Add(new DynamicMethodCallModel<SignalRAttribute>(messageApiController));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,11 @@ namespace TIAMWebApp.Shared.Application.Interfaces
|
|||
{
|
||||
public interface IClientNoticeSenderService
|
||||
{
|
||||
|
||||
public Task<List<EmailMessage>> GetAllMessagesAsync();
|
||||
public Task<List<EmailMessage>> GetMessagesByContextIdAsync();
|
||||
public Task<string> SendNoticeAsync<TNotice>(TNotice message, int messageType) where TNotice : EmailMessage;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -188,6 +188,10 @@ namespace TIAMWebApp.Shared.Application.Models
|
|||
//email
|
||||
public const string SendEmailRouteName = "SendEmail";
|
||||
public const string SendEmail = MessageAPI+SendEmailRouteName;
|
||||
public const string GetAllMessagesRouteName = "GetAllMessages";
|
||||
public const string GetAllMessages = MessageAPI+GetAllMessagesRouteName;
|
||||
public const string GetMessagesByContextIdRouteName = "GetMessagesByContextId";
|
||||
public const string GetMessagesByContextId = MessageAPI+GetMessagesByContextIdRouteName;
|
||||
|
||||
//payment
|
||||
public const string CreatePaymentRouteName = "CreatePayment";
|
||||
|
|
|
|||
|
|
@ -17,6 +17,16 @@ namespace TIAMWebApp.Shared.Application.Services
|
|||
this.http = http;
|
||||
}
|
||||
|
||||
public async Task<List<EmailMessage>> GetAllMessagesAsync()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public async Task<List<EmailMessage>> GetMessagesByContextIdAsync()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public async Task<string> SendNoticeAsync<TNotice>(TNotice message, int messageType) where TNotice : TIAM.Entities.Emails.EmailMessage
|
||||
{
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.SendEmail}";
|
||||
|
|
|
|||
Loading…
Reference in New Issue