Merge branch 'master' of http://git2.aycode.com/Adam/TourIAm
This commit is contained in:
commit
c02f2dfe51
|
|
@ -35,6 +35,11 @@
|
|||
<link href="TIAMMobileApp.styles.css" rel="stylesheet" />
|
||||
<link href="_content/TIAMSharedUI/css/animate.css" rel="stylesheet" />
|
||||
<link href="_content/TIAMSharedUI/css/TourIAm.css" rel="stylesheet" />
|
||||
<script>
|
||||
function isDevice() {
|
||||
return /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini|mobile/i.test(navigator.userAgent);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
<DataAnnotationsValidator />
|
||||
<div class="card">
|
||||
<div class="card-header text-center py-3">
|
||||
<h4>Edit Your Details</h4>
|
||||
<h4>@TitleString</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@CreateEditFormFields()
|
||||
|
|
@ -54,6 +54,8 @@ else
|
|||
[Parameter] public bool userAvailable { get; set; }
|
||||
[Parameter] public UserModelDtoDetail userModelDtodetail { get; set; }
|
||||
[Parameter] public Product? CurrentProduct { get; set; } = null;
|
||||
[Parameter] public string TitleString { get; set; } = "Edit your details";
|
||||
[Parameter] public string ButtonTextString { get; set; } = "Submit";
|
||||
|
||||
string _formSubmitResult = "";
|
||||
private string _spinnerClass = "";
|
||||
|
|
@ -365,7 +367,7 @@ else
|
|||
{
|
||||
editor.OpenComponent<DxButton>(i++);
|
||||
editor.AddAttribute(i++, "SubmitFormOnClick", true);
|
||||
editor.AddAttribute(i++, "Text", "Save");
|
||||
editor.AddAttribute(i++, "Text", ButtonTextString);
|
||||
editor.CloseComponent();
|
||||
})));
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,13 @@
|
|||
@page "/mytransfers/{transferId:guid}"
|
||||
@using AyCode.Core.Enums
|
||||
@using AyCode.Core.Extensions
|
||||
@using TIAM.Core.Consts
|
||||
@using TIAM.Entities.Drivers
|
||||
@using TIAM.Entities.Transfers
|
||||
@using TIAM.Models.Dtos.Users
|
||||
@using TIAM.Resources
|
||||
@using TIAM.Services
|
||||
@using TIAMSharedUI.Pages.Components.EditComponents
|
||||
@using TIAMSharedUI.Shared.Components.BaseComponents
|
||||
@using TIAMWebApp.Shared.Application.Interfaces
|
||||
@using AyCode.Services.Loggers
|
||||
|
|
@ -36,22 +42,47 @@
|
|||
CloseOnOutsideClick="false"
|
||||
ShowCloseButton="false"
|
||||
HeaderText="MessageBox"
|
||||
Closing="EulaPopupClosing"
|
||||
Closed="EulaPopupClosed">
|
||||
Closing="EmailPopupClosing"
|
||||
Closed="EmailPopupClosed"
|
||||
SizeMode="SizeMode.Large">
|
||||
<BodyContentTemplate>
|
||||
<InputWizard Data=@_messageWizardModel
|
||||
OnSubmit="SubmitForm"
|
||||
IgnoreReflection=@IgnoreList
|
||||
TitleResourceString="NewMessage"
|
||||
SubtitleResourceString="NewMessageSubtitle"
|
||||
SubmitButtonText="@localizer.GetString("ButtonSend")"></InputWizard>
|
||||
@{
|
||||
if(showResultMessage)
|
||||
{
|
||||
<h5>@resultMessage</h5>
|
||||
}
|
||||
else
|
||||
{
|
||||
<DynamicEditForm Data=@_messageWizardModel
|
||||
OnSubmit="SubmitForm"
|
||||
TitleString="New message"
|
||||
ButtonTextString="Send message"
|
||||
isEditing="true"
|
||||
IgnoreReflection=@IgnoreList></DynamicEditForm>
|
||||
}
|
||||
}
|
||||
|
||||
</BodyContentTemplate>
|
||||
<FooterContentTemplate Context="Context">
|
||||
<div class="popup-demo-events-footer">
|
||||
<!--DxCheckBox CssClass="popup-demo-events-checkbox" @bind-Checked="@EulaAccepted">I accept the terms of the EULA</!--DxCheckBox-->
|
||||
<!--DxButton CssClass="popup-demo-events-button ms-2" RenderStyle="ButtonRenderStyle.Primary" Text="OK" Click="Context.CloseCallback" /-->
|
||||
<DxButton CssClass="popup-demo-events-button ms-2" RenderStyle="ButtonRenderStyle.Secondary" Text="Cancel" Click="CancelCreateClick" />
|
||||
</div>
|
||||
@{
|
||||
if(showResultMessage)
|
||||
{
|
||||
<div class="popup-demo-events-footer">
|
||||
<!--DxCheckBox CssClass="popup-demo-events-checkbox" @bind-Checked="@EulaAccepted">I accept the terms of the EULA</!--DxCheckBox-->
|
||||
<!--DxButton CssClass="popup-demo-events-button ms-2" RenderStyle="ButtonRenderStyle.Primary" Text="OK" Click="Context.CloseCallback" /-->
|
||||
<DxButton CssClass="popup-demo-events-button ms-2" RenderStyle="ButtonRenderStyle.Secondary" Text="Ok" Click="CancelCreateClick" />
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="popup-demo-events-footer">
|
||||
<!--DxCheckBox CssClass="popup-demo-events-checkbox" @bind-Checked="@EulaAccepted">I accept the terms of the EULA</!--DxCheckBox-->
|
||||
<!--DxButton CssClass="popup-demo-events-button ms-2" RenderStyle="ButtonRenderStyle.Primary" Text="OK" Click="Context.CloseCallback" /-->
|
||||
<DxButton CssClass="popup-demo-events-button ms-2" RenderStyle="ButtonRenderStyle.Secondary" Text="Cancel" Click="CancelCreateClick" />
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
</FooterContentTemplate>
|
||||
</DxPopup>
|
||||
|
||||
|
|
@ -85,7 +116,7 @@ else
|
|||
<div class="card-header py-3 px-4">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<span class="fw-bold text-body">Transfer identifier: @_transfer.Id</span>
|
||||
<span class="fw-bold text-body">Transfer identifier: #@_transfer.OrderId</span>
|
||||
<p class="text-muted mb-0">@_transfer.ContactPhone</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -94,19 +125,35 @@ else
|
|||
<div class="mb-4 pb-2">
|
||||
<div class="mb-3">
|
||||
<h4 class="fw-bold">Passenger: @_transfer.FullName</h4>
|
||||
<h4 class="fw-bold">E-mail address: @_transfer.ContactEmail</h4>
|
||||
<h5 class="text-muted">From: @_transfer.FromAddress</h5>
|
||||
<h5 class="text-muted">To: @_transfer.ToAddress</h5>
|
||||
<h5 class="fw-bold">E-mail address: @_transfer.ContactEmail</h5>
|
||||
<p class="text-muted">From: @_transfer.FromAddress</p>
|
||||
<p class="text-muted">To: @_transfer.ToAddress</p>
|
||||
<hr />
|
||||
<h5>@_transfer.Appointment.ToString("MMMM dd, yyyy")</h5>
|
||||
<h5 class="mb-3 text-muted">@_transfer.Appointment.ToString("hh:mm tt")</h5>
|
||||
<p>Passengers: @_transfer.PassengerCount</p>
|
||||
<p>Luggage: @_transfer.LuggageCount</p>
|
||||
<p>Flight number (optional): @_transfer.FlightNumber</p>
|
||||
<hr />
|
||||
<h3>License plate: POX-382</h3>
|
||||
<p class="text-muted">Car looks: Silver, Toyota, Prius</p>
|
||||
@{
|
||||
if(_drivers.Count < 1)
|
||||
{
|
||||
<p>No car information available yet</p>
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var _car in _cars)
|
||||
{
|
||||
<h4>License plate: @_car.LicencePlate</h4>
|
||||
<p class="text-muted">Car looks: @_car.Color, @_car.Manufacture, @_car.CarModel</p>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
<hr />
|
||||
<p class="text-muted">Status on: <span class="text-body">@DateTime.Now.ToString("hh:mm tt"), @DateTime.Today.ToString("MMMM dd, yyyy")</span></p>
|
||||
<h5 class="text-muted">@Enum.GetName(typeof(TransferStatusType), _transfer.TransferStatusType)</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
|
|
@ -197,30 +244,12 @@ else
|
|||
|
||||
<DxFormLayoutItem ColSpanLg="12" CssClass="form-field" Caption="Flight Number">
|
||||
<DxTextBox @bind-Text="_transfer.FlightNumber" />
|
||||
</DxFormLayoutItem>
|
||||
|
||||
<hr />
|
||||
<h4>License plate: POX-382</h4>
|
||||
<p class="text-muted">Car looks: Silver, Toyota, Prius</p>
|
||||
<hr />
|
||||
<p class="text-muted">Status on: <span class="text-body">@DateTime.Now.TimeOfDay, @DateTime.Today.Date</span></p>
|
||||
</DxFormLayoutItem>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!--ul id="progressbar-1" class="mx-0 mt-0 mb-5 px-0 pt-0 pb-4">
|
||||
<li class="step0 active" id="step1">
|
||||
<span style="margin-left: 22px; margin-top: 12px;">PLACED</span>
|
||||
</li>
|
||||
<li class="step0 active text-center" id="step2"><span>WAITING FOR PICK UP</span></li>
|
||||
<li class="step0 text-muted text-end" id="step3">
|
||||
<span style="margin-right: 22px;">ARRIVED</span>
|
||||
</li>
|
||||
</ul-->
|
||||
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
<h4> EUR @_transfer.Price <span class="small text-muted"> via (COD) </span></h4>
|
||||
</div>
|
||||
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
<DxFormLayoutItem ColSpanLg="12" CssClass="form-field" Caption="Comment">
|
||||
<DxMemo @bind-Text="_transfer.Comment" />
|
||||
|
|
@ -255,9 +284,15 @@ else
|
|||
[Parameter] public Guid transferId { get; set; } = Guid.Empty;
|
||||
|
||||
private Transfer _transfer = new Transfer();
|
||||
private List<TransferToDriver> _drivers = new List<TransferToDriver>();
|
||||
private List<Car> _cars = new List<Car>();
|
||||
private bool _isLoading = true;
|
||||
private string _errorMessage = string.Empty;
|
||||
|
||||
private bool showResultMessage = false;
|
||||
private string resultMessage = string.Empty;
|
||||
private List<UserModelDtoDetail> sysAdmins = [];
|
||||
|
||||
private LoggerClient<EditTransfers> _logger = null!;
|
||||
private MessageWizardModel _messageWizardModel = new();
|
||||
|
||||
|
|
@ -274,6 +309,7 @@ else
|
|||
"SenderFullName",
|
||||
"SenderId",
|
||||
"ContextId",
|
||||
"ContextType"
|
||||
];
|
||||
|
||||
private bool _editMode = false;
|
||||
|
|
@ -281,29 +317,36 @@ else
|
|||
|
||||
void SendMail(Transfer item)
|
||||
{
|
||||
_logger.Info($"Sending mail to {item.ContactEmail}, {item.Id}");
|
||||
_logger.Info($"Preparing mail to {item.ContactEmail}, {item.Id}");
|
||||
_messageWizardModel.Subject = $"[#{item.OrderId}] New message from guest";
|
||||
_messageWizardModel.ReceiverId = TiamConstClient.SysAccounts["SystemEmailSender"];
|
||||
//get first sysadmin
|
||||
|
||||
_messageWizardModel.ReceiverEmailAddress = sysAdmins[0].UserDto.EmailAddress;
|
||||
_messageWizardModel.ReceiverFullName = "Admin user";
|
||||
|
||||
_messageWizardModel.SenderId = item.UserId;
|
||||
_messageWizardModel.SenderEmailAddress = TiamConstClient.SystemEmailAddress;
|
||||
|
||||
_messageWizardModel.ReceiverId = item.UserId;
|
||||
_messageWizardModel.ContextId = item.Id;
|
||||
_messageWizardModel.SenderEmailAddress = "info@touriam.com";
|
||||
_messageWizardModel.ReceiverEmailAddress = item.ContactEmail;
|
||||
_messageWizardModel.ReceiverFullName = item.FullName;
|
||||
_messageWizardModel.ContextType = MessageContextType.Transfer;
|
||||
_popupVisible = true;
|
||||
}
|
||||
|
||||
void CancelCreateClick()
|
||||
{
|
||||
|
||||
showResultMessage = false;
|
||||
resultMessage = "";
|
||||
_popupVisible = false;
|
||||
}
|
||||
|
||||
void EulaPopupClosed()
|
||||
void EmailPopupClosed()
|
||||
{
|
||||
//cancel clicked
|
||||
|
||||
}
|
||||
|
||||
void EulaPopupClosing(PopupClosingEventArgs args)
|
||||
void EmailPopupClosing(PopupClosingEventArgs args)
|
||||
{
|
||||
//myModel = new TransferWizardModel();
|
||||
_messageWizardModel = new MessageWizardModel();
|
||||
|
|
@ -311,28 +354,20 @@ else
|
|||
|
||||
public async Task SubmitForm(object result)
|
||||
{
|
||||
var messageModel = result as MessageWizardModel;
|
||||
messageModel.ContextId = _messageWizardModel.ContextId;
|
||||
//messageModel.SenderId = sessionService.User.UserId;
|
||||
|
||||
string FormatEmailContent()
|
||||
{
|
||||
return $@"
|
||||
<html>
|
||||
<body>
|
||||
<p>Dear {messageModel.SenderFullName},</p>
|
||||
<p>{messageModel.Content}:</p>
|
||||
<p>Best regards,<br/>Tour I Am team</p>
|
||||
</body>
|
||||
</html>";
|
||||
}
|
||||
|
||||
messageModel.Content = FormatEmailContent();
|
||||
|
||||
var messageModel = (result as MessageWizardModel)!;
|
||||
_logger.Info(messageModel.Content);
|
||||
var email = await wizardProcessor.ProcessWizardAsync<MessageWizardModel>(result.GetType(), messageModel);
|
||||
|
||||
if(email != null)
|
||||
{
|
||||
resultMessage = "Message sent";
|
||||
}
|
||||
else
|
||||
{
|
||||
resultMessage = $"Something went wrong, please try again later, or contact us by regular email at {TiamConstClient.SystemEmailAddress}!";
|
||||
}
|
||||
showResultMessage = true;
|
||||
_logger.Info($"Submitted nested form: {result.GetType().FullName}");
|
||||
|
||||
}
|
||||
|
||||
private async Task Pay()
|
||||
|
|
@ -374,6 +409,7 @@ else
|
|||
_logger.Info($"parameter: {transferId.ToString()}");
|
||||
|
||||
await LoadTransfer();
|
||||
sysAdmins = await _adminSignalRClient.GetByIdAsync<List<UserModelDtoDetail>>(SignalRTags.GetAllUserModelDtoDetails, TiamConstClient.SysAdmins[0]);
|
||||
var test = _transfer.UserId;
|
||||
if (!_transfer.UserId.IsNullOrEmpty())
|
||||
{
|
||||
|
|
@ -389,7 +425,7 @@ else
|
|||
{
|
||||
//I am logged in, and this is my transfer
|
||||
await UserDataService.SetEmailConfirmed(_transfer.UserId);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -402,7 +438,7 @@ else
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -427,6 +463,15 @@ else
|
|||
if (response != null)
|
||||
{
|
||||
_transfer = response;
|
||||
_drivers = await _adminSignalRClient.GetByIdAsync<List<TransferToDriver>>(SignalRTags.GetTransferDriversByTransferId, _transfer.Id);
|
||||
if(_drivers.Count > 0)
|
||||
{
|
||||
foreach (var _transferToDriver in _drivers)
|
||||
{
|
||||
_cars.Add(_transferToDriver.Car);
|
||||
}
|
||||
_logger.DebugConditional($"{_drivers.FirstOrDefault().Id}");
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
|
|
|
|||
|
|
@ -37,7 +37,14 @@ namespace TIAMWebApp.Client.Services
|
|||
case nameof(MessageWizardModel):
|
||||
EmailMessage emailMessage = ((MessageWizardModel)data).CopyToEmailMessage();
|
||||
var messageResult = await MessageSenderService.SendNoticeAsync(emailMessage, 1);
|
||||
return messageResult as TModelType;
|
||||
if (messageResult == "OK")
|
||||
{
|
||||
return data as TModelType;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
//case nameof(ServiceProvider):
|
||||
// return null;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,11 @@
|
|||
<link href="_content/TIAMSharedUI/css/TourIAm.css" rel="stylesheet" />
|
||||
<link rel="icon" type="image/png" href="_content/TIAMSharedUI/favicon.png" />
|
||||
<link href="TIAMWebApp.Client.styles.css" rel="stylesheet" />
|
||||
|
||||
<script>
|
||||
function isDevice() {
|
||||
return /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini|mobile/i.test(navigator.userAgent);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
@ -53,11 +57,7 @@
|
|||
<a href="" class="reload">Reload</a>
|
||||
<a class="dismiss">🗙</a>
|
||||
</div>
|
||||
<script>
|
||||
function isDevice() {
|
||||
return /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini|mobile/i.test(navigator.userAgent);
|
||||
}
|
||||
</script>
|
||||
|
||||
<script src="https://kit.fontawesome.com/12c469cb8f.js" crossorigin="anonymous"></script>
|
||||
<script src="_content/TIAMSharedUI/blazorAnimationInterop.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
|
||||
|
|
|
|||
|
|
@ -51,7 +51,6 @@ namespace TIAMWebApp.Shared.Application.Services
|
|||
|
||||
var result = (string)(await response.Content.ReadAsStringAsync());
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue