Compare commits

..

No commits in common. "9418e52eedde98277b1b076758b58fb1dc2bca44" and "ac4ff71683057bdebb3d1742363db123df294db5" have entirely different histories.

13 changed files with 128 additions and 276 deletions

View File

@ -1,14 +1,16 @@
@using AyCode.Blazor.Components.Components @using AyCode.Blazor.Components.Components
@using AyCode.Core.Helpers
@using TIAMWebApp.Shared.Application.Services @using TIAMWebApp.Shared.Application.Services
@inject GooglePlacesService GooglePlacesService @inject GooglePlacesService GooglePlacesService
<div class="p-3"> <h4>
@NullText
</h4>
<DxTextBox @bind-Text="Address" <DxTextBox @bind-Text="Address"
CssClass="@CssClass"
@oninput="OnInputChanged" @oninput="OnInputChanged"
BindValueMode="BindValueMode.OnDelayedInput" BindValueMode="BindValueMode.OnDelayedInput"
InputDelay="700"> InputDelay="500">
</DxTextBox> </DxTextBox>
@if (Predictions.Count > 0) @if (Predictions.Count > 0)
@ -19,11 +21,7 @@ CssClass="@CssClass"
@bind-Value="SelectedPrediction"> @bind-Value="SelectedPrediction">
</DxComboBox> </DxComboBox>
} }
else
{
<p>No address found</p>
}
</div>
@code { @code {
@ -31,25 +29,9 @@ else
[Parameter] public EventCallback<string> AddressChanged { get; set; } [Parameter] public EventCallback<string> AddressChanged { get; set; }
[Parameter] public string CssClass { get; set; }
private string Address { get; set; } private string Address { get; set; }
private List<PredictionItem> Predictions { get; set; } = new(); private List<PredictionItem> Predictions { get; set; } = new();
private PredictionItem selectedPrediction { get; set; } private PredictionItem SelectedPrediction { get; set; }
public PredictionItem SelectedPrediction
{
get => selectedPrediction;
set
{
SetNewDestination(value.Description).Forget();
selectedPrediction = value;
}
}
public async Task SetNewDestination(string address)
{
await AddressChanged.InvokeAsync(address);
}
private async Task OnInputChanged(ChangeEventArgs e) private async Task OnInputChanged(ChangeEventArgs e)
{ {
@ -66,7 +48,7 @@ else
} }
} }
public class PredictionItem private class PredictionItem
{ {
public string Description { get; set; } public string Description { get; set; }
} }

View File

