merge
This commit is contained in:
commit
7faa9f266b
|
|
@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
|
||||||
build_property.EnforceExtendedAnalyzerRules =
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
build_property.RootNamespace = TIAMDLL.Common
|
build_property.RootNamespace = TIAMDLL.Common
|
||||||
build_property.ProjectDir = C:\MANGOWEB\TourIAmProject\TIAMDLL.Common\
|
build_property.ProjectDir = C:\Users\Ádám\Source\Repos\TourIAm\TIAMDLL.Common\
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1 @@
|
||||||
|
0aa444ae556d2df6dc138f149eb702065af2ab69
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,106 @@
|
||||||
|
@page "/hotel"
|
||||||
|
@using TIAMSharedUI.Shared
|
||||||
|
@inject NavigationManager navManager
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<section class="py-5">
|
||||||
|
|
||||||
|
<div class="row gx-4 gx-lg-5 align-items-center">
|
||||||
|
<div class="col-md-6">
|
||||||
|
|
||||||
|
<!--Slider here-->
|
||||||
|
<style>
|
||||||
|
.owl-stage-outer {
|
||||||
|
border-radius: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<div style="position: relative; width:100%; height: 100%">
|
||||||
|
<div style="position:absolute; top: 10px; left: 10px; z-index:999; ">
|
||||||
|
<h3 style="backdrop-filter: blur(5px); border-radius: 5px; color: white; padding: 3px; background-color: rgba(0,0,0,.2);">
|
||||||
|
10% DISCOUNT COUPON
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
<div id="owl-restaurant" class="owl-carousel owl-theme">
|
||||||
|
|
||||||
|
<div class="item d-flex align-items-center">
|
||||||
|
<img src="_content/TIAMSharedUI/images/restaurant_1.jpg" class="my-auto" alt="The Last of us">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="item d-flex align-items-center">
|
||||||
|
<img src="_content/TIAMSharedUI/images/restaurant_2.jpg" class="my-auto" alt="GTA V">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="item d-flex align-items-center">
|
||||||
|
<img src="_content/TIAMSharedUI/images/restaurant_3.jpg" class="my-auto" alt="Mirror Edge">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="small mb-1">Authentic</div>
|
||||||
|
<h1 class="display-5 fw-bolder">Mandragóra Restaurant</h1>
|
||||||
|
<div class="fs-5 mb-5">
|
||||||
|
<!--span class="text-decoration-line-through">$45.00</span-->
|
||||||
|
<span>$10.00</span>
|
||||||
|
</div>
|
||||||
|
<p class="lead">A nice Hungarian restaurant that offers a delightful culinary journey with traditional dishes like goulash, stuffed peppers, and chimney cake, in a cozy, welcoming atmosphere.</p>
|
||||||
|
<div class="d-flex">
|
||||||
|
<button class="btn btn-primary" @onclick="next">Book a transfer now</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="embed-responsive">
|
||||||
|
<h3> Location: </h3>
|
||||||
|
<p>Kacsa u. 13, Budapest</p>
|
||||||
|
|
||||||
|
@{
|
||||||
|
var aKey = "AIzaSyAyEYJkpt2KDa3SJ34UNWO4-dNOJKmUtF8";
|
||||||
|
var gUrl = "https://www.google.com/maps/embed/v1/place?key=" + aKey + "&q=Space+Needle,Budapest+HU";
|
||||||
|
}
|
||||||
|
<iframe class="embed-responsive-item"
|
||||||
|
loading="lazy"
|
||||||
|
width="100%"
|
||||||
|
style="height: 30vh; border-radius: 15px;"
|
||||||
|
referrerpolicy="no-referrer-when-downgrade"
|
||||||
|
src=@gUrl>
|
||||||
|
</iframe>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
<!-- Related items section-->
|
||||||
|
<FeaturedItems ItemType="1"></FeaturedItems>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
$("#owl-restaurant").owlCarousel({
|
||||||
|
|
||||||
|
navigation: true, // Show next and prev buttons
|
||||||
|
|
||||||
|
slideSpeed: 300,
|
||||||
|
paginationSpeed: 400,
|
||||||
|
|
||||||
|
items: 1,
|
||||||
|
itemsDesktop: false,
|
||||||
|
itemsDesktopSmall: false,
|
||||||
|
itemsTablet: false,
|
||||||
|
itemsMobile: false
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
public void next() => navManager.NavigateTo("/transfer");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
<PageTitle>Index</PageTitle>
|
<PageTitle>Index</PageTitle>
|
||||||
|
|
||||||
<TopRow></TopRow>
|
|
||||||
<HeroSlider></HeroSlider>
|
<HeroSlider></HeroSlider>
|
||||||
|
|
||||||
<div class="container-fluid" style="align-content: center;">
|
<div class="container-fluid" style="align-content: center;">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
@page "/login"
|
@page "/login"
|
||||||
|
@using TIAMWebApp.Shared.Application.Interfaces;
|
||||||
|
@using TIAMWebApp.Shared.Application.Models;
|
||||||
@inject NavigationManager navManager
|
@inject NavigationManager navManager
|
||||||
|
@inject IUserDataService userDataService
|
||||||
<PageTitle>Login</PageTitle>
|
<PageTitle>Login</PageTitle>
|
||||||
|
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
|
|
@ -19,26 +22,38 @@
|
||||||
<input type="password" name="password" id="pwd" placeholder="Password">
|
<input type="password" name="password" id="pwd" placeholder="Password">
|
||||||
</div>
|
</div>
|
||||||
<div class="form-field d-flex align-items-center">
|
<div class="form-field d-flex align-items-center">
|
||||||
|
|
||||||
<select class="custom-select" title="Destination is required ">
|
<select style="width:100%" @bind="CurrentValue" class="custom-select" title="Destination is required ">
|
||||||
<option value="Select" selected disabled="disabled">(Choose Destination)</option>
|
<option value="0" selected disabled="disabled">(Choose account type)</option>
|
||||||
<option value="0" selected>Option1</option>
|
<option value="1" selected>Hotel</option>
|
||||||
<option value="1" selected>Option2</option>
|
<option value="2" selected>Transfer</option>
|
||||||
<option value="2" selected>Option3</option>
|
<option value="3" selected>Guide</option>
|
||||||
|
<option value="4" selected>Admin</option>
|
||||||
|
<option value="5" selected>User</option>
|
||||||
|
<option value="6" selected>Driver</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<!--button class="btn btn-primary mt-3" @onclick="next">Login</button-->
|
<!--button class="btn btn-primary mt-3" @onclick="next">Login</button-->
|
||||||
<a class="btn btn-primary mt-3" @onclick="next">Login</a>
|
<a class="btn btn-primary mt-3" @onclick="next">Login</a>
|
||||||
</form>
|
</form>
|
||||||
|
<p>@isUserLoggedIn</p><p>@CurrentValue</p>
|
||||||
<div class="text-center fs-6">
|
<div class="text-center fs-6">
|
||||||
<a href="#">Forget password?</a> or <a href="register">Sign up</a>
|
<a href="#">Forget password?</a> or <a href="register">Sign up</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
public void next()
|
|
||||||
|
bool isUserLoggedIn;
|
||||||
|
int CurrentValue = 0;
|
||||||
|
|
||||||
|
public async Task next()
|
||||||
{
|
{
|
||||||
|
var user = await userDataService.IsLoggedInAsync();
|
||||||
|
user.IsLoggedIn = true;
|
||||||
|
isUserLoggedIn = user.IsLoggedIn;
|
||||||
|
user.UserType = (UserType)CurrentValue;
|
||||||
navManager.NavigateTo("home");
|
navManager.NavigateTo("home");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
.wrapper{
|
.wrapper{
|
||||||
max-width:400px;
|
max-width:400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
select :focus-visible {
|
||||||
|
border-color: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
@ -1,38 +1,48 @@
|
||||||
@page "/restaurant"
|
@page "/restaurant"
|
||||||
@using TIAMSharedUI.Shared
|
@using TIAMSharedUI.Shared
|
||||||
|
@inject NavigationManager navManager
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<section class="py-5">
|
||||||
|
|
||||||
|
|
||||||
<section class="py-5">
|
|
||||||
<div class="container px-4 px-lg-5 my-5">
|
|
||||||
<div class="row gx-4 gx-lg-5 align-items-center">
|
<div class="row gx-4 gx-lg-5 align-items-center">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6 my-3">
|
||||||
|
|
||||||
<!--Slider here-->
|
<!--Slider here-->
|
||||||
<div style="position: relative; width:100%; height: 100%">
|
<style>
|
||||||
<div style="position:absolute; top: 10px; left: 10px; z-index:999;">
|
.owl-stage-outer {
|
||||||
<h3>10% DISCOUNT COUPON</h3>
|
border-radius: 15px;
|
||||||
</div>
|
}
|
||||||
<div id="owl-restaurant" class="owl-carousel owl-theme">
|
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<div style="position: relative; width:100%; height: 100%">
|
||||||
|
<div style="position:absolute; top: 10px; left: 10px; z-index:999; ">
|
||||||
|
<h3 style="backdrop-filter: blur(5px); border-radius: 5px; color: white; padding: 3px; background-color: rgba(0,0,0,.2);">
|
||||||
|
10% DISCOUNT COUPON
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
<div id="owl-restaurant" class="owl-carousel owl-theme">
|
||||||
|
|
||||||
|
<div class="item d-flex align-items-center">
|
||||||
|
<img src="_content/TIAMSharedUI/images/restaurant_1.jpg" class="my-auto" alt="The Last of us">
|
||||||
|
|
||||||
<div class="item d-flex align-items-center">
|
|
||||||
<img src="_content/TIAMSharedUI/images/restaurant_1.jpg" class="my-auto" alt="The Last of us">
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="item d-flex align-items-center">
|
<div class="item d-flex align-items-center">
|
||||||
<img src="_content/TIAMSharedUI/images/restaurant_2.jpg" class="my-auto" alt="GTA V">
|
<img src="_content/TIAMSharedUI/images/restaurant_2.jpg" class="my-auto" alt="GTA V">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="item d-flex align-items-center">
|
<div class="item d-flex align-items-center">
|
||||||
<img src="_content/TIAMSharedUI/images/restaurant_3.jpg" class="my-auto" alt="Mirror Edge">
|
<img src="_content/TIAMSharedUI/images/restaurant_3.jpg" class="my-auto" alt="Mirror Edge">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6 my-3">
|
||||||
<div class="small mb-1">Authentic</div>
|
<div class="small mb-1">Authentic</div>
|
||||||
<h1 class="display-5 fw-bolder">Mandragóra Restaurant</h1>
|
<h1 class="display-5 fw-bolder">Mandragóra Restaurant</h1>
|
||||||
<div class="fs-5 mb-5">
|
<div class="fs-5 mb-5">
|
||||||
|
|
@ -41,19 +51,40 @@
|
||||||
</div>
|
</div>
|
||||||
<p class="lead">A nice Hungarian restaurant that offers a delightful culinary journey with traditional dishes like goulash, stuffed peppers, and chimney cake, in a cozy, welcoming atmosphere.</p>
|
<p class="lead">A nice Hungarian restaurant that offers a delightful culinary journey with traditional dishes like goulash, stuffed peppers, and chimney cake, in a cozy, welcoming atmosphere.</p>
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
<input class="form-control text-center me-3" id="inputQuantity" type="num" value="1" style="max-width: 3rem" />
|
<button class="btn btn-primary" @onclick="next">Book a transfer now</button>
|
||||||
<button class="btn btn-primary flex-shrink-0" type="button">
|
</div>
|
||||||
<i class="bi-cart-fill me-1"></i>
|
</div>
|
||||||
Add to cart
|
<div class="col-md-6 my-3">
|
||||||
</button>
|
<h3> Offer: </h3>
|
||||||
|
<p>Traditional Hungarian cuisine</p>
|
||||||
|
<embed class="bg-light" src="https://newyorkrestaurant.co.za/new-york-menu.pdf" style="width:100%; height:45vh;"/>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 my-3">
|
||||||
|
<h3> Location: </h3>
|
||||||
|
<p>Kacsa u. 13, Budapest</p>
|
||||||
|
<div class="embed-responsive">
|
||||||
|
|
||||||
|
|
||||||
|
@{
|
||||||
|
var aKey = "AIzaSyAyEYJkpt2KDa3SJ34UNWO4-dNOJKmUtF8";
|
||||||
|
var gUrl = "https://www.google.com/maps/embed/v1/place?key=" + aKey + "&q=Space+Needle,Kacsa+utca+13,Budapest+HU";
|
||||||
|
}
|
||||||
|
<iframe class="embed-responsive-item"
|
||||||
|
loading="lazy"
|
||||||
|
width="100%"
|
||||||
|
style="height: 45vh; border-radius: 15px;"
|
||||||
|
referrerpolicy="no-referrer-when-downgrade"
|
||||||
|
src=@gUrl>
|
||||||
|
</iframe>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<!-- Related items section-->
|
|
||||||
<FeaturedItems ItemType="1"></FeaturedItems>
|
|
||||||
|
|
||||||
|
</section>
|
||||||
|
<!-- Related items section-->
|
||||||
|
<FeaturedItems ItemType="2"></FeaturedItems>
|
||||||
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
|
@ -76,5 +107,8 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
public void next() => navManager.NavigateTo("/transfer");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,80 @@
|
||||||
|
@page "/tourferdetails"
|
||||||
|
<PageTitle>Tour order details</PageTitle>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="text-center m-5">
|
||||||
|
<h1>Transfer details</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<div class="container py-1">
|
||||||
|
<div class="row d-flex justify-content-center align-items-center h-100">
|
||||||
|
<div class="col-md-10 col-lg-8 col-xl-6">
|
||||||
|
<div class="card card-admin card-stepper" style="border-radius: 16px;">
|
||||||
|
<div class="card-header py-2 px-4">
|
||||||
|
<div class="d-flex justify-content-between align-items-center">
|
||||||
|
<div>
|
||||||
|
<span class="fw-bold text-body">ID: 1222528743</span>
|
||||||
|
<p class="text-muted">12,March 2019</p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h6 class="mb-0"> <a href="#">All orders</a> </h6>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body p-4">
|
||||||
|
<div class="d-flex flex-row mb-4 pb-2">
|
||||||
|
<div class="flex-fill">
|
||||||
|
<h5 class="bold">Passenger: +1 123 12345678</h5>
|
||||||
|
<p class="text-muted"> Budapest, Dózsa György út 35, 1146</p>
|
||||||
|
<h4>27th November, 2023</h4>
|
||||||
|
<h4 class="mb-3 text-muted"> 10:00 AM</h4>
|
||||||
|
<hr />
|
||||||
|
<h3>POX-382</h3>
|
||||||
|
<p class="text-muted"> Silver, Toyota, Prius</p>
|
||||||
|
<hr />
|
||||||
|
<p class="text-muted">Status on: <span class="text-body">11:30pm, Today</span></p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<!--img class="align-self-center img-fluid"
|
||||||
|
src="https://mdbcdn.b-cdn.net/img/Photos/Horizontal/E-commerce/Products/6.webp" width="250"-->
|
||||||
|
</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;">FINISHED</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="d-flex flex-row mb-4 pb-2">
|
||||||
|
<h4> $ 35 <span class="small text-muted"> via (COD) </span></h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer p-4">
|
||||||
|
<div class="d-flex justify-content-between">
|
||||||
|
<h5 class="fw-normal mb-0"><a href="#!">Contact driver</a></h5>
|
||||||
|
<div class="border-start h-100"></div>
|
||||||
|
<h5 class="fw-normal mb-0"><a href="#!">Cancel</a></h5>
|
||||||
|
<div class="border-start h-100"></div>
|
||||||
|
<h5 class="fw-normal mb-0"><a href="#!">Modify</a></h5>
|
||||||
|
<div class="border-start h-100"></div>
|
||||||
|
<h5 class="fw-normal mb-0"><a href="#!">Pay</a></h5>
|
||||||
|
<div class="border-start h-100"></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
@code {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.AspNetCore.Components;
|
|
||||||
using TIAM.Entities.TransferDestinations;
|
|
||||||
using TIAMWebApp.Shared.Application.Models;
|
|
||||||
|
|
||||||
namespace EmployeePortal.Client.Components
|
|
||||||
{
|
|
||||||
public partial class Transfer : ComponentBase
|
|
||||||
{
|
|
||||||
|
|
||||||
public string DestinationId
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
set;
|
|
||||||
}
|
|
||||||
protected TransferDestination TDestinations
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
set;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
@page "/transfer"
|
@page "/transfer"
|
||||||
@using TIAMSharedUI.Shared
|
@using TIAMSharedUI.Shared
|
||||||
@using TIAMWebApp.Shared.Application.Interfaces
|
@inject NavigationManager navManager
|
||||||
@inject ITransferDataService transferDataService
|
|
||||||
|
|
||||||
<PageTitle>Transfer</PageTitle>
|
<PageTitle>Transfer</PageTitle>
|
||||||
|
|
||||||
<div class="text-center m-5">
|
<div class="text-center m-5">
|
||||||
|
|
@ -11,15 +9,17 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<SliderItemSelector @ref="slider" OnSliderChanged=@DisplaySlideData></SliderItemSelector>
|
<SliderItemSelector @ref="slider" OnSliderChanged=@DisplaySlideData TextChanged="@changeDest"></SliderItemSelector>
|
||||||
|
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<div class="text-center name">
|
|
||||||
@message
|
|
||||||
</div>
|
|
||||||
<form class="p-3 mt-2">
|
<form class="p-3 mt-2">
|
||||||
<div class="form-field d-flex align-items-center">
|
<div class="form-field d-flex align-items-center">
|
||||||
<input type="tel" name="phone" id="phone" placeholder="Pick up address">
|
<input value=@message2 type="text" name="DestinationAddress" id="destinationAddress" placeholder="Destination" disabled>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-field d-flex align-items-center">
|
||||||
|
<input type="tel" name="phone" id="phone" placeholder="Phone number">
|
||||||
</div>
|
</div>
|
||||||
<div class="form-field d-flex align-items-center">
|
<div class="form-field d-flex align-items-center">
|
||||||
<input type="text" name="address" id="address" placeholder="Pick up address">
|
<input type="text" name="address" id="address" placeholder="Pick up address">
|
||||||
|
|
@ -43,11 +43,17 @@
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
SliderItemSelector slider;
|
SliderItemSelector slider;
|
||||||
public string message;
|
public string message;
|
||||||
|
public string message2;
|
||||||
|
public List<string> destinations = new List<string>() {"Liszt Ferenc Airport", "Buda Castle", "Chain Bridge"};
|
||||||
|
|
||||||
void DisplaySlideData()
|
void DisplaySlideData()
|
||||||
{
|
{
|
||||||
message = " Target destination is " + slider.SliderElementId.ToString();
|
if(slider.SliderElementId != 0)
|
||||||
|
{
|
||||||
|
message2 = destinations[slider.SliderElementId-1];
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*protected override void OnAfterRender(bool isFirst)
|
/*protected override void OnAfterRender(bool isFirst)
|
||||||
|
|
@ -55,16 +61,13 @@
|
||||||
message = " Target destination is " + slider.SliderElementId.ToString();
|
message = " Target destination is " + slider.SliderElementId.ToString();
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
public void next()
|
void changeDest(string dest)
|
||||||
{
|
{
|
||||||
|
message2 = dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
public void next() => navManager.NavigateTo("/transfer2");
|
||||||
{
|
|
||||||
var suppliers = await transferDataService.GetDestinationsAsync();
|
|
||||||
Console.WriteLine(string.Join("; ", suppliers.Select(x => x.Name)));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -175,8 +175,8 @@
|
||||||
height: 40px;
|
height: 40px;
|
||||||
/*background-color: #03A9F4;*/
|
/*background-color: #03A9F4;*/
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 25px;
|
border-radius: 15px;
|
||||||
box-shadow: 3px 3px 3px #b1b1b1, -3px -3px 3px #fff;
|
/*box-shadow: 3px 3px 3px #b1b1b1, -3px -3px 3px #fff;*/
|
||||||
letter-spacing: 1.3px;
|
letter-spacing: 1.3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
@page "/transfer2"
|
||||||
|
<PageTitle>Transferdetails</PageTitle>
|
||||||
|
@inject NavigationManager navManager
|
||||||
|
|
||||||
|
<div class="text-center m-5">
|
||||||
|
<h1>Transfer summary</h1>
|
||||||
|
<h2 style="font-size:small">Please review your transfer!</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<div class="container py-1">
|
||||||
|
<div class="row d-flex justify-content-center align-items-center h-100">
|
||||||
|
<div class="col-md-10 col-lg-8 col-xl-6">
|
||||||
|
<div class="card card-admin card-stepper" style="border-radius: 16px;">
|
||||||
|
<div class="card-header py-2 px-4">
|
||||||
|
<div class="d-flex justify-content-between align-items-center">
|
||||||
|
<div>
|
||||||
|
<h4>27th November, 2023, 10:00 AM</h4>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body p-4">
|
||||||
|
<div class="d-flex flex-row mb-4 pb-2">
|
||||||
|
<div class="flex-fill">
|
||||||
|
<p class="text-muted"> Passenger info</p>
|
||||||
|
<h5 class="bold"> +1 123 12345678</h5>
|
||||||
|
<hr/>
|
||||||
|
<p class="text-muted">Destination</p>
|
||||||
|
<h5 class="bold">Liszt Ferenc Airport</h5>
|
||||||
|
<hr />
|
||||||
|
<p class="text-muted"> Pick up address</p>
|
||||||
|
<h5> Budapest, Dózsa György út 35, 1146</h5>
|
||||||
|
<hr />
|
||||||
|
<h5>3 persons</h5>
|
||||||
|
<p class="text-muted"> Silver, Toyota, Prius</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<!--img class="align-self-center img-fluid"
|
||||||
|
src="https://mdbcdn.b-cdn.net/img/Photos/Horizontal/E-commerce/Products/6.webp" width="250"-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="d-flex flex-row mb-4 pb-2">
|
||||||
|
<h4> $ 35 <span class="small text-muted"> via (COD) </span></h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer p-4">
|
||||||
|
<div class="d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a class="btn btn-danger" href="#!">Cancel</a>
|
||||||
|
<div class="border-start h-100"></div>
|
||||||
|
<a class="btn btn-warning" @onclick="previous">Modify</a>
|
||||||
|
<div class="border-start h-100"></div>
|
||||||
|
<a class="btn btn-success" href="#!">Finalize</a>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
@code {
|
||||||
|
public void next() => navManager.NavigateTo("/transfer");
|
||||||
|
public void previous() => navManager.NavigateTo("/transfer3");
|
||||||
|
}
|
||||||
|
|
@ -4,36 +4,35 @@
|
||||||
|
|
||||||
<div class="text-center m-5">
|
<div class="text-center m-5">
|
||||||
<h1>Transfer details</h1>
|
<h1>Transfer details</h1>
|
||||||
<h2 style="font-size:small">Swipe to select your destination!</h2>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<div class="container py-1">
|
<div class="container py-1">
|
||||||
<div class="row d-flex justify-content-center align-items-center h-100">
|
<div class="row d-flex justify-content-center align-items-center h-100">
|
||||||
<div class="col-md-10 col-lg-8 col-xl-6">
|
<div class="col-md-10 col-lg-8 col-xl-6">
|
||||||
<div class="card card-stepper" style="border-radius: 16px;">
|
<div class="card card-admin card-stepper" style="border-radius: 16px;">
|
||||||
<div class="card-header p-4">
|
<div class="card-header py-2 px-4">
|
||||||
<div class="d-flex justify-content-between align-items-center">
|
<div class="d-flex justify-content-between align-items-center">
|
||||||
<div>
|
<div>
|
||||||
<p class="text-muted mb-2"> Order ID <span class="fw-bold text-body">1222528743</span></p>
|
<span class="fw-bold text-body">ID: 1222528743</span>
|
||||||
<p class="text-muted mb-0"> Place On <span class="fw-bold text-body">12,March 2019</span> </p>
|
<p class="text-muted">12,March 2019</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h6 class="mb-0"> <a href="#">View Details</a> </h6>
|
<h6 class="mb-0"> <a href="#">All orders</a> </h6>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body p-4">
|
<div class="card-body p-4">
|
||||||
<div class="d-flex flex-row mb-4 pb-2">
|
<div class="d-flex flex-row mb-4 pb-2">
|
||||||
<div class="flex-fill">
|
<div class="flex-fill">
|
||||||
<h5 class="bold">Museum of Ethnography</h5>
|
<h5 class="bold">Passenger: +1 123 12345678</h5>
|
||||||
<p class="text-muted"> Budapest, Dózsa György út 35, 1146</p>
|
<p class="text-muted"> Budapest, Dózsa György út 35, 1146</p>
|
||||||
<h4>27th November, 2023</h4>
|
<h4>27th November, 2023</h4>
|
||||||
<h4 class="mb-3 text-muted"> 10:00 AM</h4>
|
<h4 class="mb-3 text-muted"> 10:00 AM</h4>
|
||||||
<hr class="solid mb-3">
|
<hr />
|
||||||
<h3>POX-382</h3>
|
<h3>POX-382</h3>
|
||||||
<p class="text-muted"> Silver, Toyota, Prius</p>
|
<p class="text-muted"> Silver, Toyota, Prius</p>
|
||||||
<hr class="solid mb-3">
|
<hr />
|
||||||
<p class="text-muted">Status on: <span class="text-body">11:30pm, Today</span></p>
|
<p class="text-muted">Status on: <span class="text-body">11:30pm, Today</span></p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,8 +1,12 @@
|
||||||
@inherits LayoutComponentBase
|
@inherits LayoutComponentBase
|
||||||
@using TIAMSharedUI.Shared.User
|
@using TIAMSharedUI.Shared.User
|
||||||
|
@using TIAMWebApp.Shared.Application.Interfaces
|
||||||
|
@using TIAMWebApp.Shared.Application.Models;
|
||||||
|
@inject NavigationManager NavigationManager
|
||||||
|
@inject IUserDataService userDataService
|
||||||
<div class="page">
|
<div class="page">
|
||||||
<div class="my-sidebar">
|
<div class="my-sidebar">
|
||||||
|
|
||||||
<AdminNavMenu />
|
<AdminNavMenu />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -10,7 +14,30 @@
|
||||||
|
|
||||||
|
|
||||||
<article class="content">
|
<article class="content">
|
||||||
|
@{
|
||||||
|
if (isUserLoggedIn)
|
||||||
|
{
|
||||||
|
<TopRow></TopRow>
|
||||||
|
}
|
||||||
|
}
|
||||||
@Body
|
@Body
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
|
||||||
|
bool isUserLoggedIn;
|
||||||
|
int userType = 0;
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
var user = await userDataService.IsLoggedInAsync();
|
||||||
|
isUserLoggedIn = user.IsLoggedIn;
|
||||||
|
|
||||||
|
if (!isUserLoggedIn)
|
||||||
|
{
|
||||||
|
NavigationManager.NavigateTo("/login");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
@inherits LayoutComponentBase
|
@inherits LayoutComponentBase
|
||||||
|
@using TIAMWebApp.Shared.Application.Interfaces
|
||||||
|
@inject IUserDataService UserDataService;
|
||||||
|
@inject IJSRuntime jsRuntime
|
||||||
|
|
||||||
<div class="page">
|
<div class="page">
|
||||||
<div class="my-sidebar">
|
<div class="my-sidebar">
|
||||||
|
|
@ -9,7 +12,47 @@
|
||||||
|
|
||||||
|
|
||||||
<article class="content">
|
<article class="content">
|
||||||
|
@{
|
||||||
|
if(isUserLoggedIn)
|
||||||
|
{
|
||||||
|
<TopRow></TopRow>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Body
|
@Body
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
|
||||||
|
bool isUserLoggedIn;
|
||||||
|
int userType = 0;
|
||||||
|
int currentUserRole = 249;
|
||||||
|
//add a new dictionary for the role types
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
var user = await UserDataService.IsLoggedInAsync();
|
||||||
|
isUserLoggedIn = user.IsLoggedIn;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnAfterRender(bool isFirst)
|
||||||
|
{
|
||||||
|
LogToBrowserConsole("0 ");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void LogToBrowserConsole(string message)
|
||||||
|
{
|
||||||
|
jsRuntime.InvokeVoidAsync("console.log", message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
.nav-item ::deep a {
|
.nav-item ::deep a {
|
||||||
color: #58457b;
|
color: #58457b;
|
||||||
border-radius: 25px;
|
border-radius: 15px;
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,41 @@
|
||||||
|
|
||||||
<div id="owl-selector" class="owl-carousel owl-theme" style="padding-left: 20px; padding-right:20px;">
|
<style>
|
||||||
|
.underlineInput{
|
||||||
|
padding-left: 10px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
border-bottom: 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.underlineInput > input {
|
||||||
|
padding-left: 10px;
|
||||||
|
|
||||||
|
border-bottom: 1px solid;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div id="owl-selector" class="owl-carousel owl-theme" style="padding-left: 20px; padding-right:20px; border-radius: 15px;">
|
||||||
|
<div class="item" id="0" style="background-color: rgba(0,0,0,0.1)">
|
||||||
|
<div class="item-desc text-center pt-3">
|
||||||
|
<h3>Please type an address or swipe to select from preset destinations!</h3>
|
||||||
|
<div class="wrapper" style="max-width: 800px; margin:0 auto">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<DxTextBox
|
||||||
|
TextChanged="@((newValue) => OnTextChanged(newValue))"
|
||||||
|
BindValueMode="@BindValueMode"
|
||||||
|
InputDelay="@InputDelay"
|
||||||
|
NullText="Type text..."
|
||||||
|
CssClass="cw-320 form-field underlineInput" />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="demo-text cw-320 mt-2">
|
||||||
|
Text: <b>@TextValue</b>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="item" id="1" style="background-image: url(https://images.unsplash.com/photo-1551867633-194f125bddfa?auto=format&fit=crop&q=80&w=2070&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D); background-position: center;">
|
<div class="item" id="1" style="background-image: url(https://images.unsplash.com/photo-1551867633-194f125bddfa?auto=format&fit=crop&q=80&w=2070&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D); background-position: center;">
|
||||||
<div class="item-desc text-center pt-3">
|
<div class="item-desc text-center pt-3">
|
||||||
<h3>Liszt Ferenc Airport</h3>
|
<h3>Liszt Ferenc Airport</h3>
|
||||||
|
|
@ -20,12 +56,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form>
|
|
||||||
|
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
|
@ -51,20 +81,20 @@
|
||||||
|
|
||||||
|
|
||||||
owl.owlCarousel({
|
owl.owlCarousel({
|
||||||
|
|
||||||
navigation: true, // Show next and prev buttons
|
navigation: true, // Show next and prev buttons
|
||||||
|
loop: true,
|
||||||
slideSpeed: 300,
|
slideSpeed: 300,
|
||||||
paginationSpeed: 400,
|
paginationSpeed: 400,
|
||||||
|
|
||||||
items: 1,
|
items: 1,
|
||||||
itemsDesktop: false,
|
itemsDesktop: false,
|
||||||
itemsDesktopSmall: false,
|
itemsDesktopSmall: false,
|
||||||
itemsTablet: false,
|
itemsTablet: false,
|
||||||
itemsMobile: false
|
itemsMobile: false
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
owl.trigger("to.owl.carousel", owl.maximum)
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function CStoJSCall(dotNetObjRef) {
|
function CStoJSCall(dotNetObjRef) {
|
||||||
|
|
@ -94,11 +124,19 @@
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
|
||||||
|
public string TextValue { get; set; } = null;
|
||||||
|
int? InputDelay { get; set; } = 3500;
|
||||||
|
BindValueMode BindValueMode { get; set; } = BindValueMode.OnInput;
|
||||||
|
bool BindDelayEnabled { get { return BindValueMode == BindValueMode.OnDelayedInput; } }
|
||||||
|
[Parameter]
|
||||||
|
public EventCallback<string> TextChanged { get; set; }
|
||||||
|
|
||||||
public int SliderElementId = 0;
|
public int SliderElementId = 0;
|
||||||
string content = "";
|
string content = "";
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public EventCallback<int> OnSliderChanged { get; set; }
|
public EventCallback<int> OnSliderChanged { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[Inject]
|
[Inject]
|
||||||
public IJSRuntime JSRuntime { get; set; }
|
public IJSRuntime JSRuntime { get; set; }
|
||||||
|
|
||||||
|
|
@ -121,7 +159,13 @@
|
||||||
SliderElementId = Convert.ToInt32(itemId);
|
SliderElementId = Convert.ToInt32(itemId);
|
||||||
OnSliderChanged.InvokeAsync(Convert.ToInt32(itemId));
|
OnSliderChanged.InvokeAsync(Convert.ToInt32(itemId));
|
||||||
|
|
||||||
StateHasChanged();
|
/*StateHasChanged();*/
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnTextChanged(string newValue)
|
||||||
|
{
|
||||||
|
TextValue = newValue;
|
||||||
|
TextChanged.InvokeAsync(newValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
|
|
||||||
.nav-item ::deep a {
|
.nav-item ::deep a {
|
||||||
color: #58457b;
|
color: #58457b;
|
||||||
border-radius: 25px;
|
border-radius: 15px;
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
using DevExpress.Blazor;
|
||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using Microsoft.AspNetCore.Components.Rendering;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace TIAMSharedUI.Shared.User
|
||||||
|
{
|
||||||
|
|
||||||
|
public class TiamGrid<T> : ComponentBase
|
||||||
|
{
|
||||||
|
[Parameter]
|
||||||
|
public IEnumerable<T> Data { get; set; }
|
||||||
|
[Parameter]
|
||||||
|
public RenderFragment ChildContent { get; set; }
|
||||||
|
[Parameter]
|
||||||
|
public Dictionary<string, object> Settings { get; set; }
|
||||||
|
protected override void BuildRenderTree(RenderTreeBuilder builder)
|
||||||
|
{
|
||||||
|
builder.OpenComponent<DxGrid>(0);
|
||||||
|
builder.AddAttribute(1, "Data", (object)Data);
|
||||||
|
builder.AddAttribute(2, "Columns", ChildContent);
|
||||||
|
if (Settings != null)
|
||||||
|
{
|
||||||
|
builder.AddMultipleAttributes(3, Settings);
|
||||||
|
//OR
|
||||||
|
//int seq = 3;
|
||||||
|
//foreach (var item in Settings) {
|
||||||
|
// builder.AddAttribute(seq++, item.Key, item.Value);
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
builder.CloseComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
@page "/dev/tiamgridexample"
|
||||||
|
|
||||||
|
@using TIAMWebApp.Shared.Application.Interfaces;
|
||||||
|
@using TIAMWebApp.Shared.Application.Models;
|
||||||
|
@inject IWeatherForecastService WeatherForecastService;
|
||||||
|
|
||||||
|
<TiamGrid Data="Forecasts" Settings="InputAttributes">
|
||||||
|
<DxGridCommandColumn Width="150px" />
|
||||||
|
<DxGridDataColumn FieldName="@nameof(WeatherForecast.Date)"></DxGridDataColumn>
|
||||||
|
<DxGridDataColumn FieldName="@nameof(WeatherForecast.TemperatureC)"></DxGridDataColumn>
|
||||||
|
<DxGridDataColumn FieldName="@nameof(WeatherForecast.TemperatureF)"></DxGridDataColumn>
|
||||||
|
<DxGridDataColumn FieldName="@nameof(WeatherForecast.Summary)"></DxGridDataColumn>
|
||||||
|
</TiamGrid>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
|
||||||
|
public List<WeatherForecast>? Forecasts { get; set; }
|
||||||
|
public Dictionary<string, object> InputAttributes { get; set; } =
|
||||||
|
new Dictionary<string, object>() {
|
||||||
|
{ "PageSize", 5 },
|
||||||
|
{ "ShowFilterRow", false },
|
||||||
|
{ "PagerVisible" , false },
|
||||||
|
{ "ShowGroupPanel", true }
|
||||||
|
};
|
||||||
|
protected override async Task OnInitializedAsync() {
|
||||||
|
base.OnInitialized();
|
||||||
|
WeatherForecast[]? data = await WeatherForecastService.GetWeatherForecastAsync();
|
||||||
|
Forecasts = data.ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -30,11 +30,17 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
background-color: #475bd6;
|
background-color: #475bd6;
|
||||||
|
border-radius: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-success, .btn-warning, .btn-danger {
|
||||||
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-secondary {
|
.btn-secondary {
|
||||||
background-color: #f7279f;
|
background-color: #f7279f;
|
||||||
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-outline .btn-outline-dark {
|
.btn-outline .btn-outline-dark {
|
||||||
|
|
@ -68,18 +74,28 @@ select {
|
||||||
.dxbl-text-edit {
|
.dxbl-text-edit {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
padding-left: 10px;
|
/*padding-left: 10px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
box-shadow: inset 3px 3px 3px #cbced1, inset -3px -3px 3px #fff;
|
box-shadow: inset 3px 3px 3px #cbced1, inset -3px -3px 3px #fff;*/
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dxbl-text-edit:focus, .dxbl-text-edit:focus-within {
|
||||||
|
border-color: transparent;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
.dxbl-text-edit-input {
|
.dxbl-text-edit-input {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
margin:10px;
|
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dxbl-text-edit-input:focus, .dxbl-text-edit-input:focus-within {
|
||||||
|
border-color: transparent;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
/*my blazor overrides end*/
|
/*my blazor overrides end*/
|
||||||
.custom-select {
|
.custom-select {
|
||||||
padding: 10px 15px 10px 10px !important;
|
padding: 10px 15px 10px 10px !important;
|
||||||
|
|
@ -253,7 +269,7 @@ select:focus-visible {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
/*background-color: #03A9F4;*/
|
/*background-color: #03A9F4;*/
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 25px;
|
border-radius: 15px;
|
||||||
/*box-shadow: 3px 3px 3px #b1b1b1, -3px -3px 3px #fff;*/
|
/*box-shadow: 3px 3px 3px #b1b1b1, -3px -3px 3px #fff;*/
|
||||||
letter-spacing: 1.3px;
|
letter-spacing: 1.3px;
|
||||||
}
|
}
|
||||||
|
|
@ -324,6 +340,8 @@ select:focus-visible {
|
||||||
border-radius: 15px;*/
|
border-radius: 15px;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*End Hero Carousel*/
|
/*End Hero Carousel*/
|
||||||
|
|
||||||
/*Admin*/
|
/*Admin*/
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ builder.Services.AddScoped<IWeatherForecastService, WeatherForecastService>();
|
||||||
builder.Services.AddScoped<ITransferDataService, TransferDataService>();
|
builder.Services.AddScoped<ITransferDataService, TransferDataService>();
|
||||||
builder.Services.AddScoped<IPopulationStructureDataProvider, PopulationStructureDataProvider>();
|
builder.Services.AddScoped<IPopulationStructureDataProvider, PopulationStructureDataProvider>();
|
||||||
builder.Services.AddScoped<ISupplierService, SupplierService>();
|
builder.Services.AddScoped<ISupplierService, SupplierService>();
|
||||||
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
|
builder.Services.AddSingleton<IUserDataService, UserDataService>();
|
||||||
|
builder.Services.AddSingleton(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
|
||||||
builder.Services.AddDevExpressBlazor(configure => configure.BootstrapVersion = BootstrapVersion.v5);
|
builder.Services.AddDevExpressBlazor(configure => configure.BootstrapVersion = BootstrapVersion.v5);
|
||||||
await builder.Build().RunAsync();
|
await builder.Build().RunAsync();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
using System.Net.Http.Json;
|
||||||
|
using TIAMWebApp.Shared.Application.Interfaces;
|
||||||
|
using TIAMWebApp.Shared.Application.Models;
|
||||||
|
using static TIAMSharedUI.Shared.MainLayout;
|
||||||
|
|
||||||
|
namespace TIAMWebApp.Client.Services
|
||||||
|
{
|
||||||
|
public class UserDataService : IUserDataService
|
||||||
|
{
|
||||||
|
private readonly HttpClient http;
|
||||||
|
public User? User { get; set; } = new User();
|
||||||
|
public Dictionary<int, string> userRoleTypes { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
||||||
|
|
||||||
|
public UserDataService(HttpClient http)
|
||||||
|
{
|
||||||
|
this.http = http;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<RoleType> roleTypes = new List<RoleType>
|
||||||
|
{
|
||||||
|
new RoleType { Id = 1, RoleName = "Login" },
|
||||||
|
new RoleType { Id = 2, RoleName = "Member" },
|
||||||
|
new RoleType { Id = 4, RoleName = "Vip" },
|
||||||
|
new RoleType { Id = 8, RoleName = "Uvip" },
|
||||||
|
new RoleType { Id = 16, RoleName = "Volunteer" },
|
||||||
|
new RoleType { Id = 32, RoleName = "Guide" },
|
||||||
|
new RoleType { Id = 64, RoleName = "Protector" },
|
||||||
|
new RoleType { Id = 128, RoleName = "Admin" },
|
||||||
|
new RoleType { Id = 256, RoleName = "SuperAdmin" },
|
||||||
|
new RoleType { Id = 512, RoleName = "God" }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
public async Task<User> IsLoggedInAsync()
|
||||||
|
{
|
||||||
|
if (User == null)
|
||||||
|
{
|
||||||
|
User = new User();
|
||||||
|
User.IsLoggedIn = false;
|
||||||
|
User.UserType = UserType.User;
|
||||||
|
return User;
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return User;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<User> AuthorizeUserAsync(int userType)
|
||||||
|
{
|
||||||
|
if (User == null)
|
||||||
|
{
|
||||||
|
User = new User();
|
||||||
|
}
|
||||||
|
//simply return true for now
|
||||||
|
User.IsLoggedIn = true;
|
||||||
|
User.UserType = (UserType)userType;
|
||||||
|
return User;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task<Dictionary<int, string>> GetUserRolesAsync(User user)
|
||||||
|
{
|
||||||
|
|
||||||
|
//get the user's roles
|
||||||
|
int role = User.UserRoles;
|
||||||
|
|
||||||
|
foreach (var roleType in roleTypes)
|
||||||
|
{
|
||||||
|
if ((role & roleType.Id) == roleType.Id)
|
||||||
|
{
|
||||||
|
|
||||||
|
//add the role to the dictionary
|
||||||
|
userRoleTypes.Add(roleType.Id, roleType.RoleName);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Task.FromResult(userRoleTypes);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -15,7 +15,8 @@
|
||||||
<link href="_content/TIAMSharedUI/css/app.css" rel="stylesheet" />
|
<link href="_content/TIAMSharedUI/css/app.css" rel="stylesheet" />
|
||||||
<link href="_content/TIAMSharedUI/css/TourIAm.css" rel="stylesheet" />
|
<link href="_content/TIAMSharedUI/css/TourIAm.css" rel="stylesheet" />
|
||||||
<link rel="icon" type="image/png" href="_content/TIAMSharedUI/favicon.png" />
|
<link rel="icon" type="image/png" href="_content/TIAMSharedUI/favicon.png" />
|
||||||
<link href="TIAMWebApp.Client.styles.css" rel="stylesheet" />
|
<link href="TIAMWebApp.Client.styles.css" rel="stylesheet" />
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
@ -33,6 +34,7 @@
|
||||||
<a class="dismiss">🗙</a>
|
<a class="dismiss">🗙</a>
|
||||||
</div>
|
</div>
|
||||||
<script src="_framework/blazor.webassembly.js"></script>
|
<script src="_framework/blazor.webassembly.js"></script>
|
||||||
|
<script src="https://ajax.googleapis.com/ajax/libs/cesiumjs/1.105/Build/Cesium/Cesium.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>
|
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js" integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js" integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,138 @@
|
||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using GoogleApi.Entities.Common;
|
||||||
|
using GoogleApi.Entities.Common.Enums;
|
||||||
|
using GoogleApi.Entities.Maps.Common;
|
||||||
|
using GoogleApi.Entities.Maps.Common.Enums;
|
||||||
|
using GoogleApi.Entities.Maps.DistanceMatrix.Request;
|
||||||
|
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using System.Reflection.Metadata;
|
||||||
|
using TIAMWebApp.Shared.Application.Models;
|
||||||
|
using static DevExpress.XtraPrinting.Native.ExportOptionsPropertiesNames;
|
||||||
|
using System.Net;
|
||||||
|
using GoogleApi.Entities.Maps.DistanceMatrix.Response;
|
||||||
|
|
||||||
|
namespace TIAMWebApp.Server.Controllers
|
||||||
|
{
|
||||||
|
[ApiController]
|
||||||
|
[Route("[controller]")]
|
||||||
|
public class GoogleAPIController : ControllerBase
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private static readonly TripInfo[] Trips = new TripInfo[]
|
||||||
|
{
|
||||||
|
|
||||||
|
new TripInfo(47.511887f, 19.031920f, 47.510769f, 19.081422f ),
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
private readonly ILogger<SupplierAPIController> _logger;
|
||||||
|
|
||||||
|
public GoogleAPIController(ILogger<SupplierAPIController> logger)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
[Route("GetAddressForCoordinates")]
|
||||||
|
public string GetAddressForCoordinates(TripInfo myTrip)
|
||||||
|
{
|
||||||
|
|
||||||
|
var latitude = Trips[0].StartLatitude; // Example latitude
|
||||||
|
|
||||||
|
var longitude = Trips[0].StartLongitude; // Example longitude
|
||||||
|
Console.WriteLine(latitude);
|
||||||
|
Console.WriteLine(longitude);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
/*var address = locationService.GetAddressFromLatLang(latitude, longitude);
|
||||||
|
Console.WriteLine(address.Address);
|
||||||
|
string myaddress = address.Address;
|
||||||
|
return "myaddress: " + myaddress;*/
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
catch (System.Net.WebException ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Google Maps API Error {0}", ex.Message);
|
||||||
|
return "Google Maps API Error {0}" + ex.Message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
[Route("GetTravelTime")]
|
||||||
|
//public string GetTravelTime(TripInfo)
|
||||||
|
public async Task<string> GetTravelTimeWithGoogleMatrix()
|
||||||
|
{
|
||||||
|
var latitude1 = Trips[0].StartLatitude; // Example latitude
|
||||||
|
|
||||||
|
var longitude1 = Trips[0].StartLongitude; // Example longitude
|
||||||
|
|
||||||
|
var latitude2 = Trips[0].EndLatitude; // Example latitude
|
||||||
|
|
||||||
|
var longitude2 = Trips[0].EndLongitude; // Example longitude
|
||||||
|
|
||||||
|
Console.WriteLine(latitude1);
|
||||||
|
Console.WriteLine(longitude1);
|
||||||
|
Console.WriteLine(latitude2);
|
||||||
|
Console.WriteLine(longitude2);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
var origin1 = new Address("Margit utca 35, Budapest, Budapest, Magyarország");
|
||||||
|
var origin2 = new Address("Nefelejcs utca 18, Budapest, Budapest, Magyarország");
|
||||||
|
var destination1 = new Address("Százados utca 30/a, Budapest, Budapest, Magyarország");
|
||||||
|
var destination2 = new Address("Novoszadek utca 53, Pilisszántó, Pest, Magyarország");
|
||||||
|
DistanceMatrixResponse? response = null;
|
||||||
|
|
||||||
|
//var response = await GoogleMaps.DistanceMatrix.QueryAsync(request);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var request = new DistanceMatrixRequest
|
||||||
|
{
|
||||||
|
Key = "AIzaSyAyEYJkpt2KDa3SJ34UNWO4-dNOJKmUtF8",
|
||||||
|
Origins = new[]
|
||||||
|
{
|
||||||
|
new LocationEx(origin1),
|
||||||
|
new LocationEx(origin2)
|
||||||
|
},
|
||||||
|
Destinations = new[]
|
||||||
|
{
|
||||||
|
new LocationEx(destination1),
|
||||||
|
new LocationEx(destination2)
|
||||||
|
},
|
||||||
|
TravelMode = TravelMode.Driving,
|
||||||
|
};
|
||||||
|
|
||||||
|
response = await GoogleApi.GoogleMaps.DistanceMatrix.QueryAsync(request);
|
||||||
|
return response.RawJson;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
Console.Write("Errorcode: {0}", (int)response.Status);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return "";
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (WebException ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Google Maps API Error {0}", ex.Message);
|
||||||
|
return "Google Maps API Error {0}" + ex.Message;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -10,7 +10,7 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
private static readonly string[] Summaries = new[]
|
private static readonly string[] Summaries = new[]
|
||||||
{
|
{
|
||||||
"Freezing", "Bracing", "Kurvahideg", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
|
"Freezing", "Bracing", "Kurvahideg", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly ILogger<WeatherForecastAPIController> _logger;
|
private readonly ILogger<WeatherForecastAPIController> _logger;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||||
|
-->
|
||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<DeleteExistingFiles>false</DeleteExistingFiles>
|
||||||
|
<ExcludeApp_Data>false</ExcludeApp_Data>
|
||||||
|
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
|
||||||
|
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
|
||||||
|
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||||
|
<PublishProvider>FileSystem</PublishProvider>
|
||||||
|
<PublishUrl>C:\REPOS\AYCODE\Publish\Server</PublishUrl>
|
||||||
|
<WebPublishMethod>FileSystem</WebPublishMethod>
|
||||||
|
<_TargetId>Folder</_TargetId>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<PackageReference Include="GoogleApi" Version="5.2.4" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="7.0.10" />
|
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="7.0.10" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.13" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.13" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,6 @@
|
||||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ActiveDebugProfile>https</ActiveDebugProfile>
|
<ActiveDebugProfile>https</ActiveDebugProfile>
|
||||||
<NameOfLastUsedPublishProfile>C:\MANGOWEB\TourIAmProject\TIAMWebApp\Server\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
|
<NameOfLastUsedPublishProfile>C:\REPOS\AYCODE\source\TourIAm\TIAMWebApp\Server\Properties\PublishProfiles\FolderProfile1.pubxml</NameOfLastUsedPublishProfile>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using TIAMWebApp.Shared.Application.Models;
|
||||||
|
|
||||||
|
namespace TIAMWebApp.Shared.Application.Interfaces
|
||||||
|
{
|
||||||
|
public interface IUserDataService
|
||||||
|
{
|
||||||
|
public User? User { get; set; }
|
||||||
|
public Dictionary<int, string> userRoleTypes { get; set; }
|
||||||
|
|
||||||
|
public Task<User> IsLoggedInAsync();
|
||||||
|
|
||||||
|
public Task<User> AuthorizeUserAsync(int userType);
|
||||||
|
|
||||||
|
public Task<Dictionary<int, string>> GetUserRolesAsync(User user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace TIAMWebApp.Shared.Application.Models
|
||||||
|
{
|
||||||
|
|
||||||
|
public class RoleType
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string? RoleName { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace TIAMWebApp.Shared.Application.Models
|
||||||
|
{
|
||||||
|
public class TripInfo
|
||||||
|
{
|
||||||
|
public float StartLatitude { get; set; }
|
||||||
|
public float StartLongitude { get; set; }
|
||||||
|
public float EndLatitude { get; set; }
|
||||||
|
public float EndLongitude { get; set; }
|
||||||
|
|
||||||
|
public TripInfo(float startLatitude, float startLongitude, float endLatitude, float endLongitude )
|
||||||
|
{
|
||||||
|
StartLatitude = startLatitude;
|
||||||
|
StartLongitude = startLongitude;
|
||||||
|
EndLatitude = endLatitude;
|
||||||
|
EndLongitude = endLongitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace TIAMWebApp.Shared.Application.Models
|
||||||
|
{
|
||||||
|
public class User
|
||||||
|
{
|
||||||
|
public bool IsLoggedIn { get; set; }
|
||||||
|
public UserType UserType { get; set; }
|
||||||
|
public int UserRoles { get; set; }
|
||||||
|
public Dictionary<int, string> UserRolesDictionary { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum UserType
|
||||||
|
{
|
||||||
|
Hotel = 1,
|
||||||
|
Transfer = 2,
|
||||||
|
Guide = 3,
|
||||||
|
Admin = 4,
|
||||||
|
User = 5,
|
||||||
|
Driver= 6
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue