messages, profile, hjkjhkl kjhkjk, bleh shit
This commit is contained in:
parent
c3d2c5014a
commit
9077003778
|
|
@ -1,60 +0,0 @@
|
|||
using System.Net.Http.Json;
|
||||
using TIAM.Entities.TransferDestinations;
|
||||
using TIAMWebApp.Shared.Application.Interfaces;
|
||||
using TIAMWebApp.Shared.Application.Models;
|
||||
using TIAMWebApp.Shared.Application.Models.ClientSide;
|
||||
using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels;
|
||||
|
||||
namespace TIAMMobileApp.Services
|
||||
{
|
||||
|
||||
public class TransferDataService : ITransferDataService
|
||||
{
|
||||
private readonly HttpClient http;
|
||||
|
||||
public TransferDataService(HttpClient http)
|
||||
{
|
||||
this.http = http;
|
||||
}
|
||||
|
||||
public async Task<TransferDestination?> CreateTransferDestination(TransferDestinationWizardModel model)
|
||||
{
|
||||
var url = $"{Setting.BaseUrl}/{APIUrls.CreateTransferDestination}";
|
||||
var response = await http.PostAsJsonAsync(url, model);
|
||||
|
||||
//var result = new WizardProcessorResult();
|
||||
|
||||
//if (response.IsSuccessStatusCode)
|
||||
//{
|
||||
// result.IsSucces = true;
|
||||
// result.ResultJson = await response.Content.ReadAsStringAsync();
|
||||
//}
|
||||
|
||||
if (!response.IsSuccessStatusCode)
|
||||
return null;
|
||||
|
||||
var result = (TransferDestination)(await response.Content.ReadFromJsonAsync(typeof(TransferDestination)))!;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// calls the TransferDataAPI to get the list of destinations
|
||||
public async Task<TransferDestination[]?> GetDestinationsAsync()
|
||||
{
|
||||
var url = $"{Setting.BaseUrl}/{APIUrls.GetTransferDestinations}";
|
||||
return await http.GetFromJsonAsync<TransferDestination[]>(url);
|
||||
}
|
||||
|
||||
public Task<TransferDestination> GetTransferDestinationbyAddressAsync(string destinationId)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public async Task<TransferDestination?> GetTransferDestinationbyCoordinatesAsync(string destinationId)
|
||||
{
|
||||
var url = $"{Setting.BaseUrl}/{APIUrls.GetTransferDestinationByCoordinates}";
|
||||
return await http.GetFromJsonAsync<TransferDestination>(url);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -52,6 +52,8 @@
|
|||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" />
|
||||
<PackageReference Include="SkiaSharp" Version="2.88.7" />
|
||||
<PackageReference Include="SkiaSharp.Views.Desktop.Common" Version="2.88.7" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -11,11 +11,13 @@
|
|||
<link rel="stylesheet" href="_content/TIAMSharedUI/css/bootstrap/bootstrap.min.css" />
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css" rel="stylesheet" />
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.theme.default.css" rel="stylesheet" />
|
||||
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script>
|
||||
<link href="_content/DevExpress.Blazor.Themes/blazing-berry.bs5.min.css" asp-append-version="true" rel="stylesheet" />
|
||||
<link href="_content/TIAMSharedUI/css/app.css" rel="stylesheet" />
|
||||
<link href="TIAMMobileApp.styles.css" rel="stylesheet" />
|
||||
<link href="_content/TIAMSharedUI/css/animate.css" rel="stylesheet" />
|
||||
<link href="_content/TIAMSharedUI/css/TourIAm.css" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
|
|
@ -32,7 +34,7 @@
|
|||
</div>
|
||||
|
||||
<script src="_framework/blazor.webview.js" autostart="false"></script>
|
||||
<script src="_content/BlazorAnimation/blazorAnimationInterop.js"></script>
|
||||
<script src="_content/TIAMSharedUI/blazorAnimationInterop.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
|
||||
<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>
|
||||
|
||||
|
|
|
|||
|
|
@ -420,6 +420,15 @@ namespace TIAM.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Transfer destination object.
|
||||
/// </summary>
|
||||
public static string TransferDestination {
|
||||
get {
|
||||
return ResourceManager.GetString("TransferDestination", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to New destination.
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -237,6 +237,9 @@
|
|||
<data name="Test" xml:space="preserve">
|
||||
<value>Müxik!</value>
|
||||
</data>
|
||||
<data name="TransferDestination" xml:space="preserve">
|
||||
<value>Transzfer uticél</value>
|
||||
</data>
|
||||
<data name="TransferDestinationTitle" xml:space="preserve">
|
||||
<value>Új uticél</value>
|
||||
</data>
|
||||
|
|
|
|||
|
|
@ -237,6 +237,9 @@
|
|||
<data name="Test" xml:space="preserve">
|
||||
<value>This works!</value>
|
||||
</data>
|
||||
<data name="TransferDestination" xml:space="preserve">
|
||||
<value>Transfer destination object</value>
|
||||
</data>
|
||||
<data name="TransferDestinationTitle" xml:space="preserve">
|
||||
<value>New destination</value>
|
||||
</data>
|
||||
|
|
|
|||
|
|
@ -16,10 +16,25 @@
|
|||
@inject HttpClient http;
|
||||
<h3>AppLaunch</h3>
|
||||
|
||||
@{
|
||||
if (string.IsNullOrWhiteSpace(TrackingId))
|
||||
{
|
||||
TrackingId = "";
|
||||
<p>Loading...</p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p>Loading with trackingId: @TrackingId</p>
|
||||
}
|
||||
}
|
||||
|
||||
Loading....
|
||||
|
||||
@code {
|
||||
|
||||
[Parameter]
|
||||
public string TrackingId { get; set; }
|
||||
|
||||
string userDetailsStr;
|
||||
string locale;
|
||||
|
||||
|
|
@ -42,7 +57,7 @@ Loading....
|
|||
|
||||
logToBrowserConsole = new LogToBrowserConsole(JSRuntime);
|
||||
//wait for 5 seconds
|
||||
await Task.Delay(0001);
|
||||
await Task.Delay(1000);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(userDetailsStr))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@ namespace TIAMSharedUI.Pages.Components
|
|||
IsLoggedIn = sessionService.IsAuthenticated;
|
||||
await PopupMessageBox.ShowAsync("AuthComponent", "Initialized", null, null, null, PopupMessageBox.ButtonOk);
|
||||
|
||||
if (await PopupMessageBox.Show("Cancel", "Cancel this stuff",
|
||||
PopupMessageBox.ButtonNo, PopupMessageBox.ButtonYes) == PopupMessageBox.ButtonNo)
|
||||
{
|
||||
//if (await PopupMessageBox.Show("Cancel", "Cancel this stuff",
|
||||
//PopupMessageBox.ButtonNo, PopupMessageBox.ButtonYes) == PopupMessageBox.ButtonNo)
|
||||
//{
|
||||
//Something is cancelled
|
||||
//args.Cancel = true;
|
||||
}
|
||||
//}
|
||||
componentUpdateService.CallRequestRefresh();
|
||||
StateHasChanged();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
@page "/index"
|
||||
@using AyCode.Interfaces.StorageHandlers;
|
||||
@using BlazorAnimation
|
||||
@using Newtonsoft.Json;
|
||||
@using TIAMWebApp.Shared.Application.Interfaces
|
||||
@using TIAMWebApp.Shared.Application.Models.ClientSide;
|
||||
|
|
@ -21,58 +22,61 @@
|
|||
<AuthComponent />
|
||||
<div class="container" style="align-content: center;">
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="text-center">
|
||||
|
||||
<h1>@localizer.GetString("Index.Title")</h1>
|
||||
<h2>@localizer.GetString("Index.Subtitle")</h2>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
|
||||
<NavLink class="nav-link col-md-6 col-lg-4 col-12" href="transfer">
|
||||
<div class="card my-3 my-card text-white">
|
||||
<img class="card-img" src="_content/TIAMSharedUI/images/m_transfer.jpg" alt="Card image">
|
||||
<div class="card-img-overlay">
|
||||
|
||||
<h3 class="card-title">@localizer.GetString("Index.Transfer")</h3>
|
||||
|
||||
<p class="card-text">@localizer.GetString("Index.Transfer.Desc")</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
|
||||
<NavLink class="nav-link col-md-6 col-lg-4 col-12" href="tours">
|
||||
<div class="card my-3 my-card text-white">
|
||||
<img class="card-img" src="_content/TIAMSharedUI/images/m_tour.jpg" alt="Card image">
|
||||
<div class="card-img-overlay">
|
||||
<h3 class="card-title">@localizer.GetString("Index.Tours")</h3>
|
||||
<p class="card-text">@localizer.GetString("Index.Tours.Desc")</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
|
||||
<NavLink class="nav-link col-md-6 col-lg-4 col-12" href="clubcards">
|
||||
<div class="card my-3 my-card text-white">
|
||||
<img class="card-img" src="_content/TIAMSharedUI/images/m_restaurant.jpg" alt="Card image">
|
||||
<div class="card-img-overlay">
|
||||
<h3 class="card-title">@localizer.GetString("Index.Clubcards")</h3>
|
||||
<p class="card-text">@localizer.GetString("Index.Clubcards.Desc")</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
<div class="row">
|
||||
|
||||
<NavLink class="nav-link col-md-6 col-lg-4 col-12" href="transfer">
|
||||
<Animation Effect="@Effect.FadeIn" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||
<div class="card m-3 my-card text-white">
|
||||
<img class="card-img" src="_content/TIAMSharedUI/images/m_transfer.jpg" alt="Card image">
|
||||
<div class="card-img-overlay">
|
||||
|
||||
<h3 class="card-title">@localizer.GetString("Index.Transfer")</h3>
|
||||
|
||||
<p class="card-text">@localizer.GetString("Index.Transfer.Desc")</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</Animation>
|
||||
</NavLink>
|
||||
<NavLink class="nav-link col-md-6 col-lg-4 col-12" href="tours">
|
||||
<Animation Effect="@Effect.FadeIn" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||
<div class="card m-3 my-card text-white">
|
||||
<img class="card-img" src="_content/TIAMSharedUI/images/m_tour.jpg" alt="Card image">
|
||||
<div class="card-img-overlay">
|
||||
<h3 class="card-title">@localizer.GetString("Index.Tours")</h3>
|
||||
<p class="card-text">@localizer.GetString("Index.Tours.Desc")</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</Animation>
|
||||
</NavLink>
|
||||
<NavLink class="nav-link col-md-6 col-lg-4 col-12" href="clubcards">
|
||||
<Animation Effect="@Effect.FadeIn" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||
<div class="card m-3 my-card text-white">
|
||||
<img class="card-img" src="_content/TIAMSharedUI/images/m_restaurant.jpg" alt="Card image">
|
||||
<div class="card-img-overlay">
|
||||
<h3 class="card-title">@localizer.GetString("Index.Clubcards")</h3>
|
||||
<p class="card-text">@localizer.GetString("Index.Clubcards.Desc")</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</Animation>
|
||||
</NavLink>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@code {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
@using TIAMSharedUI.Shared
|
||||
@using BlazorAnimation
|
||||
@using TIAMSharedUI.Shared
|
||||
@using TIAMWebApp.Shared.Application.Models;
|
||||
@using TIAMWebApp.Shared.Application.Interfaces;
|
||||
@using TIAMSharedUI.Pages.User;
|
||||
|
|
@ -8,225 +9,273 @@
|
|||
<div class="row py-3">
|
||||
|
||||
<div class=" col-12 col-xl-3">
|
||||
<div class="card mycard card-admin" 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">Hotel details</span>
|
||||
<Animation Effect="@Effect.FadeInUp" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||
<div class="card mycard card-admin" 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">Hotel details</span>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!--h6 class="mb-0"> <a href="#">All settings</a> </h6-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body card-admin-body py-2 px-4">
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
<div class="flex-fill">
|
||||
<h4 class="bold">Your QR code</h4>
|
||||
<p class="text-muted"> Use this in printed material, to gain referrals</p>
|
||||
</div>
|
||||
<div>
|
||||
<a href="api/pictures/1" download="data:image/png;base64,@ImageSource" target="_top">
|
||||
|
||||
<img class="align-self-center img-fluid"
|
||||
src="data:image/png;base64,@ImageSource" width="128" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!--h6 class="mb-0"> <a href="#">All settings</a> </h6-->
|
||||
|
||||
<div class="d-flex flex-column mb-4 pb-2">
|
||||
<h4> Hotel name: <span class="small text-muted"> Example hotel </span></h4>
|
||||
<h4> Address: <span class="small text-muted"> Budapest, Minta u. 46 </span></h4>
|
||||
<h4> Phone number: <span class="small text-muted"> +36 1 123 4567</span></h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#!">Modify</a>
|
||||
<div class="border-start h-100"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body card-admin-body py-2 px-4">
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
<div class="flex-fill">
|
||||
<h4 class="bold">Your QR code</h4>
|
||||
<p class="text-muted"> Use this in printed material, to gain referrals</p>
|
||||
</div>
|
||||
<div>
|
||||
<img class="align-self-center img-fluid"
|
||||
src="_content/TIAMSharedUI/images/myqr.png" width="128">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="d-flex flex-column mb-4 pb-2">
|
||||
<h4> Hotel name: <span class="small text-muted"> Example hotel </span></h4>
|
||||
<h4> Address: <span class="small text-muted"> Budapest, Minta u. 46 </span></h4>
|
||||
<h4> Phone number: <span class="small text-muted"> +36 1 123 4567</span></h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#!">Modify</a>
|
||||
<div class="border-start h-100"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Animation>
|
||||
</div>
|
||||
<div class=" col-12 col-xl-3">
|
||||
<div class="card mycard card-admin" 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">My orders</span>
|
||||
<Animation Effect="@Effect.FadeInUp" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||
<div class="card mycard card-admin" 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">My orders</span>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0"> <a href="/user/transfers">All transfers</a> </h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body card-admin-body py-2 px-4">
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
|
||||
<DxGrid Data="@OrderData">
|
||||
<Columns>
|
||||
<DxGridDataColumn FieldName="Date" DisplayFormat="D" MinWidth="100">
|
||||
<CellDisplayTemplate>
|
||||
<a class="d-block text-left" href="transferdetails">@context.Value</a>
|
||||
</CellDisplayTemplate>
|
||||
|
||||
</DxGridDataColumn>
|
||||
<DxGridDataColumn FieldName="Income" Width="15%" />
|
||||
<DxGridDataColumn FieldName="TransactionId" Width="15%" />
|
||||
<DxGridDataColumn FieldName="Status" Width="10%" />
|
||||
</Columns>
|
||||
</DxGrid>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0"> <a href="/user/transfers">All transfers</a> </h6>
|
||||
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
<h4> Some <span class="small text-muted"> conclusion </span></h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#!">Modify</a>
|
||||
<div class="border-start h-100"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body card-admin-body py-2 px-4">
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
</Animation>
|
||||
</div>
|
||||
<div class=" col-12 col-xl-3">
|
||||
<Animation Effect="@Effect.FadeInUp" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||
<div class="card mycard card-admin" 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">Messagess</span>
|
||||
|
||||
<DxGrid Data="@OrderData">
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0"> <a href="#">All messages</a> </h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body card-admin-body py-2 px-4">
|
||||
<div class="d-flex flex-column mb-4 pb-2">
|
||||
|
||||
|
||||
|
||||
<div class="media text-muted pt-3">
|
||||
<!--img src="https://bootdey.com/img/Content/avatar/avatar7.png" alt="" class="mr-2 rounded" width="32" height="32"-->
|
||||
<p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
|
||||
<strong class="d-block text-gray-dark">username</strong>
|
||||
Donec id elit non mi porta gravida at eget metus...
|
||||
</p>
|
||||
</div>
|
||||
<div class="media text-muted pt-3">
|
||||
|
||||
<p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
|
||||
<strong class="d-block text-gray-dark">username</strong>
|
||||
Donec id elit non mi porta gravida at eget metus...
|
||||
</p>
|
||||
</div>
|
||||
<div class="media text-muted pt-3">
|
||||
|
||||
<p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
|
||||
<strong class="d-block text-gray-dark">username</strong>
|
||||
Donec id elit non mi porta gravida at eget metus...
|
||||
</p>
|
||||
</div>
|
||||
<div class="media text-muted pt-3">
|
||||
|
||||
<p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
|
||||
<strong class="d-block text-gray-dark">username</strong>
|
||||
Donec id elit non mi porta gravida at eget metus...
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#!">Modify</a>
|
||||
<div class="border-start h-100"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Animation>
|
||||
</div>
|
||||
|
||||
<div class=" col-12 col-xl-3">
|
||||
<Animation Effect="@Effect.FadeInUp" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||
<div class="card mycard card-admin" 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">Panel title</span>
|
||||
<p class="text-muted mb-0">Subtitle</p>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0"> <a href="#">All details</a> </h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body card-admin-body py-2 px-4">
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
<div class="flex-fill">
|
||||
<h5 class="bold">Some info</h5>
|
||||
<p class="text-muted"> Budapest, Dózsa György út 35, 1146</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> Some <span class="small text-muted"> conclusion </span></h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#!">Modify</a>
|
||||
<div class="border-start h-100"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Animation>
|
||||
</div>
|
||||
<div class=" col-12">
|
||||
<Animation Effect="@Effect.FadeInUp" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||
<div class="card mycard card-admin" 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">Affiliates</span>
|
||||
<p class="text-muted mb-0">Details</p>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0"> <a href="#">All details</a> </h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body card-admin-body py-2 px-4">
|
||||
|
||||
<style>
|
||||
.dxbl-grid {
|
||||
--dxbl-grid-font-family: inherit;
|
||||
--dxbl-grid-font-size: 0.75rem;
|
||||
--dxbl-grid-line-height: 1.4285;
|
||||
--dxbl-grid-min-width: 240px;
|
||||
--dxbl-grid-bg: #e7e6f7;
|
||||
--dxbl-grid-color: #58457b;
|
||||
}
|
||||
</style>
|
||||
|
||||
<DxGrid Data="@Data">
|
||||
<Columns>
|
||||
<DxGridDataColumn FieldName="Date" DisplayFormat="D" MinWidth="100">
|
||||
<CellDisplayTemplate>
|
||||
<a class="d-block text-left" href="transferdetails">@context.Value</a>
|
||||
</CellDisplayTemplate>
|
||||
|
||||
</DxGridDataColumn>
|
||||
<DxGridDataColumn FieldName="Income" Width="15%" />
|
||||
<DxGridDataColumn FieldName="TransactionId" Width="15%" />
|
||||
<DxGridDataColumn FieldName="Status" Width="10%" />
|
||||
<DxGridDataColumn FieldName="CompanyName" AllowSort="true" />
|
||||
<DxGridDataColumn FieldName="ContactName" />
|
||||
<DxGridDataColumn FieldName="ContactTitle" Width="3%" />
|
||||
<DxGridDataColumn FieldName="Country" Width="10%" />
|
||||
<DxGridDataColumn FieldName="City" Width="10%" />
|
||||
<DxGridDataColumn FieldName="Address" />
|
||||
<DxGridDataColumn FieldName="Phone" Width="10%" />
|
||||
</Columns>
|
||||
</DxGrid>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
<h4> Some <span class="small text-muted"> conclusion </span></h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#!">Modify</a>
|
||||
<div class="border-start h-100"></div>
|
||||
<a href="#!">Modify</a>
|
||||
<div class="border-start h-100"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class=" col-12 col-xl-3">
|
||||
<div class="card mycard card-admin" 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">Hotel details</span>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0"> <a href="#">All settings</a> </h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body card-admin-body py-2 px-4">
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#!">Modify</a>
|
||||
<div class="border-start h-100"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=" col-12 col-xl-3">
|
||||
<div class="card mycard card-admin" 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">Panel title</span>
|
||||
<p class="text-muted mb-0">Subtitle</p>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0"> <a href="#">All details</a> </h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body card-admin-body py-2 px-4">
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
<div class="flex-fill">
|
||||
<h5 class="bold">Some info</h5>
|
||||
<p class="text-muted"> Budapest, Dózsa György út 35, 1146</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> Some <span class="small text-muted"> conclusion </span></h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#!">Modify</a>
|
||||
<div class="border-start h-100"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class=" col-12">
|
||||
<div class="card mycard card-admin" 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">Affiliates</span>
|
||||
<p class="text-muted mb-0">Details</p>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0"> <a href="#">All details</a> </h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body card-admin-body py-2 px-4">
|
||||
|
||||
<style>
|
||||
.dxbl-grid {
|
||||
--dxbl-grid-font-family: inherit;
|
||||
--dxbl-grid-font-size: 0.75rem;
|
||||
--dxbl-grid-line-height: 1.4285;
|
||||
--dxbl-grid-min-width: 240px;
|
||||
--dxbl-grid-bg: #e7e6f7;
|
||||
--dxbl-grid-color: #58457b;
|
||||
}
|
||||
</style>
|
||||
|
||||
<DxGrid Data="@Data">
|
||||
<Columns>
|
||||
<DxGridDataColumn FieldName="CompanyName" AllowSort="true" />
|
||||
<DxGridDataColumn FieldName="ContactName" />
|
||||
<DxGridDataColumn FieldName="ContactTitle" Width="3%" />
|
||||
<DxGridDataColumn FieldName="Country" Width="10%" />
|
||||
<DxGridDataColumn FieldName="City" Width="10%" />
|
||||
<DxGridDataColumn FieldName="Address" />
|
||||
<DxGridDataColumn FieldName="Phone" Width="10%" />
|
||||
</Columns>
|
||||
</DxGrid>
|
||||
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#!">Modify</a>
|
||||
<div class="border-start h-100"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Animation>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
using Microsoft.AspNetCore.Components;
|
||||
using SkiaSharp;
|
||||
using System;
|
||||
using System.Buffers.Text;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
|
@ -21,6 +23,9 @@ namespace TIAMSharedUI.Pages.User
|
|||
[Inject]
|
||||
IUserDataService UserDataService { get; set; }
|
||||
|
||||
[Inject]
|
||||
IServiceProviderDataService ServiceProviderDataService { get; set; }
|
||||
|
||||
object? OrderData { get; set; }
|
||||
object? AffiliateData { get; set; }
|
||||
|
||||
|
|
@ -29,6 +34,8 @@ namespace TIAMSharedUI.Pages.User
|
|||
bool isUserLoggedIn;
|
||||
int userType = 0;
|
||||
|
||||
public string ImageSource { get; set; } = "";
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -98,6 +105,9 @@ namespace TIAMSharedUI.Pages.User
|
|||
Phone = s.Phone
|
||||
};
|
||||
});
|
||||
|
||||
//SKBitmap bitmap = await ServiceProviderDataService.GetQRCodeByProductIdAsync(Guid.NewGuid());
|
||||
ImageSource = await ServiceProviderDataService.GetQRCodeByProductIdAsync(Guid.NewGuid());
|
||||
}
|
||||
[Parameter] public bool ShowSeriesPointMarkers { get; set; }
|
||||
[Parameter] public bool ShowSeriesLabels { get; set; }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
<div class="card-body card-admin-body py-2 px-4">
|
||||
<div class="d-flex flex-column mb-4 pb-2">
|
||||
|
||||
|
||||
|
||||
<div class="media text-muted pt-3">
|
||||
<!--img src="https://bootdey.com/img/Content/avatar/avatar7.png" alt="" class="mr-2 rounded" width="32" height="32"-->
|
||||
<p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
|
||||
<strong class="d-block text-gray-dark">username</strong>
|
||||
Donec id elit non mi porta gravida at eget metus...
|
||||
</p>
|
||||
</div>
|
||||
<div class="media text-muted pt-3">
|
||||
|
||||
<p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
|
||||
<strong class="d-block text-gray-dark">username</strong>
|
||||
Donec id elit non mi porta gravida at eget metus...
|
||||
</p>
|
||||
</div>
|
||||
<div class="media text-muted pt-3">
|
||||
|
||||
<p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
|
||||
<strong class="d-block text-gray-dark">username</strong>
|
||||
Donec id elit non mi porta gravida at eget metus...
|
||||
</p>
|
||||
</div>
|
||||
<div class="media text-muted pt-3">
|
||||
|
||||
<p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
|
||||
<strong class="d-block text-gray-dark">username</strong>
|
||||
Donec id elit non mi porta gravida at eget metus...
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@code {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TIAMSharedUI.Pages.User
|
||||
{
|
||||
public partial class Messages
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
@page "/user/profile"
|
||||
|
||||
<div class="text-center m-5">
|
||||
<h1>Profile</h1>
|
||||
<h2 style="font-size:small">Have a nice day!</h2>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<ProfileComponent></ProfileComponent>
|
||||
|
||||
</div>
|
||||
|
||||
@code {
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,171 @@
|
|||
<h3>ProfileComponent</h3>
|
||||
|
||||
|
||||
|
||||
<div class="row flex-lg-nowrap">
|
||||
<div class="col-12 col-lg-auto mb-3" style="width: 200px;">
|
||||
<div class="card mycard p-3">
|
||||
<div class="e-navlist e-navlist--active-bg">
|
||||
<ul class="nav">
|
||||
<li class="nav-item"><a class="nav-link px-2 active" href="#"><i class="fa fa-fw fa-bar-chart mr-1"></i><span>Overview</span></a></li>
|
||||
<li class="nav-item"><a class="nav-link px-2" href="https://www.bootdey.com/snippets/view/bs4-crud-users" target="__blank"><i class="fa fa-fw fa-th mr-1"></i><span>CRUD</span></a></li>
|
||||
<li class="nav-item"><a class="nav-link px-2" href="https://www.bootdey.com/snippets/view/bs4-edit-profile-page" target="__blank"><i class="fa fa-fw fa-cog mr-1"></i><span>Settings</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col">
|
||||
<div class="row">
|
||||
<div class="col mb-3">
|
||||
<div class="card mycard">
|
||||
<div class="card-body">
|
||||
<div class="e-profile">
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-auto mb-3">
|
||||
<div class="mx-auto" style="width: 140px;">
|
||||
<div class="d-flex justify-content-center align-items-center rounded" style="height: 140px; background-color: rgb(233, 236, 239);">
|
||||
<span style="color: rgb(166, 168, 170); font: bold 8pt Arial;">140x140</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex flex-column flex-sm-row justify-content-between mb-3">
|
||||
<div class="text-center text-sm-left mb-2 mb-sm-0">
|
||||
<h4 class="pt-sm-2 pb-1 mb-0 text-nowrap">John Smith</h4>
|
||||
<p class="mb-0">johnny.s</p>
|
||||
<div class="text-muted"><small>Last seen 2 hours ago</small></div>
|
||||
<div class="mt-2">
|
||||
<button class="btn btn-primary" type="button">
|
||||
<i class="fa fa-fw fa-camera"></i>
|
||||
<span>Change Photo</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center text-sm-right">
|
||||
<span class="badge badge-secondary">administrator</span>
|
||||
<div class="text-muted"><small>Joined 09 Dec 2017</small></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item"><a href="" class="active nav-link">Settings</a></li>
|
||||
</ul>
|
||||
<div class="tab-content pt-3">
|
||||
<div class="tab-pane active">
|
||||
<form class="form" novalidate="">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-group">
|
||||
<label>Full Name</label>
|
||||
<input class="form-control" type="text" name="name" placeholder="John Smith" value="John Smith">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="form-group">
|
||||
<label>Username</label>
|
||||
<input class="form-control" type="text" name="username" placeholder="johnny.s" value="johnny.s">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-group">
|
||||
<label>Email</label>
|
||||
<input class="form-control" type="text" placeholder="user@example.com">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col mb-3">
|
||||
<div class="form-group">
|
||||
<label>About</label>
|
||||
<textarea class="form-control" rows="5" placeholder="My Bio"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-6 mb-3">
|
||||
<div class="mb-2"><b>Change Password</b></div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-group">
|
||||
<label>Current Password</label>
|
||||
<input class="form-control" type="password" placeholder="••••••">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-group">
|
||||
<label>New Password</label>
|
||||
<input class="form-control" type="password" placeholder="••••••">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-group">
|
||||
<label>Confirm <span class="d-none d-xl-inline">Password</span></label>
|
||||
<input class="form-control" type="password" placeholder="••••••">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-sm-5 offset-sm-1 mb-3">
|
||||
<div class="mb-2"><b>Keeping in Touch</b></div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<label>Email Notifications</label>
|
||||
<div class="custom-controls-stacked px-2">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="notifications-blog" checked="">
|
||||
<label class="custom-control-label" for="notifications-blog">Blog posts</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="notifications-news" checked="">
|
||||
<label class="custom-control-label" for="notifications-news">Newsletter</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="notifications-offers" checked="">
|
||||
<label class="custom-control-label" for="notifications-offers">Personal Offers</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col d-flex justify-content-end">
|
||||
<button class="btn btn-primary" type="submit">Save Changes</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-3 mb-3">
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title font-weight-bold">Support</h6>
|
||||
<p class="card-text">Get fast, free help from our friendly assistants.</p>
|
||||
<button type="button" class="btn btn-primary">Contact Us</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@code {
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,104 @@
|
|||
@page "/user/destinations"
|
||||
@using AyCode.Models.Messages
|
||||
@using TIAM.Entities.ServiceProviders
|
||||
@using TIAM.Resources
|
||||
@using TIAMSharedUI.Pages.Components
|
||||
@using TIAMSharedUI.Shared
|
||||
@using TIAMWebApp.Shared.Application.Models
|
||||
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
|
||||
@using TIAMWebApp.Shared.Application.Models.ClientSide.Messages
|
||||
@using TIAMWebApp.Shared.Application.Utility
|
||||
@layout AdminLayout
|
||||
@inject LogToBrowserConsole logToBrowserConsole
|
||||
@inject IStringLocalizer<TIAMResources> localizer
|
||||
<PageTitle>Transfers</PageTitle>
|
||||
|
||||
<div class="text-center m-5">
|
||||
<h1>Destination management</h1>
|
||||
<h2 style="font-size:small">Manage transfers here!</h2>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class=" col-12">
|
||||
<h3>@localizer.GetString("TransferDestination")</h3>
|
||||
|
||||
|
||||
<div class="d-flex flex-column mb-4 pb-2">
|
||||
<div class="align-self-end pl-2 pb-2">
|
||||
<DxButton Text="Column Chooser"
|
||||
RenderStyle="ButtonRenderStyle.Secondary"
|
||||
IconCssClass="btn-column-chooser"
|
||||
Click="ColumnChooserButton_Click" />
|
||||
</div>
|
||||
<DxGrid @ref="Grid"
|
||||
Data="TransferData"
|
||||
PageSize="8"
|
||||
KeyFieldName="Id"
|
||||
ValidationEnabled="false"
|
||||
CustomizeElement="Grid_CustomizeElement"
|
||||
CustomizeEditModel="Grid_CustomizeEditModel"
|
||||
EditModelSaving="Grid_EditModelSaving"
|
||||
DataItemDeleting="Grid_DataItemDeleting"
|
||||
EditMode="GridEditMode.EditForm"
|
||||
ColumnResizeMode="GridColumnResizeMode.ColumnsContainer"
|
||||
KeyboardNavigationEnabled="true"
|
||||
ShowFilterRow="true">
|
||||
<Columns>
|
||||
<DxGridCommandColumn Width="8%" FixedPosition="GridColumnFixedPosition.Left" />
|
||||
|
||||
<DxGridDataColumn FieldName="Id" MinWidth="80" Width="20%" Visible="false" />
|
||||
<DxGridDataColumn FieldName="Name" FixedPosition="GridColumnFixedPosition.Left" MinWidth="80" Width="20%">
|
||||
<CellDisplayTemplate>
|
||||
@{
|
||||
var keyField = context.Value;
|
||||
<a class="d-block text-left" href="transferdetails">@context.Value</a>
|
||||
}
|
||||
</CellDisplayTemplate>
|
||||
</DxGridDataColumn>
|
||||
<DxGridDataColumn FieldName="Description" FixedPosition="GridColumnFixedPosition.Left" MinWidth="80" Width="20%" />
|
||||
<DxGridDataColumn FieldName="AddressString" MinWidth="80" Width="20%" />
|
||||
<DxGridDataColumn FieldName="Price" MinWidth="80" Width="20%" />
|
||||
|
||||
|
||||
</Columns>
|
||||
|
||||
<EditFormTemplate Context="EditFormContext">
|
||||
@{
|
||||
var transfer = (TransferDestinationWizardModel)EditFormContext.EditModel;
|
||||
}
|
||||
<DxFormLayout CssClass="w-100">
|
||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.DestinationName) ColSpanMd="6">
|
||||
@EditFormContext.GetEditor("Name")
|
||||
</DxFormLayoutItem>
|
||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.Destination) ColSpanMd="6">
|
||||
@EditFormContext.GetEditor("Destination")
|
||||
</DxFormLayoutItem>
|
||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.DestinationAddress) ColSpanMd="6">
|
||||
@EditFormContext.GetEditor("AddressString")
|
||||
</DxFormLayoutItem>
|
||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.Price) ColSpanMd="6">
|
||||
@EditFormContext.GetEditor("Price")
|
||||
</DxFormLayoutItem>
|
||||
|
||||
</DxFormLayout>
|
||||
</EditFormTemplate>
|
||||
|
||||
</DxGrid>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class=" col-12 col-xl-6">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@code {
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
using DevExpress.Blazor;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels;
|
||||
using TIAMWebApp.Shared.Application.Models;
|
||||
using TIAMWebApp.Shared.Application.Interfaces;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using TIAM.Entities.TransferDestinations;
|
||||
|
||||
namespace TIAMSharedUI.Pages.User
|
||||
{
|
||||
public partial class TransferDestinations
|
||||
{
|
||||
|
||||
IGrid Grid { get; set; }
|
||||
//object? TransferData { get; set; }
|
||||
|
||||
public TransferDestinationWizardModel myModel = new TransferDestinationWizardModel();
|
||||
|
||||
bool PopupVisible { get; set; }
|
||||
public List<string> ignoreList = new List<string>
|
||||
{
|
||||
"ReceiverId"
|
||||
};
|
||||
|
||||
public MessageWizardModel messageWizardModel = new MessageWizardModel();
|
||||
|
||||
[Inject]
|
||||
public ITransferDataService transferDataService { get; set; }
|
||||
|
||||
|
||||
object? TransferData = new TransferDestinationWizardModel[]
|
||||
{
|
||||
new TransferDestinationWizardModel(Guid.NewGuid(), "Liszt Ferenc Airport", "International airport of Budapest", "1185, Budapest, Liszt Ferenc Repülőtér" ),
|
||||
new TransferDestinationWizardModel(Guid.NewGuid(), "Buda Castle", "Historical site in the heart of Budapest", "1014 Budapest, Szent György tér 2" ),
|
||||
new TransferDestinationWizardModel(Guid.NewGuid(), "Hungarian National Museum", "Historical site in the heart of Budapest", "1088 Budapest, Múzeum krt. 14-16" ),
|
||||
new TransferDestinationWizardModel(Guid.NewGuid(), "Parliament of Hungary", "Historical site in the heart of Budapest", "1055 Budapest, Kossuth Lajos tér 1-3" ),
|
||||
new TransferDestinationWizardModel(Guid.NewGuid(), "Heroes square", "Historical site in the heart of Budapest", "1146 Budapest, Hősök tere" ),
|
||||
new TransferDestinationWizardModel(Guid.NewGuid(), "Gellert Hill", "Historical site in the heart of Budapest", "1118 Budapest, Gellérthegy" ),
|
||||
new TransferDestinationWizardModel(Guid.NewGuid(), "Margaret Island", "Historical site in the heart of Budapest", "1138 Budapest, Margitsziget" ),
|
||||
};
|
||||
|
||||
object? TransferDataFromDb = new TransferDestinationWizardModel[] { };
|
||||
|
||||
void CancelCreateClick()
|
||||
{
|
||||
|
||||
|
||||
PopupVisible = false;
|
||||
}
|
||||
void EulaPopupClosed()
|
||||
{
|
||||
//cancel clicked
|
||||
|
||||
}
|
||||
void EulaPopupClosing(PopupClosingEventArgs args)
|
||||
{
|
||||
//myModel = new TransferWizardModel();
|
||||
messageWizardModel = new MessageWizardModel();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
|
||||
public async Task SubmitForm(object Result)
|
||||
{
|
||||
//await WizardProcessor.ProcessWizardAsync(Result.GetType(), Result);
|
||||
logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}");
|
||||
}
|
||||
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
//if (firstRender)
|
||||
// await Grid.StartEditRowAsync(0);
|
||||
}
|
||||
|
||||
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||
{
|
||||
if (e.IsNew)
|
||||
{
|
||||
var newDestination = (TransferDestinationWizardModel)e.EditModel;
|
||||
newDestination.Id = Guid.NewGuid().ToString();
|
||||
newDestination.Name = "ghjgkg hkgh ghjkghgkjgh";
|
||||
newDestination.Description = "ghjgkg hkgh ghjkghgkjgh";
|
||||
newDestination.AddressString = "ghjgkg hkgh ghjkghgkjgh";
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
||||
{
|
||||
if (e.IsNew)
|
||||
{
|
||||
//add new row to grid
|
||||
myModel = (TransferDestinationWizardModel)e.EditModel;
|
||||
//add mymodel to transferData array
|
||||
TransferData = ((TransferDestinationWizardModel[])TransferData).Append(myModel);
|
||||
|
||||
//add new orderData to orderData array
|
||||
logToBrowserConsole.LogToBC("New orderData added");
|
||||
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
logToBrowserConsole.LogToBC("orderData updated");
|
||||
//modify transferData where transferData.Id == e.EditModel.Id
|
||||
//get transfer from TransferData by Id
|
||||
|
||||
foreach (var transferToModify in (TransferDestinationWizardModel[])TransferData)
|
||||
{
|
||||
myModel = (TransferDestinationWizardModel)e.EditModel;
|
||||
|
||||
if (transferToModify.Id == myModel.Id)
|
||||
{
|
||||
myModel = (TransferDestinationWizardModel)e.EditModel;
|
||||
transferToModify.Name = myModel.Name;
|
||||
transferToModify.Description = myModel.Description;
|
||||
transferToModify.AddressString = myModel.AddressString;
|
||||
transferToModify.Price = myModel.Price;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
|
||||
|
||||
await UpdateDataAsync();
|
||||
}
|
||||
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||
{
|
||||
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
||||
//remove orderData from orderData array
|
||||
logToBrowserConsole.LogToBC("orderData deleted");
|
||||
//await UpdateDataAsync();
|
||||
}
|
||||
async Task UpdateDataAsync()
|
||||
{
|
||||
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
|
||||
//refresh grid
|
||||
logToBrowserConsole.LogToBC("orderData grid refreshed");
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
base.OnInitialized();
|
||||
var a = await transferDataService.GetDestinationsAsync();
|
||||
logToBrowserConsole.LogToBC($"TransferDataFromDb: {((TransferDestinationWizardModel[])TransferDataFromDb).Length}");
|
||||
foreach (var item in a)
|
||||
{
|
||||
//add new transferwizardmodel to transferData array
|
||||
TransferDataFromDb = ((TransferDestinationWizardModel[])TransferDataFromDb).Append(
|
||||
new TransferDestinationWizardModel(Guid.NewGuid(), item.Name, item.Description, item.AddressString));
|
||||
logToBrowserConsole.LogToBC($"TransferDataFromDb: {item.Name}");
|
||||
}
|
||||
}
|
||||
|
||||
void ColumnChooserButton_Click()
|
||||
{
|
||||
Grid.ShowColumnChooser();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
<header class="pb-5">
|
||||
|
||||
@using BlazorAnimation
|
||||
<header class="pb-5">
|
||||
<Animation Effect="@Effect.FadeIn" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||
<div id="owl-demo" class="owl-carousel owl-theme">
|
||||
|
||||
<div class="item d-flex align-items-center"><img src="https://images.unsplash.com/photo-1551867633-194f125bddfa?auto=format&fit=crop&q=80&w=2070&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="my-auto" alt="The Last of us"></div>
|
||||
|
|
@ -7,7 +8,7 @@
|
|||
<div class="item d-flex align-items-center"><img src="https://images.unsplash.com/photo-1507622560124-621e26755fb8?auto=format&fit=crop&q=80&w=2070&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="my-auto" alt="Mirror Edge"></div>
|
||||
|
||||
</div>
|
||||
|
||||
</Animation>
|
||||
<!--div id="carouselExampleCaptions" class="carousel slide" data-bs-ride="carousel">
|
||||
<div class="carousel-indicators">
|
||||
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
|
||||
|
|
|
|||
|
|
@ -37,6 +37,12 @@
|
|||
</NavLink>
|
||||
</div>
|
||||
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="user/cards">
|
||||
Cards
|
||||
</NavLink>
|
||||
</div>
|
||||
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" @onclick="()=>expandSysAdminNav = !expandSysAdminNav">
|
||||
<span class="oi oi-list-rich" aria-hidden="true"></span> System Admin
|
||||
|
|
@ -55,6 +61,11 @@
|
|||
Transfers
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="user/destinations">
|
||||
Destinations
|
||||
</NavLink>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
}
|
||||
|
|
@ -73,7 +84,7 @@
|
|||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="user/serviceprovider">
|
||||
<NavLink class="nav-link" href="user/serviceprovider/5453-a87f77787d-khj899">
|
||||
Manage
|
||||
</NavLink>
|
||||
</div>
|
||||
|
|
@ -94,8 +105,8 @@
|
|||
|
||||
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="account">
|
||||
Account
|
||||
<NavLink class="nav-link" href="user/profile">
|
||||
Profile
|
||||
</NavLink>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -181,7 +181,9 @@ select:focus-visible {
|
|||
.my-sidebar {
|
||||
/*background-color: #c6d2ed;*/
|
||||
/*background-color: #E3D0D8;*/
|
||||
background-color: #d8dcef;
|
||||
/*background-color: #d8dcef;*/
|
||||
background-color: #fbfbfb8f;
|
||||
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 1.8 MiB |
|
|
@ -10,6 +10,8 @@
|
|||
<PackageReference Include="Blazored.LocalStorage" Version="4.4.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.0" PrivateAssets="all" />
|
||||
<PackageReference Include="SkiaSharp" Version="2.88.7" />
|
||||
<PackageReference Include="SkiaSharp.Views.Desktop.Common" Version="2.88.7" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
<link href="_content/TIAMSharedUI/css/bootstrap/bootstrap.min.css" rel="stylesheet" />
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css" rel="stylesheet" />
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.theme.default.css" rel="stylesheet" />
|
||||
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script>
|
||||
<link href="_content/DevExpress.Blazor.Themes/blazing-berry.bs5.min.css" asp-append-version="true" rel="stylesheet" />
|
||||
|
|
@ -16,7 +17,7 @@
|
|||
<link href="_content/TIAMSharedUI/css/animate.css" rel="stylesheet" />
|
||||
<link href="_content/TIAMSharedUI/css/TourIAm.css" rel="stylesheet" />
|
||||
<link rel="icon" type="image/png" href="_content/TIAMSharedUI/favicon.png" />
|
||||
<link href="TIAMWebApp.Client.styles.css" rel="stylesheet" />
|
||||
<link href="TIAMWebApp.Client.styles.css" rel="stylesheet" />
|
||||
|
||||
</head>
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
|
|
@ -1,6 +1,12 @@
|
|||
using DevExpress.Drawing;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using QRCoder;
|
||||
using SkiaSharp;
|
||||
using SkiaSharp.Views.Desktop;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Text.Json;
|
||||
using TIAM.Database.DataLayers.ServiceProviders;
|
||||
using TIAM.Entities.Permissions;
|
||||
|
|
@ -181,6 +187,38 @@ namespace TIAMWebApp.Server.Controllers
|
|||
}
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
[Route("GetQRCodeByProductId")]
|
||||
[Tags("In-Progress", "Product")]
|
||||
public async Task<IActionResult> GetQRCodeByProductId([FromBody] Guid productId)
|
||||
{
|
||||
Console.WriteLine("GetQRCode called");
|
||||
if (productId == Guid.Empty)
|
||||
{
|
||||
return BadRequest("Product is required");
|
||||
}
|
||||
else
|
||||
{
|
||||
//var result = _serviceProviderDal.GetQRCodeAsync(productId);
|
||||
|
||||
QRCodeGenerator qrGenerator = new QRCodeGenerator();
|
||||
QRCodeData qrCodeData = qrGenerator.CreateQrCode($"https://touriam.com/{productId}", QRCodeGenerator.ECCLevel.Q);
|
||||
QRCode qrCode = new QRCode(qrCodeData);
|
||||
//Bitmap qrCodeImage = qrCode.GetGraphic(20);
|
||||
string rootpath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "assets");
|
||||
Bitmap qrCodeImage = qrCode.GetGraphic(20, Color.DarkMagenta, Color.White, (Bitmap)Bitmap.FromFile(rootpath + "/myimage.png"));
|
||||
Console.WriteLine($"qrCodeLogo: {rootpath}/myimage.png");
|
||||
MemoryStream ms = new MemoryStream();
|
||||
qrCodeImage.Save(ms, ImageFormat.Jpeg);
|
||||
byte[] byteImage = ms.ToArray();
|
||||
|
||||
var SigBase64 = Convert.ToBase64String(byteImage); // Get Base64
|
||||
|
||||
return Ok(SigBase64);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -12,7 +12,10 @@
|
|||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.OpenApi" Version="1.6.11" />
|
||||
<PackageReference Include="QRCoderNetCore" Version="1.0.0" />
|
||||
<PackageReference Include="SendGrid" Version="9.28.1" />
|
||||
<PackageReference Include="SkiaSharp" Version="2.88.7" />
|
||||
<PackageReference Include="SkiaSharp.Views.Desktop.Common" Version="2.88.7" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="6.5.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.5.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="6.5.0" />
|
||||
|
|
|
|||
|
|
@ -2,11 +2,12 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Drawing;
|
||||
using TIAM.Entities.Products;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
using TIAM.Entities.Users;
|
||||
using TIAMWebApp.Shared.Application.Models;
|
||||
using SkiaSharp;
|
||||
|
||||
namespace TIAMWebApp.Shared.Application.Interfaces
|
||||
{
|
||||
|
|
@ -48,5 +49,8 @@ namespace TIAMWebApp.Shared.Application.Interfaces
|
|||
//24. (IServiceProviderDataService) Remove Assigned Users from Product
|
||||
public Task RemoveUserProductMappingsByContextIdAsync(Guid productId);
|
||||
|
||||
//25. (IServiceProviderDataService) Get QRCode by ProductId
|
||||
public Task<string> GetQRCodeByProductIdAsync(Guid productId);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ namespace TIAMWebApp.Shared.Application.Models
|
|||
public const string CreateTransferDestination = "api/TransferDataAPI/CreateTransferDestination";
|
||||
|
||||
public const string GetServiceProvidersByOwnerId = "api/ServiceProviderAPI/GetServiceProvidersByOwnerId";
|
||||
public const string GetQRCodeByProductId = "api/ServiceProviderAPI/GetQRCodeByProductId";
|
||||
|
||||
//AssingedUsers
|
||||
public const string CreateAssignedUser = "api/ServiceProviderAPI/CreateAssignedUser";
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@ namespace TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
|
|||
{
|
||||
public class TransferDestinationWizardModel
|
||||
{
|
||||
[DataType(DataType.Text)]
|
||||
[Display(Name = ResourceKeys.TransferDestinationId, ResourceType = typeof(TIAMResources))]
|
||||
public string Id { get; set; }
|
||||
|
||||
//[Required(ErrorMessage = "The Username value should be specified.")]
|
||||
[Required(ErrorMessage = "The Destination name should be specified.")]
|
||||
|
|
@ -30,6 +33,11 @@ namespace TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
|
|||
[Display(Name = ResourceKeys.DestinationAddress, ResourceType = typeof(TIAMResources))]
|
||||
public string AddressString { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "The price should be specified.")]
|
||||
[DataType("Price")]
|
||||
[Display(Name = ResourceKeys.Price, ResourceType = typeof(TIAMResources))]
|
||||
public double? Price { get; set; }
|
||||
|
||||
//[DataType("Latitude")]
|
||||
//[Display(Name = "Destination latitude")]
|
||||
//public double Latitude { get; set; }
|
||||
|
|
@ -39,11 +47,17 @@ namespace TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
|
|||
|
||||
|
||||
public TransferDestinationWizardModel() { }
|
||||
public TransferDestinationWizardModel(double latitude, double longitude, string address) : this(Guid.NewGuid(), latitude, longitude, address) { }
|
||||
public TransferDestinationWizardModel(Guid id, double latitude, double longitude, string address) { }
|
||||
public TransferDestinationWizardModel(Guid id, string name, double latitude, double longitude, string address) { }
|
||||
public TransferDestinationWizardModel(Guid id, string name, string description, double latitude, double longitude, string address)
|
||||
|
||||
public TransferDestinationWizardModel(string name, string description, string address) :this(Guid.NewGuid(), name, description, address)
|
||||
{ }
|
||||
public TransferDestinationWizardModel(Guid id, string name, string description, string address)
|
||||
{
|
||||
|
||||
Id = id.ToString();
|
||||
Name = name;
|
||||
Description = description;
|
||||
AddressString = address;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ namespace TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
|
|||
|
||||
[DataType("Price")]
|
||||
[Display(Name = ResourceKeys.Price, ResourceType = typeof(TIAMResources))]
|
||||
public int? Price { get; set;}
|
||||
public double? Price { get; set;}
|
||||
|
||||
[DataType("Driver")]
|
||||
[Display(Name = ResourceKeys.Driver, ResourceType = typeof(TIAMResources))]
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using AyCode.Interfaces.StorageHandlers;
|
||||
using Microsoft.JSInterop;
|
||||
using SkiaSharp;
|
||||
using System.Net.Http.Json;
|
||||
using TIAM.Database.DataLayers.Users;
|
||||
using TIAM.Entities.Products;
|
||||
|
|
@ -111,6 +112,22 @@ namespace TIAMWebApp.Shared.Application.Services
|
|||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public async Task<string> GetQRCodeByProductIdAsync(Guid productId)
|
||||
{
|
||||
|
||||
|
||||
var url = APIUrls.GetQRCodeByProductId;
|
||||
var response = await http.PostAsJsonAsync(url, productId);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
var result = await response.Content.ReadAsStringAsync();
|
||||
logToBrowserConsole.LogToBC("SKBitmap width: " + result);
|
||||
return result;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ using TIAMWebApp.Shared.Application.Models.ClientSide;
|
|||
using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels;
|
||||
using TIAMWebApp.Shared.Application.Utility;
|
||||
|
||||
namespace TIAMWebApp.Client.Services
|
||||
namespace TIAMWebApp.Shared.Application.Services
|
||||
{
|
||||
public class TransferDataService : ITransferDataService
|
||||
{
|
||||
|
|
@ -19,6 +19,8 @@
|
|||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.JSInterop" Version="8.0.0" />
|
||||
<PackageReference Include="SkiaSharp" Version="2.88.7" />
|
||||
<PackageReference Include="SkiaSharp.Views.Desktop.Common" Version="2.88.7" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@
|
|||
|
||||
//wizard
|
||||
public const string TransferDestinationTitle = "TransferDestinationTitle";
|
||||
public const string TransferDestinationId = "TransferDestinationId";
|
||||
|
||||
public const string DestinationName = "DestinationName";
|
||||
public const string DestinationInfo = "DestinationInfo";
|
||||
public const string DestinationAddress = "DestinationAddress";
|
||||
|
|
|
|||
Loading…
Reference in New Issue