diff --git a/TIAMSharedUI/Pages/Components/EditComponents/DynamicEditForm.razor b/TIAMSharedUI/Pages/Components/EditComponents/DynamicEditForm.razor index 5924a9a7..b747716c 100644 --- a/TIAMSharedUI/Pages/Components/EditComponents/DynamicEditForm.razor +++ b/TIAMSharedUI/Pages/Components/EditComponents/DynamicEditForm.razor @@ -31,7 +31,7 @@ else

Details

- Edit + @* Create new *@
@CreateCardView() @@ -190,6 +190,8 @@ else editor.AddAttribute(j++, "Date", property.GetValue(Data)); editor.AddAttribute(j++, "DateExpression", lambda); editor.AddAttribute(j++, "CssClass", "form-field"); + editor.AddAttribute(j++, "TimeSectionVisible", true); + editor.AddAttribute(j++, "TimeSectionScrollPickerFormat", "tt h m"); editor.AddAttribute(j++, "DateChanged", EventCallback.Factory.Create(this, str => { property.SetValue(Data, str); })); editor.CloseComponent(); break; diff --git a/TIAMSharedUI/Pages/User/Drivers/DriverManageTransfers.razor b/TIAMSharedUI/Pages/User/Drivers/DriverManageTransfers.razor index fc2836cc..d84369a7 100644 --- a/TIAMSharedUI/Pages/User/Drivers/DriverManageTransfers.razor +++ b/TIAMSharedUI/Pages/User/Drivers/DriverManageTransfers.razor @@ -128,6 +128,38 @@
+ + +
+ + + + + + + + + + + + + +
+
+
@@ -143,7 +175,7 @@ [Parameter] public Guid DriverId { get; set; } private Guid driverId; private LoggerClient _logger; - + private TransferGrid _gridTransfer; private bool _popupVisible; private List? transfers = []; @@ -153,6 +185,14 @@ AccordionExpandMode ExpandMode { get; set; } = AccordionExpandMode.SingleOrNone; AccordionExpandCollapseAction ExpandCollapseAction { get; set; } = AccordionExpandCollapseAction.HeaderClick; + private MessageWizardModel _messageWizardModel = new(); + + public List AppointmentModels { get; set; } = null!; + + DateTime StartDate { get; set; } = DateTime.Today; + DxSchedulerDataStorage _dataStorage = new(); + + public List IgnoreList = [ "ReceiverEmailAddress", @@ -177,15 +217,71 @@ new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled") ]; + void Grid_CustomizeElement(GridCustomizeElementEventArgs e) + { + try + { + if (e.ElementType == GridElementType.HeaderCell) + { + e.Style = "background-color: rgba(0, 0, 0, 0.08)"; + e.CssClass = "header-bold"; + } + if (e.ElementType != GridElementType.DataRow) return; - private MessageWizardModel _messageWizardModel = new(); + var transferStatus = e.Grid?.GetRowValue(e.VisibleIndex, "TransferStatusType"); + if (transferStatus == null) return; - public List AppointmentModels { get; set; } = null!; + var transferStatusByte = (byte)transferStatus; - DateTime StartDate { get; set; } = DateTime.Today; - DxSchedulerDataStorage _dataStorage = new(); + switch (transferStatusByte) + { + case 5: + e.CssClass = "bg-important"; + break; + case > 5 and < 35: + e.CssClass = "bg-attention"; + break; + case 35: + e.CssClass = "bg-finished"; + break; + case > 35: + e.CssClass = "bg-cancel"; + break; + } + } + catch (Exception ex) + { + _logger.Error($"Grid_CustomizeElement; {ex.Message}", ex); + } + } + void Grid_CustomGroup(GridCustomGroupEventArgs e) + { + if (e.FieldName == "Appointment") + { + e.SameGroup = Grid_CompareColumnValues(((DateTime)e.Value1).Date, ((DateTime)e.Value2).Date); + e.Handled = true; + } + } + bool Grid_CompareColumnValues(DateTime value1, DateTime value2) + { + if (value1 == value2) + return true; + else + return false; + } + void Grid_CustomizeGroupValueDisplayText(GridCustomizeGroupValueDisplayTextEventArgs e) + { + if (e.FieldName == "Appointment") + { + + string displayText = ((DateTime)e.Value).Date.ToString(); + e.DisplayText = displayText; + } + } + + private void RefreshComponent() { StateHasChanged(); diff --git a/TIAMSharedUI/Pages/User/Hotels/CreateAndManageTransfer.razor b/TIAMSharedUI/Pages/User/Hotels/CreateAndManageTransfer.razor index 12478896..5843717a 100644 --- a/TIAMSharedUI/Pages/User/Hotels/CreateAndManageTransfer.razor +++ b/TIAMSharedUI/Pages/User/Hotels/CreateAndManageTransfer.razor @@ -1,5 +1,8 @@ @page "/user/createAndManageTransfer" +@using AyCode.Core.Consts +@using AyCode.Core.Helpers @using TIAM.Entities.Products +@using TIAM.Entities.ServiceProviders @using TIAM.Entities.Transfers @using TIAM.Services @using TIAMSharedUI.Pages.Components.EditComponents @@ -7,6 +10,7 @@ @using AyCode.Services.Loggers @using TIAMWebApp.Shared.Application.Interfaces; @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels +@using TIAMWebApp.Shared.Application.Models.PageModels @using TIAMWebApp.Shared.Application.Services @using TIAMWebApp.Shared.Application.Utility @layout AdminLayout @@ -15,6 +19,7 @@ @inject IUserDataService UserDataService @inject IEnumerable LogWriters @inject AdminSignalRClient _adminSignalRClient +@inject NavigationManager navManager Create transfer @@ -44,6 +49,11 @@ +
+ + Reload +
+ @@ -52,7 +62,7 @@ @code { private LoggerClient _logger; - private TransferWizardModel Data; + private TransferWizardModel Data = new(); private List Hotels = new List(); private Product SelectedHotel; public List TransferIgnorList = new List @@ -67,7 +77,7 @@ nameof(TransferWizardModel.ReferralId), nameof(TransferWizardModel.Price) }; - + private bool isReloadVisible = false; protected override void OnInitialized() { @@ -92,11 +102,60 @@ var valami = ((TransferWizardModel)result).CopyToTransfer(); valami.Id = Guid.NewGuid(); valami.ProductId = SelectedHotel.Id; + var user = await UserDataService.GetUserByEmailAsync(valami.ContactEmail); + if (user != null && user.Id != Guid.Empty) + { + //user exists already + var userDetail = await UserDataService.GetUserDetailByIdAsync(user.Id); + valami.ReferralId = userDetail.UserDto.RefferalId; + valami.UserId = userDetail.Id; + } + else + { + //create a guest user and set referralId + var registration = new RegistrationModel(); + //TODO: Refractor to userDataService + + // var random = new Random(); + // const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; + // var password = new string(Enumerable.Repeat(chars, 10) + // .Select(s => s[random.Next(s.Length)]).ToArray()); + + var password = AcCharsGenerator.NewPassword(AcConst.MinPasswordLength, 16); + + registration.Email = valami.ContactEmail; + registration.PhoneNumber = valami.ContactPhone; + registration.Password = password; + //get list with one member! + var productOwner = await _adminSignalRClient.GetByIdAsync>(SignalRTags.GetCompaniesById, SelectedHotel.ServiceProviderId); + + registration.ReferralId = productOwner[0].AffiliateId; + + var createResult = await UserDataService.CreateGuestUser(registration); + if(createResult.isSuccess) + { + if (createResult.user != null) + { + valami.UserId = createResult.user.Id; + } + } + _logger.Info("New user created added"); + } //valami.ProductId = SessionService.User.UserId; //TODO ProductID! // await WizardProcessor.ProcessWizardAsync(result.GetType(), result); + var saveResult = await _adminSignalRClient.PostDataAsync(SignalRTags.AddTransfer, valami); - _logger.Info($"Submitted nested form: {result.GetType().FullName}, {valami.ToAddress}, {valami.FromAddress}, {valami.ProductId}"); + _logger.Info($"Submitted form: {result.GetType().FullName}, {valami.ToAddress}, {valami.FromAddress}, {valami.ProductId}"); + isReloadVisible = true; } + public void Reload() + { + Data = new TransferWizardModel(); + isReloadVisible = false; + StateHasChanged(); + } + + } diff --git a/TIAMSharedUI/Pages/User/Hotels/HotelComponent.razor b/TIAMSharedUI/Pages/User/Hotels/HotelComponent.razor index 64db4983..521288e2 100644 --- a/TIAMSharedUI/Pages/User/Hotels/HotelComponent.razor +++ b/TIAMSharedUI/Pages/User/Hotels/HotelComponent.razor @@ -102,26 +102,14 @@ } - - - + - - - - - - @{ - - TransferStatusModel keyField = Statuses.FirstOrDefault(x => x.StatusValue == (byte)context.Value)!; - string transferStatusText = keyField.StatusName; - @transferStatusText - } - - - + + + + @@ -143,9 +131,7 @@ -
-

Some conclusion

-
+