navbar fix, transfer changes, emailmessage context type

This commit is contained in:
Adam 2024-08-18 15:58:03 +02:00
parent fd002486cb
commit 9418e52eed
13 changed files with 128 additions and 93 deletions

View File

@ -1,10 +1,11 @@
@using AyCode.Blazor.Components.Components
@using AyCode.Core.Helpers
@using TIAMWebApp.Shared.Application.Services
@inject GooglePlacesService GooglePlacesService
<div class="p-3">
<DxTextBox @bind-Text="Address"
CssClass="form-field"
CssClass="@CssClass"
@oninput="OnInputChanged"
BindValueMode="BindValueMode.OnDelayedInput"
InputDelay="700">
@ -22,7 +23,7 @@ else
{
<p>No address found</p>
}
</div>
@code {
@ -30,6 +31,8 @@ else
[Parameter] public EventCallback<string> AddressChanged { get; set; }
[Parameter] public string CssClass { get; set; }
private string Address { get; set; }
private List<PredictionItem> Predictions { get; set; } = new();
private PredictionItem selectedPrediction { get; set; }
@ -38,7 +41,7 @@ else
get => selectedPrediction;
set
{
SetNewDestination(value.Description);
SetNewDestination(value.Description).Forget();
selectedPrediction = value;
}
}

View File

@ -53,7 +53,7 @@ else
[Parameter] public bool isEditing { get; set; } = false;
[Parameter] public bool userAvailable { get; set; }
[Parameter] public UserModelDtoDetail userModelDtodetail { get; set; }
[Parameter] public Product CurrentProduct { get; set; }
[Parameter] public Product? CurrentProduct { get; set; } = null;
string _formSubmitResult = "";
private string _spinnerClass = "";

View File

@ -24,8 +24,8 @@
<AuthComponent />
<HeroSlider SliderItems="@sliders" PBottom="50px" Height="50vh"></HeroSlider>
<div class="container-fluid" style="position: relative; z-index: 2;">
<HeroSlider SliderItems="@sliders" PBottom="50px" Height="30vh"></HeroSlider>
@* <div class="container-fluid" style="position: relative; z-index: 2;">
<div class="row d-flex justify-content-center">
<div class="col-12 col-lg-6">
<div class="card bg-white p-3">
@ -39,10 +39,10 @@
</div>
</div>
</div>
</div> *@
<div class="container" style="align-content: center;">
<div class="container-fluid" style="align-content: center;">

View File

@ -1,4 +1,4 @@
@page "/transfer2"
@page "/transfer2/{transferId:guid}"
<PageTitle>Transferdetails</PageTitle>
@inject NavigationManager navManager
@ -67,6 +67,8 @@
@code {
[Parameter] public Guid? transferId { get; set; }
public void next() => navManager.NavigateTo("/transfer");
public void previous() => navManager.NavigateTo("/transfer3");
}

View File

@ -1,5 +1,6 @@
@page "/transfer"
@using TIAMSharedUI.Pages.Components
@using TIAMSharedUI.Pages.Components.EditComponents
@using TIAMSharedUI.Shared
@using TIAMWebApp.Shared.Application.Interfaces
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI
@ -10,18 +11,18 @@
@inject IWizardProcessor WizardProcessor
<PageTitle>Transfer</PageTitle>
<HeroSlider SliderItems="sliders"></HeroSlider>
<div class="container" style="position: relative; z-index: 2;">
<HeroSlider SliderItems="sliders" Height="30vh"></HeroSlider>
<div class="container-fluid" style="position: relative; z-index: 2;">
<div class="row d-flex justify-content-center">
<div class="col-12 col-lg-6">
<div class="card bg-white p-3">
<InputWizard Data=@myModel
@* <InputWizard Data=@myModel
OnSubmit="SubmitForm"
IgnoreReflection="@TransferIgnorList"
SubmitButtonText="ButtonSend"
TitleResourceString="TransferTitle"
SubtitleResourceString="TransferSubtitle"></InputWizard>
SubtitleResourceString="TransferSubtitle"></InputWizard> *@
<DynamicEditForm Data="myModel" isEditing="true" IgnoreReflection="TransferIgnorList" OnSubmit="SubmitForm"></DynamicEditForm>
</div>
</div>

View File