@ -4,14 +4,10 @@
@using AyCode.Services.Loggers @using AyCode.Services.Loggers
@using System.Reflection @using System.Reflection
@using AyCode.Blazor.Components.Components @using AyCode.Blazor.Components.Components
@using TIAM.Entities.Products
@using TIAM.Entities.Transfers @using TIAM.Entities.Transfers
@using TIAM.Models.Dtos.Users
@using TIAMSharedUI.Shared @using TIAMSharedUI.Shared
@using TIAMWebApp.Shared.Application.Interfaces
@using TIAMWebApp.Shared.Application.Utility @using TIAMWebApp.Shared.Application.Utility
@inject IEnumerable<IAcLogWriterClientBase> LogWriters @inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject ISessionService _sessionService
@if (isEditing) @if (isEditing)
{ {
@ -51,9 +47,6 @@ else
[Parameter] public List<string> IgnoreReflection { get; set; } [Parameter] public List<string> IgnoreReflection { get; set; }
[Parameter] public EventCallback<object> OnSubmit { get; set; } [Parameter] public EventCallback<object> OnSubmit { get; set; }
[Parameter] public bool isEditing { get; set; } = false; [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; } = null;
string _formSubmitResult = ""; string _formSubmitResult = "";
private string _spinnerClass = ""; private string _spinnerClass = "";
@ -69,12 +62,6 @@ else
base.OnInitialized(); base.OnInitialized();
} }
protected override void OnParametersSet()
{
StateHasChanged();
base.OnParametersSet();
}
// void HandleValidSubmit() // void HandleValidSubmit()
// { // {
// FormSubmitResult = "You have been registered successfully."; // FormSubmitResult = "You have been registered successfully.";
@ -251,14 +238,9 @@ else
} }
else if (property.PropertyType == typeof(string) && string.Compare(attrList.CustomDataType, "TransferDestination", true) == 0) else if (property.PropertyType == typeof(string) && string.Compare(attrList.CustomDataType, "TransferDestination", true) == 0)
{ {
editor.OpenComponent<ComboboxItemSelector>(j); editor.OpenComponent<ComboboxItemSelector>(j);
editor.AddAttribute(j++, "TextValue", property.GetValue(Data)); editor.AddAttribute(j++, "TextValue", property.GetValue(Data));
editor.AddAttribute(j++, "CssClass", "form-field"); editor.AddAttribute(j++, "CssClass", "form-field");
if (CurrentProduct != null)
{
editor.AddAttribute(j++, "ProductId", CurrentProduct.Id);
}
// editor.AddAttribute(j++, "ValExpression", lambda); // editor.AddAttribute(j++, "ValExpression", lambda);
editor.AddAttribute(j++, "OnSliderChanged", EventCallback.Factory.Create<string>(this, result => editor.AddAttribute(j++, "OnSliderChanged", EventCallback.Factory.Create<string>(this, result =>
{ {

View File

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

View File

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

View File

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

View File

@ -17,6 +17,7 @@
@inherits BasePageComponent @inherits BasePageComponent
@layout AdminLayout @layout AdminLayout
@inject IPopulationStructureDataProvider DataProvider @inject IPopulationStructureDataProvider DataProvider
@inject ISessionService SessionService
@inject IUserDataService UserDataService @inject IUserDataService UserDataService
@inject IEnumerable<IAcLogWriterClientBase> LogWriters @inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject AdminSignalRClient _adminSignalRClient @inject AdminSignalRClient _adminSignalRClient
@ -49,7 +50,7 @@
<div class="row py-3"> <div class="row py-3">
<DynamicEditForm Data="Data" CurrentProduct="@SelectedHotel" isEditing="true" IgnoreReflection="TransferIgnorList" OnSubmit="SubmitForm"></DynamicEditForm> <DynamicEditForm Data="Data" isEditing="true" IgnoreReflection="TransferIgnorList" OnSubmit="SubmitForm"></DynamicEditForm>
</div> </div>
<div class="row py-3"> <div class="row py-3">
@ -67,20 +68,7 @@
private LoggerClient<CreateAndManageTransfer> _logger; private LoggerClient<CreateAndManageTransfer> _logger;
private TransferWizardModel Data = new(); private TransferWizardModel Data = new();
private List<Product> Hotels = new List<Product>(); private List<Product> Hotels = new List<Product>();
private Product selectedHotel { get; set; } private Product SelectedHotel;
public Product SelectedHotel
{
get
{
return selectedHotel;
}
set
{
selectedHotel = value;
StateHasChanged();
}
}
public List<string> TransferIgnorList = new List<string> public List<string> TransferIgnorList = new List<string>
{ {
nameof(TransferWizardModel.Id), nameof(TransferWizardModel.Id),
@ -94,25 +82,17 @@
nameof(TransferWizardModel.Price) nameof(TransferWizardModel.Price)
}; };
private bool isReloadVisible = false; private bool isReloadVisible = false;
private bool SelectedHotelInitialized = false;
protected override void OnInitialized() protected override void OnInitialized()
{ {
_logger = new LoggerClient<CreateAndManageTransfer>(LogWriters.ToArray()); _logger = new LoggerClient<CreateAndManageTransfer>(LogWriters.ToArray());
if (_sessionService.User != null)
{
if (_sessionService.User.UserModelDto.Products.Count() > 0) if (SessionService.User.UserModelDto.Products.Count() > 0)
{ {
if (_sessionService.User.UserModelDto.Products.Any(x => x.ProductType == TIAM.Core.Enums.ProductType.Hotel)) if (SessionService.User.UserModelDto.Products.Any(x => x.ProductType == TIAM.Core.Enums.ProductType.Hotel))
{
Hotels = _sessionService.GetHotels();
if (!SelectedHotelInitialized)
{ {
Hotels = SessionService.GetHotels();
SelectedHotel = Hotels[0]; SelectedHotel = Hotels[0];
SelectedHotelInitialized = true;
}
}
} }
} }
@ -177,7 +157,6 @@
{ {
Data = new TransferWizardModel(); Data = new TransferWizardModel();
isReloadVisible = false; isReloadVisible = false;
StateHasChanged(); StateHasChanged();
} }

View File

@ -1,13 +1,10 @@
@using System.Linq.Expressions @using System.Linq.Expressions
@using AyCode.Core.Extensions
@using AyCode.Core.Loggers @using AyCode.Core.Loggers
@using AyCode.Services.Loggers @using AyCode.Services.Loggers
@using TIAM.Core.Loggers @using TIAM.Core.Loggers
@using TIAM.Entities.Products
@using TIAM.Entities.Transfers @using TIAM.Entities.Transfers
@using TIAM.Services @using TIAM.Services
@using TIAMSharedUI.Pages @using TIAMSharedUI.Pages
@using TIAMSharedUI.Pages.Components
@using TIAMSharedUI.Pages.User.SysAdmins @using TIAMSharedUI.Pages.User.SysAdmins
@using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Interfaces
@using TIAMWebApp.Shared.Application.Services @using TIAMWebApp.Shared.Application.Services
@ -15,47 +12,20 @@
@inject IEnumerable<IAcLogWriterClientBase> LogWriters @inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject AdminSignalRClient _adminSignalRClient @inject AdminSignalRClient _adminSignalRClient
@inject ITransferDataService TransferDataService @inject ITransferDataService TransferDataService
@using TIAMWebApp.Shared.Application.Services
@inject GooglePlacesService GooglePlacesService
<DxTabs CssClass="bg-light">
<DxTabPage Text="Preset addresses">
<label for="cbOverview" class="demo-text cw-480 mb-1">
Select a destination
</label>
<DxComboBox Data="@Data" <DxComboBox Data="@Data"
CssClass="p-3"
InputCssClass="@CssClass" InputCssClass="@CssClass"
@bind-Value="@SelectedDestination" @bind-Value="@SelectedDestination"
SearchMode="@ListSearchMode.AutoSearch" SearchMode="@ListSearchMode.AutoSearch"
SearchFilterCondition="@ListSearchFilterCondition.Contains" SearchFilterCondition="@ListSearchFilterCondition.Contains"
ListRenderMode="ListRenderMode.Virtual" ListRenderMode="ListRenderMode.Virtual"
TextFieldName="@nameof(TransferDestination.Name)" TextFieldName="@nameof(TransferDestination.Name)"
CssClass="cw-480"
InputId="cbOverview" /> InputId="cbOverview" />
</DxTabPage>
<DxTabPage Text="Address locator">
<AddressSearchAndSelectComponent AddressChanged="@OnSelectedAddressChanged" CssClass="@CssClass">
</AddressSearchAndSelectComponent>
@* <DxFormLayoutItem Caption="Type a custom address">
<DxTextBox @bind-Text="Address" />
</DxFormLayoutItem>
<DxFormLayoutItem>
<DxButton Context="ButtonContext" Click="ValidateAddress">Validate Address</DxButton>
</DxFormLayoutItem>
<DxFormLayoutItem>
<p>@ValidationMessage</p>
</DxFormLayoutItem> *@
</DxTabPage>
</DxTabs>
<p>Selected address: @Address</p>
@* <p class="demo-text cw-480 mt-3"> @* <p class="demo-text cw-480 mt-3">
@GetSelectedItemDescription() @GetSelectedItemDescription()
</p> *@ </p> *@
@ -76,8 +46,6 @@
[Parameter] public string CssClass { get; set; } = ""; [Parameter] public string CssClass { get; set; } = "";
[Parameter] public Guid? ProductId { get; set; }
public List<TransferDestination> Destinations = new List<TransferDestination>(); public List<TransferDestination> Destinations = new List<TransferDestination>();
public DxTextBox TextField; public DxTextBox TextField;
@ -88,9 +56,6 @@
IEnumerable<TransferDestination> Data { get; set; } IEnumerable<TransferDestination> Data { get; set; }
private string Address { get; set; }
private string ValidationMessage { get; set; }
private TransferDestination _selectedDestination; private TransferDestination _selectedDestination;
public TransferDestination SelectedDestination public TransferDestination SelectedDestination
{ {
@ -100,14 +65,14 @@
if (_selectedDestination != value) if (_selectedDestination != value)
{ {
_selectedDestination = value; _selectedDestination = value;
SetNewDestination(value.AddressString!); SetNewDestination(value);
} }
} }
} }
protected override void OnParametersSet() protected override void OnParametersSet()
{ {
// StateHasChanged();
} }
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
@ -115,30 +80,9 @@
_logger = new LoggerClient<ComboboxItemSelector>(LogWriters.ToArray()); _logger = new LoggerClient<ComboboxItemSelector>(LogWriters.ToArray());
Data = await _adminSignalRClient.GetAllAsync<List<TransferDestination>>(SignalRTags.GetAllTransferDestinations); Data = await _adminSignalRClient.GetAllAsync<List<TransferDestination>>(SignalRTags.GetAllTransferDestinations);
Guid? productAddressId = Guid.Empty;
if (!ProductId.IsNullOrEmpty())
{
var currentProduct = await _adminSignalRClient.GetByIdAsync<Product>(SignalRTags.GetProductById, ProductId);
if (currentProduct != null)
{
if (!currentProduct.Profile.AddressId.IsNullOrEmpty())
{
productAddressId = currentProduct.Profile.AddressId;
}
}
}
_logger.Debug($"List length: {Data.Count().ToString()}"); _logger.Debug($"List length: {Data.Count().ToString()}");
if (Data.Any(x => x.AddressId == (Guid)productAddressId))
{
SelectedDestination = Data.Where(x => x.AddressId == (Guid)productAddressId).FirstOrDefault()!;
}
else
{
SelectedDestination = Data.FirstOrDefault(); SelectedDestination = Data.FirstOrDefault();
} }
}
// RenderFragment GetSelectedItemDescription() // RenderFragment GetSelectedItemDescription()
// { // {
// if (SelectedDestination != null) // if (SelectedDestination != null)
@ -156,16 +100,9 @@
// } // }
public void OnSelectedAddressChanged(string address) public void SetNewDestination(TransferDestination destination)
{ {
Address = address; OnSliderChanged.InvokeAsync(destination.AddressString);
OnSliderChanged.InvokeAsync(address);
}
public void SetNewDestination(string address)
{
Address = address;
OnSliderChanged.InvokeAsync(address);
} }
// RenderFragment GetFieldDescription(string fieldName, object value) // RenderFragment GetFieldDescription(string fieldName, object value)

View File

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

View File

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

View File

@ -1,8 +1,8 @@
@using BlazorAnimation @using BlazorAnimation
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI @using TIAMWebApp.Shared.Application.Models.ClientSide.UI
<header style="padding-bottom: @PBottom;"> <header style="padding-bottom: @PBottom;">
<Animation Effect="@Effect.FadeIn" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
<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) foreach (var slider in SliderItems)
@ -15,6 +15,7 @@
</div> </div>
</Animation>
</header> </header>

View File

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

View File

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

View File

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