diff --git a/TIAM.Core/Consts/TiamConst.cs b/TIAM.Core/Consts/TiamConst.cs index 2206e6e1..290f7cb5 100644 --- a/TIAM.Core/Consts/TiamConst.cs +++ b/TIAM.Core/Consts/TiamConst.cs @@ -8,12 +8,14 @@ public static class TiamConstClient public static string DefaultLocale = "en-US"; public static Guid TransferProductId = Guid.Parse("814b5495-c2e9-4f1d-a73f-37cd5d353078"); public static Guid[] DevAdminIds = new Guid[2] { Guid.Parse("dcf451d2-cc4c-4ac2-8c1f-da00041be1fd"), Guid.Parse("4cbaed43-2465-4d99-84f1-c8bc6b7025f7") }; - public static Guid[] SysAdmins = new Guid[3] + public static Guid[] SysAdmins = new Guid[4] { Guid.Parse("dcf451d2-cc4c-4ac2-8c1f-da00041be1fd"), Guid.Parse("4cbaed43-2465-4d99-84f1-c8bc6b7025f7"), - Guid.Parse("540271f6-c604-4c16-8160-d5a7cafedf00") + Guid.Parse("540271f6-c604-4c16-8160-d5a7cafedf00"), + Guid.Parse("18858d54-02fd-4002-98af-542b81fd3c3b") }; + public static Dictionary SysAccounts = new Dictionary { { "SystemEmailSender", Guid.Parse("5e13e051-4fd6-4a30-a371-75cc785cfb84")}, @@ -21,7 +23,7 @@ public static class TiamConstClient public static string WelcomeEmailTemplateName = "WelcomeEmailTemplate"; public static string NewTransferEmailTemplateName = "NewTransferEmailTemplate"; - public static string TransferModifiedEmailTemplateName = "TramsferModifiedEmailTemplate"; + public static string TransferModifiedEmailTemplateName = "TransferModifiedEmailTemplate"; public static string ForgotPasswordEmailTemplateName = "ForgotPasswordEmailTemplate"; public static string GeneralEmailTemplateName = "GeneralEmailTemplate"; diff --git a/TIAM.Services.Server/MessageSenderService.cs b/TIAM.Services.Server/MessageSenderService.cs index 91fb47f5..baf5b820 100644 --- a/TIAM.Services.Server/MessageSenderService.cs +++ b/TIAM.Services.Server/MessageSenderService.cs @@ -309,15 +309,21 @@ namespace TIAM.Services.Server smtpClient.EnableSsl = true; // Try false for port 587 smtpClient.TargetName = $"SMTPS/{smtpHost}"; + string filePath = @"C:\path\to\your\file.pdf"; + var attachment = new System.Net.Mail.Attachment(filePath); + var fromAddress = new MailAddress(smtpUser, "Your Mail Service"); var toAddress = new MailAddress(recipient.EmailAddress); var mailMessage = new MailMessage(fromAddress, toAddress) { Subject = message.Subject, Body = message.Text, - IsBodyHtml = true + IsBodyHtml = true, }; + mailMessage.Attachments.Insert(0, attachment); + + await smtpClient.SendMailAsync(mailMessage); } } diff --git a/TIAMSharedUI/Pages/Components/AddressSearchAndSelectComponent.razor b/TIAMSharedUI/Pages/Components/AddressSearchAndSelectComponent.razor index 3836d28a..3aaedc07 100644 --- a/TIAMSharedUI/Pages/Components/AddressSearchAndSelectComponent.razor +++ b/TIAMSharedUI/Pages/Components/AddressSearchAndSelectComponent.razor @@ -35,7 +35,7 @@ else private string Address { get; set; } private List Predictions { get; set; } = new(); - private PredictionItem selectedPrediction { get; set; } + private PredictionItem selectedPrediction { get; set; } = new(); public PredictionItem SelectedPrediction { get => selectedPrediction; @@ -58,7 +58,11 @@ else { var predictions = await GooglePlacesService.GetPlacePredictionsAsync(input); Predictions = predictions.ConvertAll(p => new PredictionItem { Description = p }); - SelectedPrediction = Predictions[0]; + if (Predictions.Count > 0) + { + SelectedPrediction = Predictions[0]; + } + else { SelectedPrediction = new(); } } else { diff --git a/TIAMSharedUI/Pages/Components/InputWizard.razor b/TIAMSharedUI/Pages/Components/InputWizard.razor index 0a19994c..b701fbc5 100644 --- a/TIAMSharedUI/Pages/Components/InputWizard.razor +++ b/TIAMSharedUI/Pages/Components/InputWizard.razor @@ -9,7 +9,8 @@ OnInvalidSubmit="@HandleInvalidSubmit" Context="EditFormContext">
-

@localizer.GetString(TitleResourceString)

+ @*

@localizer.GetString(TitleResourceString)

*@ +

@TitleString

@localizer.GetString(SubtitleResourceString)

diff --git a/TIAMSharedUI/Pages/Components/InputWizard.razor.cs b/TIAMSharedUI/Pages/Components/InputWizard.razor.cs index 8f3f874a..2c7b6958 100644 --- a/TIAMSharedUI/Pages/Components/InputWizard.razor.cs +++ b/TIAMSharedUI/Pages/Components/InputWizard.razor.cs @@ -1,20 +1,21 @@ -using DevExpress.Blazor; +using AyCode.Core.Consts; +using AyCode.Services.Loggers; +using DevExpress.Blazor; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Forms; using Microsoft.AspNetCore.Components.Web; +using Microsoft.Extensions.Localization; using System.ComponentModel.DataAnnotations; using System.Linq.Expressions; -using TIAMWebApp.Shared.Application.Utility; -using Microsoft.Extensions.Localization; -using TIAM.Resources; -using TIAMWebApp.Shared.Application.Interfaces; using System.Reflection; -using TIAMWebApp.Shared.Application.Models; -using TIAMSharedUI.Shared; using System.Text.RegularExpressions; -using AyCode.Core.Consts; using TIAM.Core.Loggers; -using AyCode.Services.Loggers; +using TIAM.Entities.Products; +using TIAM.Resources; +using TIAMSharedUI.Shared; +using TIAMWebApp.Shared.Application.Interfaces; +using TIAMWebApp.Shared.Application.Models; +using TIAMWebApp.Shared.Application.Utility; namespace TIAMSharedUI.Pages.Components @@ -38,6 +39,9 @@ namespace TIAMSharedUI.Pages.Components [Parameter] public string TitleResourceString { get; set; } = "Wizard"; + [Parameter] + public string TitleString { get; set; } = "Wizard"; + [Parameter] public string SubtitleResourceString { get; set; } = "Let's fill in this form"; @@ -56,9 +60,9 @@ namespace TIAMSharedUI.Pages.Components [Parameter] public string CssClass { get; set; } = ""; + [Parameter] public Product? CurrentProduct { get; set; } = null; private LoggerClient _logger; - string _formSubmitResult = ""; private string _spinnerClass = ""; @@ -353,34 +357,57 @@ namespace TIAMSharedUI.Pages.Components //string.Compare(metadata.CustomDataType, "BoldRed", true) == 0 //else if (property.PropertyType == typeof(string) && property.Name == "Destination") + //else if (property.PropertyType == typeof(string) && string.Compare(attrList.CustomDataType, "TransferDestination", true) == 0) + //{ + + // editor.OpenComponent(j); + // editor.AddAttribute(j++, "OwlId", "owlSelector" + stepId); + // editor.AddAttribute(j++, "TextValue", property.GetValue(Data)); + // //editor.AddAttribute(j++, "TExpression", lambda); + // editor.AddAttribute(j++, "OnSliderChanged", EventCallback.Factory.Create(this, result => + // { + // _logger.DetailConditional($"Slider changed to {result}"); + // property.SetValue(Data, result); + // _logger.DetailConditional($"bleh: {property.Name} = {property.GetValue(Data)}"); + // //StateHasChanged(); // Add this line to refresh the UI + // })); + + // editor.CloseComponent(); + // editor.OpenComponent(j++); + // /*editor.AddAttribute(j++, "CssClass", "form-field");*/ + // editor.AddAttribute(j++, "NullText", "Slide or type"); + // editor.AddAttribute(j++, "Enabled", false); + // editor.AddAttribute(j++, "Text", property.GetValue(Data)); + // editor.AddAttribute(j++, "TextExpression", lambda); + // editor.AddAttribute(j++, "TextChanged", EventCallback.Factory.Create(this, str => + // { + // property.SetValue(Data, str); + // _logger.DetailConditional($"bleh: {property.Name} = {property.GetValue(Data)}"); + // })); + // editor.CloseComponent(); + + //} + else if (property.PropertyType == typeof(string) && string.Compare(attrList.CustomDataType, "TransferDestination", true) == 0) { - editor.OpenComponent(j); - editor.AddAttribute(j++, "OwlId", "owlSelector" + stepId); + editor.OpenComponent(j); editor.AddAttribute(j++, "TextValue", property.GetValue(Data)); - //editor.AddAttribute(j++, "TExpression", lambda); + editor.AddAttribute(j++, "CssClass", "form-field"); + if (CurrentProduct != null) + { + editor.AddAttribute(j++, "ProductId", CurrentProduct.Id); + } + // editor.AddAttribute(j++, "ValExpression", lambda); editor.AddAttribute(j++, "OnSliderChanged", EventCallback.Factory.Create(this, result => { - _logger.DetailConditional($"Slider changed to {result}"); + _logger.Debug($"Slider changed to {result}"); property.SetValue(Data, result); _logger.DetailConditional($"bleh: {property.Name} = {property.GetValue(Data)}"); - //StateHasChanged(); // Add this line to refresh the UI + })); editor.CloseComponent(); - editor.OpenComponent(j++); - /*editor.AddAttribute(j++, "CssClass", "form-field");*/ - editor.AddAttribute(j++, "NullText", "Slide or type"); - editor.AddAttribute(j++, "Enabled", false); - editor.AddAttribute(j++, "Text", property.GetValue(Data)); - editor.AddAttribute(j++, "TextExpression", lambda); - editor.AddAttribute(j++, "TextChanged", EventCallback.Factory.Create(this, str => - { - property.SetValue(Data, str); - _logger.DetailConditional($"bleh: {property.Name} = {property.GetValue(Data)}"); - })); - editor.CloseComponent(); } diff --git a/TIAMSharedUI/Pages/Components/LoginStep1.razor b/TIAMSharedUI/Pages/Components/LoginStep1.razor index c9731143..bee9c5af 100644 --- a/TIAMSharedUI/Pages/Components/LoginStep1.razor +++ b/TIAMSharedUI/Pages/Components/LoginStep1.razor @@ -10,7 +10,7 @@ - - - - - -
- @tourInfo.Title +
+
+ + + + + +
+ @tourInfo.Title +
+ @* + *@ + + +
- - - - -
@@ -273,9 +278,10 @@ "Destination", "UserId", "ProductId", - "PaymentId", + "PaymentId", "FirstName", "LastName", + "FlightNumber", "UserProductMappingId", "UserProductToCarId", "ReferralId", diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor b/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor index bdc110b5..f366fd85 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor @@ -214,7 +214,9 @@ @editFormContext.GetEditor("Revenue") - + + @editFormContext.GetEditor("Comment") + diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ToursFromTransferDestinations.razor b/TIAMSharedUI/Pages/User/SysAdmins/ToursFromTransferDestinations.razor index 5ec96792..4e7b4a78 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ToursFromTransferDestinations.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ToursFromTransferDestinations.razor @@ -39,6 +39,11 @@
+
+ + +
+
@@ -78,6 +83,9 @@ @tour?.Title — @tour.FancyDescription + + @tour.Bio + @@ -115,9 +123,10 @@ { TransferDestinationId = tour.TransferDestinationId, Name = tour.Title, + Bio = tour.Bio, Description = tour.FancyDescription, ImageBytes = null, - ImageFileName = null + ImageFileName = tour.CoverImageUrl }; IsEditing = true; @@ -172,6 +181,7 @@ newTour.ImageBytes = ms.ToArray(); newTour.ImageFileName = uploadedFile.Name; } + if (IsEditing && EditingTourId.HasValue) { @@ -180,8 +190,9 @@ Id = EditingTourId.Value, TransferDestinationId = newTour.TransferDestinationId, Title = newTour.Name, + Bio = newTour.Bio, FancyDescription = newTour.Description, - CoverImageUrl = "" // assume your service handles image URL logic + CoverImageUrl = newTour.ImageFileName // assume your service handles image URL logic }; await TourService.UpdateAsync(updatedTour, uploadedFile); @@ -230,6 +241,7 @@ [StringLength(100, ErrorMessage = "Tour name cannot exceed 100 characters.")] public string Name { get; set; } = string.Empty; + public string? Bio { get; set; } public string? Description { get; set; } public byte[]? ImageBytes { get; set; } diff --git a/TIAMSharedUI/Shared/ComboboxItemSelector.razor b/TIAMSharedUI/Shared/ComboboxItemSelector.razor index 538b5bf8..384766fe 100644 --- a/TIAMSharedUI/Shared/ComboboxItemSelector.razor +++ b/TIAMSharedUI/Shared/ComboboxItemSelector.razor @@ -22,7 +22,7 @@ - + @* - + *@ @@ -56,7 +56,17 @@ -

Selected address: @_address

+@{ + if (string.IsNullOrEmpty(_address)) + { +

No address selected

+ } + else + { +

Selected address: @_address

+ } +} + @*

diff --git a/TIAMSharedUI/Shared/Components/ToursComponent.razor b/TIAMSharedUI/Shared/Components/ToursComponent.razor index 6f8cb889..88543fc5 100644 --- a/TIAMSharedUI/Shared/Components/ToursComponent.razor +++ b/TIAMSharedUI/Shared/Components/ToursComponent.razor @@ -16,16 +16,24 @@ { foreach (var item in Tours) { -

+
+ +
+

@item.Bio

+
+
-

@item.Created

-

@item.FancyDescription

+ @*

@item.Created

*@ +
+

@item.FancyDescription

+
@*

@item.TransferDestinationId

*@
- - - + + +
+

@item.Title

diff --git a/TIAMSharedUI/Shared/Components/ToursComponent.razor.css b/TIAMSharedUI/Shared/Components/ToursComponent.razor.css index cbf1c4ed..085f561f 100644 --- a/TIAMSharedUI/Shared/Components/ToursComponent.razor.css +++ b/TIAMSharedUI/Shared/Components/ToursComponent.razor.css @@ -89,12 +89,15 @@ button { background: #e73700; } + /******* Middle section CSS Start ******/ /* -------- Landing page ------- */ .game-section { /*padding: 5px 50px;*/ } + + .game-section .owl-stage { margin: 15px 0; display: flex; @@ -136,6 +139,15 @@ button { background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1)); } +.game-section .added { + opacity: 1; + /*font-size: x-large;*/ +} + + .game-section .item.active .added { + opacity: 0; + } + .game-section .item-desc { padding: 0 24px 12px; color: #fff; @@ -187,10 +199,12 @@ button { line-height: 32px; } - /* -------- Landing page ------- */ - .game-section { - /*padding: 50px 5px;*/ - } + + + /* -------- Landing page ------- */ + .game-section { + /*padding: 50px 5px;*/ + } .game-section .item { margin: 0 12px 60px; diff --git a/TIAMSharedUI/TIAMSharedUI.csproj b/TIAMSharedUI/TIAMSharedUI.csproj index 0b760adb..b9103eb2 100644 --- a/TIAMSharedUI/TIAMSharedUI.csproj +++ b/TIAMSharedUI/TIAMSharedUI.csproj @@ -117,4 +117,10 @@ + + + Always + + + diff --git a/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs b/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs index 27a83a1f..90e6e278 100644 --- a/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs +++ b/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs @@ -500,7 +500,7 @@ namespace TIAMWebApp.Server.Controllers var to = await _adminDal.Context.TransferDestinations.FirstOrDefaultAsync(x => x.AddressString == transfer.ToAddress); //what if one is not transferdestination - if (to != null && from != null) + if (to != null && from != null) { if (!transfer.ProductId.IsNullOrEmpty()) { @@ -644,7 +644,7 @@ namespace TIAMWebApp.Server.Controllers /// /// UserProductMappingId /// - [NonAction] + [NonAction] [SignalR(SignalRTags.GetDriverManageTransfersPageModelByDriverId)] public async Task GetDriverManageTransfersPageModelByDriverId(Guid driverId) { @@ -678,22 +678,41 @@ namespace TIAMWebApp.Server.Controllers //check if revenue should be calculated if (transfer.ProductId.HasValue && transfer.Price > 0) { - - //price seems to have changed, update commission - if (to == null) + + //price seems to have changed, update commission + if (to == null) + { + //get general product commission + var product = await _adminDal.Context.Products.FirstOrDefaultAsync(x => x.Id == transfer.ProductId); + if (product != null) { - //get general product commission - var product = await _adminDal.Context.Products.FirstOrDefaultAsync(x => x.Id == transfer.ProductId); - if(product != null) + if (transfer.Revenue.HasValue && transfer.Revenue.Value > 0) { - transfer.Revenue = transfer.Price * product.ServiceProvider.CommissionPercent/100; + //revenue intentional override, do nothing + } + else if (!transfer.Revenue.HasValue || transfer.Revenue.Value == 0) + { + //revenue not set, calculate it + transfer.Revenue = transfer.Price * product.ServiceProvider.CommissionPercent / 100; } } - else + + } + else + { + + if (transfer.Revenue.HasValue && transfer.Revenue.Value > 0) { + //revenue intentional override, do nothing + } + else if (!transfer.Revenue.HasValue || transfer.Revenue.Value == 0) + { + //revenue not set, calculate it transfer.Revenue = _transferBackendService.GetCommission((Guid)transfer.ProductId, (double)transfer.Price, to); - } + } + + } } return await _adminDal.UpdateTransferAsync(transfer); } diff --git a/TIAMWebApp/Server/Services/SumupService.cs b/TIAMWebApp/Server/Services/SumupService.cs index e740198d..d2ec29f0 100644 --- a/TIAMWebApp/Server/Services/SumupService.cs +++ b/TIAMWebApp/Server/Services/SumupService.cs @@ -12,8 +12,8 @@ namespace TIAMWebApp.Server.Services { private readonly HttpClient _httpClient; private readonly TIAM.Core.Loggers.ILogger _logger; - private readonly string _clientId; - private readonly string _clientSecret; + private readonly string _clientId = "sup_pk_RrAkDKKDU8jFSdlCq1dmw19WuBU42LJkD"; + private readonly string _clientSecret = "sup_sk_smy6IL1ww3I66adCSPzv5GkSKBFP4TNMs"; public SumupService(HttpClient httpClient, string clientId, string clientSecret, IEnumerable logWriters) { @@ -24,7 +24,8 @@ namespace TIAMWebApp.Server.Services } public async Task GetAccessTokenAsync() - { + { + var authToken = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{_clientId}:{_clientSecret}")); _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authToken); @@ -43,7 +44,8 @@ namespace TIAMWebApp.Server.Services { var accessToken = await GetAccessTokenAsync(); //_httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); - _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "sup_sk_0rt9IFrMpE9qA6328vqMwCtiCntRXZxGR"); + //_httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "sup_sk_0rt9IFrMpE9qA6328vqMwCtiCntRXZxGR"); + _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "sup_sk_smy6IL1ww3I66adCSPzv5GkSKBFP4TNMs"); var requestContent = new StringContent(JsonSerializer.Serialize(paymentRequest), Encoding.UTF8, "application/json"); @@ -65,11 +67,12 @@ namespace TIAMWebApp.Server.Services }; var checkoutRequest = new HttpRequestMessage(HttpMethod.Post, "https://api.sumup.com/v0.1/checkouts"); - checkoutRequest.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "sup_sk_0rt9IFrMpE9qA6328vqMwCtiCntRXZxGR"); + //checkoutRequest.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "sup_sk_0rt9IFrMpE9qA6328vqMwCtiCntRXZxGR"); + checkoutRequest.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "sup_sk_smy6IL1ww3I66adCSPzv5GkSKBFP4TNMs"); var kvaanyad = JsonSerializer.Serialize(request, options); _logger.Detail($"Request json: {kvaanyad}"); checkoutRequest.Content = new StringContent(kvaanyad, Encoding.UTF8, "application/json"); - _logger.Detail($"Request content: { await checkoutRequest.Content.ReadAsStringAsync()}"); + _logger.Detail($"Request content: {await checkoutRequest.Content.ReadAsStringAsync()}"); var response = await _httpClient.SendAsync(checkoutRequest); _logger.Detail(await response.Content.ReadAsStringAsync()); if (response.IsSuccessStatusCode) @@ -89,7 +92,8 @@ namespace TIAMWebApp.Server.Services string url = $"https://api.sumup.com/v0.1/checkouts/{checkoutId}"; // Replace with your actual access token - string accessToken = "sup_sk_0rt9IFrMpE9qA6328vqMwCtiCntRXZxGR"; + //string accessToken = "sup_sk_0rt9IFrMpE9qA6328vqMwCtiCntRXZxGR"; + string accessToken = "sup_sk_smy6IL1ww3I66adCSPzv5GkSKBFP4TNMs"; var request = new HttpRequestMessage(HttpMethod.Get, url); request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken); @@ -100,7 +104,7 @@ namespace TIAMWebApp.Server.Services { return "error"; } - else + else { var jsonResponse = await response.Content.ReadAsStringAsync(); var checkoutResponse = JsonSerializer.Deserialize(jsonResponse); @@ -110,7 +114,7 @@ namespace TIAMWebApp.Server.Services { case "pending": //update in DB? - break; + break; case "failed": //update in DB? break; @@ -119,7 +123,7 @@ namespace TIAMWebApp.Server.Services break; } return jsonResponse; - + } } @@ -135,14 +139,14 @@ namespace TIAMWebApp.Server.Services // SumUpService.cs (continued) - + public class PaymentResponse { [JsonPropertyName("amount")] public int Amount { get; set; } - [JsonPropertyName("checkout_reference")] + [JsonPropertyName("checkout_reference")] public string CheckoutReference { get; set; } [JsonPropertyName("checkout_type")] diff --git a/TIAMWebApp/Server/wwwroot/data/tours/171fcca4-ffd5-4380-9402-f27447af1e08.json b/TIAMWebApp/Server/wwwroot/data/tours/171fcca4-ffd5-4380-9402-f27447af1e08.json index 3b090a72..fc90c996 100644 --- a/TIAMWebApp/Server/wwwroot/data/tours/171fcca4-ffd5-4380-9402-f27447af1e08.json +++ b/TIAMWebApp/Server/wwwroot/data/tours/171fcca4-ffd5-4380-9402-f27447af1e08.json @@ -2,8 +2,9 @@ "Id": "00000000-0000-0000-0000-000000000000", "TransferDestinationId": "171fcca4-ffd5-4380-9402-f27447af1e08", "Title": "Downtown", - "FancyDescription": "fdshjklhsjfkslh dfjkhsjklfhd jkkslhfdsjkfh dskfh dsklhf dsjkl fdhjkl fdshjk fkjld hlkdskl dsjk fdjlfh dskh fdsjkfdshl khf dk hldsk hldskh dsjk hdslkf dhjkh dsfk fdslsk", + "Bio": "hjkh kh kjs dhasjkldhajk dhkasjdh sajkldh asjkldh asjkldhasjldh asjkldh askldh asjkdh aklsdhajkdhkalh djksahdjkashd jkalhal", + "FancyDescription": "fdshjklhsjfkslh dfjkhsjklfhd jkkslhfdsjkfh dskfh dsklhf dsjkl fdhjkl fdshjk fkjld hlkdskl dsjk fdjlfh dskh fdsjkfdshl khf dk hldsk hldskh dsjk hdslkf dhjkh dsfk fdslsk dksajdklaj dkla\u00E9jdksal\u00E9dj kasl\u00E9dj kasl\u00E9jdka l\u00E9djkasl\u00E9j dkla\u00E9sjdkl\u00E9 ajdklas\u00E9 jdkl\u00E9asj dklsaj dklsj dka dksa jdklas daklsj dklaj dklsaj dklasj dklaj dkl\u00E9a ldjfskl\u00E9fjk lds\u00E9jfksld\u00E9 fjklsd\u00E9jkfdl slkfj ldkfj kdfj kdfjksljfdklsjfdsl kfjdskljfkdslfjkdsl jkl", "CoverImageUrl": "/uploads/tourcovers/171fcca4-ffd5-4380-9402-f27447af1e08.png", - "Created": "2025-07-28T06:29:35.6626494Z", - "Modified": "2025-07-28T06:29:35.6626499Z" + "Created": "0001-01-01T00:00:00", + "Modified": "2025-09-24T16:28:17.0140043Z" } \ No newline at end of file diff --git a/TIAMWebApp/Server/wwwroot/data/tours/72a29052-0d99-49ec-a103-3b5ca86b5b4c.json b/TIAMWebApp/Server/wwwroot/data/tours/72a29052-0d99-49ec-a103-3b5ca86b5b4c.json index 8ceb1786..bed0abb2 100644 --- a/TIAMWebApp/Server/wwwroot/data/tours/72a29052-0d99-49ec-a103-3b5ca86b5b4c.json +++ b/TIAMWebApp/Server/wwwroot/data/tours/72a29052-0d99-49ec-a103-3b5ca86b5b4c.json @@ -2,8 +2,9 @@ "Id": "00000000-0000-0000-0000-000000000000", "TransferDestinationId": "72a29052-0d99-49ec-a103-3b5ca86b5b4c", "Title": "Rept\u00E9ri t\u00FAra", + "Bio": "boooob jhkl hjk hjfdsklh sjklfh sjkfh sjklfhdsjlfh djkf hdjklf hjk fldshjkf hdsjkf hdjk fhdsjkf", "FancyDescription": "jhkl hjk hjfdsklh sjklfh sjkfh sjklfhdsjlfh djkf hdjklf hjk fldshjkf hdsjkf hdjk fhdsjkf hdsjklfhdjklf dhjkf hdsjklfdhjkldsfh jklsdfhjkfslhfjkslh fdsklh fjklhfdsjklhdsjkfdshjkfdhjksdlhjksdh skl", "CoverImageUrl": "/uploads/tourcovers/72a29052-0d99-49ec-a103-3b5ca86b5b4c.jpeg", - "Created": "2025-07-27T18:05:27.5184619Z", - "Modified": "2025-07-27T18:05:27.5184622Z" + "Created": "0001-01-01T00:00:00", + "Modified": "2025-09-18T12:03:42.0805437Z" } \ No newline at end of file diff --git a/TIAMWebApp/Server/wwwroot/data/tours/d9bd0565-fea5-4668-9f86-e468a515d5ea.json b/TIAMWebApp/Server/wwwroot/data/tours/d9bd0565-fea5-4668-9f86-e468a515d5ea.json new file mode 100644 index 00000000..983c6a48 --- /dev/null +++ b/TIAMWebApp/Server/wwwroot/data/tours/d9bd0565-fea5-4668-9f86-e468a515d5ea.json @@ -0,0 +1,9 @@ +{ + "Id": "00000000-0000-0000-0000-000000000000", + "TransferDestinationId": "d9bd0565-fea5-4668-9f86-e468a515d5ea", + "Title": "Candlelight tour in the city of Vienna", + "FancyDescription": "kfh dghdfjdjklgh djklgh fjklgdfjklh sjklfh jklshh sjkgh sfjkh slgdf kjhsgjklhg skjl skl", + "CoverImageUrl": "/uploads/tourcovers/d9bd0565-fea5-4668-9f86-e468a515d5ea.jpeg", + "Created": "2025-09-04T10:20:08.4277228Z", + "Modified": "2025-09-04T10:20:08.4277235Z" +} \ No newline at end of file diff --git a/TIAMWebApp/Server/wwwroot/uploads/tourcovers/72a29052-0d99-49ec-a103-3b5ca86b5b4c.jpeg b/TIAMWebApp/Server/wwwroot/uploads/tourcovers/72a29052-0d99-49ec-a103-3b5ca86b5b4c.jpeg index dc72e305..a346ee2d 100644 Binary files a/TIAMWebApp/Server/wwwroot/uploads/tourcovers/72a29052-0d99-49ec-a103-3b5ca86b5b4c.jpeg and b/TIAMWebApp/Server/wwwroot/uploads/tourcovers/72a29052-0d99-49ec-a103-3b5ca86b5b4c.jpeg differ diff --git a/TIAMWebApp/Server/wwwroot/uploads/tourcovers/d9bd0565-fea5-4668-9f86-e468a515d5ea.jpeg b/TIAMWebApp/Server/wwwroot/uploads/tourcovers/d9bd0565-fea5-4668-9f86-e468a515d5ea.jpeg new file mode 100644 index 00000000..073c7a58 Binary files /dev/null and b/TIAMWebApp/Server/wwwroot/uploads/tourcovers/d9bd0565-fea5-4668-9f86-e468a515d5ea.jpeg differ diff --git a/TIAMWebApp/Shared/Models/TourInfo.cs b/TIAMWebApp/Shared/Models/TourInfo.cs index 965c3f67..e12ce535 100644 --- a/TIAMWebApp/Shared/Models/TourInfo.cs +++ b/TIAMWebApp/Shared/Models/TourInfo.cs @@ -11,6 +11,7 @@ namespace TIAMWebApp.Shared.Application.Models public Guid Id { get; set; } public Guid TransferDestinationId { get; set; } public string Title { get; set; } + public string Bio { get; set; } public string? FancyDescription { get; set; } public string? CoverImageUrl { get; set; } public DateTime Created { get; set; }