@ -17,7 +17,6 @@
@inherits BasePageComponent
@layout AdminLayout
@inject IPopulationStructureDataProvider DataProvider
@inject ISessionService SessionService
@inject IUserDataService UserDataService
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject AdminSignalRClient _adminSignalRClient
@ -71,9 +70,9 @@
private Product selectedHotel { get; set; }
public Product SelectedHotel
{
get
{
return selectedHotel;
get
{
return selectedHotel;
}
set
{
@ -100,16 +99,19 @@
protected override void OnInitialized()
{
_logger = new LoggerClient<CreateAndManageTransfer>(LogWriters.ToArray());
if (SessionService.User.UserModelDto.Products.Count() > 0)
if (_sessionService.User != null)
{
if (SessionService.User.UserModelDto.Products.Any(x => x.ProductType == TIAM.Core.Enums.ProductType.Hotel))
if (_sessionService.User.UserModelDto.Products.Count() > 0)
{
Hotels = SessionService.GetHotels();
if(!SelectedHotelInitialized)
if (_sessionService.User.UserModelDto.Products.Any(x => x.ProductType == TIAM.Core.Enums.ProductType.Hotel))
{
SelectedHotel = Hotels[0];
SelectedHotelInitialized = true;
Hotels = _sessionService.GetHotels();
if (!SelectedHotelInitialized)
{
SelectedHotel = Hotels[0];
SelectedHotelInitialized = true;
}
}
}
}

View File

@ -18,14 +18,13 @@
@using TIAMWebApp.Shared.Application.Services
@inject GooglePlacesService GooglePlacesService
<label for="cbOverview" class="demo-text cw-480 mb-1">
Select a destination
</label>
<DxTabs>
<DxTabs CssClass="bg-light">
<DxTabPage Text="Preset addresses">
<DxComboBox Data="@Data"
CssClass="p-3"
InputCssClass="@CssClass"
@bind-Value="@SelectedDestination"
SearchMode="@ListSearchMode.AutoSearch"
@ -38,7 +37,7 @@
</DxTabPage>
<DxTabPage Text="Address locator">
<AddressSearchAndSelectComponent AddressChanged="@OnSelectedAddressChanged">
<AddressSearchAndSelectComponent AddressChanged="@OnSelectedAddressChanged" CssClass="@CssClass">
</AddressSearchAndSelectComponent>
@* <DxFormLayoutItem Caption="Type a custom address">

View File

@ -12,10 +12,10 @@
<img height="25" src="_content/TIAMSharedUI/images/logo_wide.png" alt="TourIam Logo" title="TourIAm Logo" />
</NavLink>
<button @onclick="ToggleNavMenu" class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="@expandNavMenu" aria-label="Toggle navigation">
<button @onclick="ToggleNavMenu" class="navbar-toggler">
<img src="_content/TIAMSharedUI/images/navbar-toggler.png" width="40" />
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<div class="@NavMenuCssClass navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<!--NavLink class="nav-link" href="" Match="NavLinkMatch.All"-->
@ -131,7 +131,7 @@
}
<li class="nav-item">
<div class="btn-nav">
<NavLink class="btn btn-primary btn-small navbar-btn" href="#" @onclick="SignOut">
<NavLink class="btn btn-primary btn-small navbar-btn" href="#" @onclick="SignOut" data-bs-target=".navbar-collapse.show">
@localizer.GetString("NavMenu.SignOut")
</NavLink>
</div>
@ -149,7 +149,7 @@
</div>
</nav>
<script>
@* <script>
function toggleBootstrapNavMenu(isExpanded) {
var navMenu = document.getElementById('navbarNav');
if (navMenu) {
@ -165,7 +165,7 @@
}
}
}
</script>
</script> *@
@code {

View File

@ -58,7 +58,8 @@ namespace TIAMSharedUI.Shared.Components
private bool enableApi = true;
private bool enableChat = true;
private bool expandNavMenu = true;
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : "show";
private bool collapseNavMenu = true;
private bool myUser = false;
private bool hasProperty = false;
@ -71,11 +72,6 @@ namespace TIAMSharedUI.Shared.Components
}
private async Task ExpandNavMenu()
{
await JsRuntime.InvokeVoidAsync("toggleBootstrapNavMenu");
}
private void RefreshMe()
{
_logger.Debug($"Navbar refresh called! {DateTime.Now} ");
@ -87,9 +83,9 @@ namespace TIAMSharedUI.Shared.Components
private void ToggleNavMenu()
{
expandNavMenu = !expandNavMenu;
JsRuntime.InvokeVoidAsync("toggleBootstrapNavMenu", expandNavMenu);
collapseNavMenu = !collapseNavMenu;
_logger.Debug($"{NavMenuCssClass}");
//JsRuntime.InvokeVoidAsync("toggleBootstrapNavMenu", expandNavMenu);
}
private async Task SignOut()
@ -127,10 +123,10 @@ namespace TIAMSharedUI.Shared.Components
private void OnLocationChanged(object sender, LocationChangedEventArgs e)
{
// Collapse the navbar on navigation
expandNavMenu = false;
JsRuntime.InvokeVoidAsync("toggleBootstrapNavMenu", false);
collapseNavMenu=true;
_logger.Debug($"{NavMenuCssClass}");
//JsRuntime.InvokeVoidAsync("toggleBootstrapNavMenu", false);
StateHasChanged();
}
public void Dispose()

View File

@ -2,7 +2,7 @@
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI
<header style="padding-bottom: @PBottom;">
<div id="owl-demo" class="owl-carousel owl-theme" style="position:absolute; z-index: 1;">
<div id="owl-demo" class="owl-carousel owl-theme" style="/* position:absolute; */ z-index: 1;">
@{
foreach (var slider in SliderItems)

View File

@ -213,7 +213,7 @@ select {
/*box-shadow: 0 8px 32px 0 rgba( 31, 38, 135, 0.37 );
backdrop-filter: blur( 6px );*/
-webkit-backdrop-filter: blur( 6px );
border-radius: 10px;
/*border-radius: 10px;*/
}
.dxbl-modal > .dxbl-modal-root > .dxbl-popup > .dxbl-modal-content {
@ -530,7 +530,7 @@ select:focus-visible {
}
#owl-demo .item {
height: 50vh;
height: 30vh;
overflow-y: hidden;
flex-wrap: wrap;
vertical-align: middle;

View File

@ -31,6 +31,7 @@ using System;
using TIAM.Database.DbSets.Transfers;
using TIAM.Services.Interfaces;
using TIAM.Entities.Products;
using AyCode.Core.Enums;
namespace TIAMWebApp.Server.Controllers
{
@ -536,28 +537,39 @@ namespace TIAMWebApp.Server.Controllers
message.Message.Id = Guid.NewGuid();
message.Message.Subject = "[Tour I Am] New transfer in Budapest";
message.Message.ContextId = transfer.Id;
message.Message.ContextType = MessageContextType.Transfer;
message.Message.SenderId = Guid.Empty;
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), transfer.UserId, Guid.NewGuid(), transfer.ContactEmail));
string FormatEmailContent()
{
return $@"
<html>
<body>
<p>Dear {transfer.FullName},</p>
<p>We are pleased to inform you that a transfer order has been placed. Below are the details of the transfer:</p>
<p>{transfer.FromAddress} - {transfer.ToAddress}</p>
<p>{transfer.Appointment}</p>
<p>{transfer.FullName}</p>
<p>{transfer.PassengerCount}</p>
<p>Please confirm the transfer by clicking on the following link:</p>
<p><a href=""{Setting.BaseUrl}/mytransfers/{transfer.Id}"">Confirm Transfer</a></p>
<p>If you did not request this transfer, please disregard this email.</p>
<p>Thank you,<br/>Tour I Am team</p>
</body>
</html>";
}
message.Message.Text = FormatEmailContent();
//string FormatEmailContent()
//{
// return $@"
// <html>
// <body>
// <p>Dear {transfer.FullName},</p>
// <p>We are pleased to inform you that a transfer order has been placed. Below are the details of the transfer:</p>
// <p>{transfer.FromAddress} - {transfer.ToAddress}</p>
// <p>{transfer.Appointment}</p>
// <p>{transfer.FullName}</p>
// <p>{transfer.PassengerCount}</p>
// <p>Please confirm the transfer by clicking on the following link:</p>
// <p><a href=""{Setting.BaseUrl}/mytransfers/{transfer.Id}"">Confirm Transfer</a></p>
// <p>If you did not request this transfer, please disregard this email.</p>
// <p>Thank you,<br/>Tour I Am team</p>
// </body>
// </html>";
//}
//message.Message.Text = FormatEmailContent();
message.Message.Text = EmailTemplateHelper.GenerateNewTransferEmail(
transfer.FullName,
transfer.FromAddress,
transfer.ToAddress,
transfer.Appointment.ToString(),
transfer.FullName,
transfer.PassengerCount.ToString(),
transfer.LuggageCount.ToString(),
Setting.BaseUrl,
transfer.Id.ToString());
_logger.Info(message.Message.Text);
//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;
@ -625,28 +637,41 @@ namespace TIAMWebApp.Server.Controllers
message.MessageType = AyCode.Models.Enums.MessageTypesEnum.email;
message.Message.Subject = "[Tour I Am] New transfer in Budapest";
message.Message.ContextId = createdTransfer.Id;
message.Message.ContextType = MessageContextType.Transfer;
message.Message.SenderId = Guid.Empty;
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), createdTransfer.UserId, Guid.NewGuid(), createdTransfer.ContactEmail));
string FormatEmailContent()
{
return $@"
<html>
<body>
<p>Dear {createdTransfer.FullName},</p>
<p>We are pleased to inform you that a transfer order has been placed. Below are the details of the transfer:</p>
<p>
{createdTransfer.FromAddress} - {createdTransfer.ToAddress}</p>
<p>{createdTransfer.Appointment}</p>
<p>{createdTransfer.FullName}</p>
<p>{createdTransfer.PassengerCount}</p>
<p>Please confirm the transfer by clicking on the following link:</p>
<p><a href=""{Setting.BaseUrl}/mytransfers/{createdTransfer.Id}"">Confirm Transfer</a></p>
<p>If you did not request this transfer, please disregard this email.</p>
<p>Thank you,<br/>Tour I Am team</p>
</body>
</html>";
}
message.Message.Text = FormatEmailContent();
//string FormatEmailContent()
//{
// return $@"
// <html>
// <body>
// <p>Dear {createdTransfer.FullName},</p>
// <p>We are pleased to inform you that a transfer order has been placed. Below are the details of the transfer:</p>
// <p>
// {createdTransfer.FromAddress} - {createdTransfer.ToAddress}</p>
// <p>{createdTransfer.Appointment}</p>
// <p>{createdTransfer.FullName}</p>
// <p>{createdTransfer.PassengerCount}</p>
// <p>Please confirm the transfer by clicking on the following link:</p>
// <p><a href=""{Setting.BaseUrl}/mytransfers/{createdTransfer.Id}"">Confirm Transfer</a></p>
// <p>If you did not request this transfer, please disregard this email.</p>
// <p>Thank you,<br/>Tour I Am team</p>
// </body>
// </html>";
//}
//message.Message.Text = FormatEmailContent();
message.Message.Text = EmailTemplateHelper.GenerateNewTransferEmail(
createdTransfer.FullName,
createdTransfer.FromAddress,
createdTransfer.ToAddress,
createdTransfer.Appointment.ToString(),
createdTransfer.FullName,
createdTransfer.PassengerCount.ToString(),
createdTransfer.LuggageCount.ToString(),
Setting.BaseUrl,
createdTransfer.Id.ToString());
_logger.Info(message.Message.Text);
var messageElement = message.Message;
Console.WriteLine(message.Message);

View File

@ -24,6 +24,8 @@ using System.Net;
using TIAM.Services.Server;
using TIAM.Services.Server.Logins;
using TIAMWebApp.Server.Services;
using AyCode.Core.Enums;
using AyCode.Models.Enums;
namespace TIAMWebApp.Server.Controllers
{
@ -471,13 +473,18 @@ namespace TIAMWebApp.Server.Controllers
message.Message = new EmailMessage();
message.Message.EmailAddress = email;
message.Message.Id = Guid.NewGuid();
message.MessageType = AyCode.Models.Enums.MessageTypesEnum.email;
message.MessageType = MessageTypesEnum.email;
message.Message.Subject = "[Tour I Am] New transfer in Budapest";
message.Message.ContextId = user.Id;
message.Message.ContextType = MessageContextType.System;
message.Message.SenderId = Guid.Empty;
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), user.Id, Guid.NewGuid(), email));
message.Message.Text = EmailTemplateHelper.GenerateForgotPasswordEmail(user.FullName, Setting.BaseUrl, user.Id.ToString(), user.ConfirmToken);
message.Message.Text = EmailTemplateHelper.GenerateForgotPasswordEmail(
user.FullName,
Setting.BaseUrl,
user.Id.ToString(),
user.ConfirmToken);
_logger.Info(message.Message.Text);
var messageElement = message.Message;
Console.WriteLine(message.Message);