implement SiteViewModel; improvements, fixes, etc...
This commit is contained in:
parent
dd8b1ac6b4
commit
a82bf9a287
|
|
@ -31,6 +31,7 @@ using DevExpress.Data.Linq.Helpers;
|
|||
using TIAM.Database.DbSets.Drivers;
|
||||
using AyCode.Entities.Server.LogItems;
|
||||
using AyCode.Interfaces.Entities;
|
||||
using TIAM.Models;
|
||||
using TIAM.Models.Dtos.Users;
|
||||
using TIAM.Models.PageViewModels;
|
||||
|
||||
|
|
@ -42,6 +43,13 @@ namespace TIAM.Database.DataLayers.Admins
|
|||
{
|
||||
}
|
||||
|
||||
//TODO: ezt meg a Messages-eket átbuherálni a UserDal-ra... - J.
|
||||
public async Task<SiteViewModel> GetSiteViewModelByUserId(Guid userId)
|
||||
{
|
||||
var messages = await GetEmailMessagesByUserId(userId, true);
|
||||
return new SiteViewModel(messages);
|
||||
}
|
||||
|
||||
#region Car
|
||||
public Task<List<Car>> GetAllCarsAsync() => SessionAsync(ctx => ctx.Cars.OrderBy(x => x.Manufacture).ThenBy(x => x.CarModel).ToList());
|
||||
public Task<List<Car>> GetAllCarsbyProductIdAsync(Guid productId) => SessionAsync(ctx => ctx.Cars.Where(x => x.UserProductMapping.ProductId == productId).OrderBy(x => x.Manufacture).ThenBy(x => x.CarModel).ToList());
|
||||
|
|
@ -69,9 +77,9 @@ namespace TIAM.Database.DataLayers.Admins
|
|||
public Task<DriverManageTransfersPageModel> GetDriverManageTransfersPageModelByDriverId(Guid driverId) => SessionAsync(ctx =>
|
||||
{
|
||||
var transfers = ctx.GetTransfersByUserProductMappingId(driverId).OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId);
|
||||
var unreadedMessagesCount = GetTransfersMessagesByDriverIdInnerAsync(ctx, driverId)?.Count(x => !x.IsReaded) ?? 0;
|
||||
var unreadMessagesCount = GetTransfersMessagesByDriverIdInnerAsync(ctx, driverId)?.Count(x => !x.IsReaded) ?? 0;
|
||||
|
||||
return new DriverManageTransfersPageModel(transfers, unreadedMessagesCount);
|
||||
return new DriverManageTransfersPageModel(transfers, unreadMessagesCount);
|
||||
});
|
||||
|
||||
public Task<List<Transfer>> GetTransfersAsync() => SessionAsync(ctx => ctx.GetTransfers().OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToList());
|
||||
|
|
@ -336,8 +344,11 @@ namespace TIAM.Database.DataLayers.Admins
|
|||
public Task<List<EmailMessage>> GetEmailMessagesAsync(Guid contextId, Guid userId, Guid userProductMappingId) => SessionAsync(ctx => ctx.GetEmailMessages<EmailMessage, EmailRecipient>(contextId, userId, userProductMappingId).OrderByDescending(x => x.Created).ToList());
|
||||
public Task<List<EmailMessage>> GetAllEmailMessagesAsync() => SessionAsync(ctx => ctx.GetAllEmailMessages<EmailMessage, EmailRecipient>().OrderByDescending(x => x.Created).ToList());
|
||||
|
||||
public Task<List<EmailMessage>> GetEmailMessagesByUserId(Guid userId)
|
||||
=> SessionAsync(ctx => ctx.GetEmailMessagesByIds<EmailMessage, EmailRecipient>(ctx.GetUserProductMappingsByUserId(userId).Select(x => x.Id).Concat([userId])).ToList());
|
||||
public Task<List<EmailMessage>> GetEmailMessagesByUserId(Guid userId, bool onlyUnread = false)
|
||||
=> SessionAsync(ctx => ctx
|
||||
.GetEmailMessagesByIds<EmailMessage, EmailRecipient>(ctx.GetUserProductMappingsByUserId(userId).Select(x => x.Id).Concat([userId]))
|
||||
.Where(x => !onlyUnread || !x.IsReaded)
|
||||
.ToList());
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
|
|
@ -352,7 +363,7 @@ namespace TIAM.Database.DataLayers.Admins
|
|||
/// </summary>
|
||||
/// <param name="driverId">UserProductMappingId</param>
|
||||
/// <returns></returns>
|
||||
public Task<int> GetTransfersMessagesUnreadedCountByDriverIdAsync(Guid driverId)
|
||||
public Task<int> GetTransfersMessagesUnreadCountByDriverIdAsync(Guid driverId)
|
||||
=> SessionAsync(ctx => GetTransfersMessagesByDriverIdInnerAsync(ctx, driverId)?.Count(x => !x.IsReaded) ?? 0);
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using AyCode.Database.DataLayers.Users;
|
||||
using AyCode.Database.DbSets.Messages;
|
||||
using AyCode.Database.DbSets.Users;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using TIAM.Database.DbContexts.Users;
|
||||
|
|
@ -7,6 +8,7 @@ using TIAM.Entities.Emails;
|
|||
using TIAM.Entities.Profiles;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
using TIAM.Entities.Users;
|
||||
using TIAM.Models;
|
||||
using TIAM.Models.Dtos.Users;
|
||||
|
||||
namespace TIAM.Database.DataLayers.Users
|
||||
|
|
@ -22,6 +24,11 @@ namespace TIAM.Database.DataLayers.Users
|
|||
{
|
||||
}
|
||||
|
||||
//public Task<SiteViewModel> GetSiteViewModelByUserId(Guid userId) => SessionAsync(ctx =>
|
||||
//{
|
||||
// ctx.GetEmailMessagesByUserIdOrUpmId<EmailMessage, EmailRecipient>(userId,
|
||||
//}));
|
||||
|
||||
public Task<List<UserModelDtoEmail>> GetUserModelDtoEmailsAsync() => SessionAsync(ctx => ctx.Users.Select(x => new UserModelDtoEmail(x)).ToList());
|
||||
|
||||
public override Task<User?> UpdateUserAsync(User user) => base.UpdateSafeAsync(user);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using AyCode.Blazor.Models.ViewModels;
|
||||
using Newtonsoft.Json;
|
||||
using System.Security.Cryptography.Xml;
|
||||
using TIAM.Core.Enums;
|
||||
using TIAM.Entities.Transfers;
|
||||
|
||||
|
|
@ -10,7 +11,7 @@ public class DriverManageTransfersPageModel : AcPageViewModelBase
|
|||
private readonly object _forLock = new();
|
||||
private const int AppointmentWaitingHours = 3;
|
||||
|
||||
public int UnreadedMessagesCount { get; set; }
|
||||
public int UnreadMessagesCount { get; set; }
|
||||
public List<Transfer> Transfers { get; set; } = [];
|
||||
|
||||
private readonly List<Transfer> _upcomings = [];
|
||||
|
|
@ -65,29 +66,39 @@ public class DriverManageTransfersPageModel : AcPageViewModelBase
|
|||
{
|
||||
}
|
||||
|
||||
public DriverManageTransfersPageModel(IEnumerable<Transfer> transfers, int unreadedMessagesCount)
|
||||
public DriverManageTransfersPageModel(IEnumerable<Transfer> transfers, int unreadMessagesCount)
|
||||
{
|
||||
Initialize(transfers, unreadedMessagesCount);
|
||||
Initialize(transfers, unreadMessagesCount);
|
||||
}
|
||||
|
||||
public void Initialize(DriverManageTransfersPageModel? driverManageTransfersPageModel)
|
||||
{
|
||||
if (driverManageTransfersPageModel == null) return;
|
||||
|
||||
Initialize(driverManageTransfersPageModel.Transfers, driverManageTransfersPageModel.UnreadedMessagesCount);
|
||||
Initialize(driverManageTransfersPageModel.Transfers, driverManageTransfersPageModel.UnreadMessagesCount);
|
||||
}
|
||||
|
||||
public void Initialize(IEnumerable<Transfer> transfers, int unreadedMessagesCount)
|
||||
public void Initialize(IEnumerable<Transfer> transfers, int unreadMessagesCount)
|
||||
{
|
||||
lock (_forLock)
|
||||
{
|
||||
ClearAll();
|
||||
|
||||
Transfers.AddRange(transfers.Where(t => t.TransferStatusType != TransferStatusType.UserCanceled && t.TransferStatusType != TransferStatusType.AdminDenied));
|
||||
}
|
||||
|
||||
UnreadMessagesCount = unreadMessagesCount;
|
||||
}
|
||||
|
||||
public void ClearAll()
|
||||
{
|
||||
lock (_forLock)
|
||||
{
|
||||
Transfers.Clear();
|
||||
Transfers.AddRange(transfers.Where(t => t.TransferStatusType != TransferStatusType.UserCanceled && t.TransferStatusType != TransferStatusType.AdminDenied));
|
||||
|
||||
Upcomings.Clear();
|
||||
Problems.Clear();
|
||||
}
|
||||
|
||||
UnreadedMessagesCount = unreadedMessagesCount;
|
||||
UnreadMessagesCount = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,51 @@
|
|||
using AyCode.Blazor.Models.ViewModels;
|
||||
using TIAM.Entities.Emails;
|
||||
using TIAM.Models.PageViewModels;
|
||||
|
||||
namespace TIAM.Models;
|
||||
|
||||
public class SiteViewModel : AcSiteViewModel
|
||||
{
|
||||
private readonly object _forLock = new object();
|
||||
|
||||
public List<EmailMessage> UnreadMessages { get; } = [];
|
||||
|
||||
public DriverManageTransfersPageModel DriverManageTransfersPageModel { get; } = new();
|
||||
|
||||
public SiteViewModel()
|
||||
{}
|
||||
|
||||
public SiteViewModel(IEnumerable<EmailMessage> unreadMessages)
|
||||
{
|
||||
Initialize(unreadMessages);
|
||||
}
|
||||
|
||||
public void Initialize(SiteViewModel siteViewModel)
|
||||
{
|
||||
lock (_forLock)
|
||||
{
|
||||
//A PageViewModel-eket itt nem Initialize-oljuk, azok majd lefutnak miokor használjuk őket! - J.
|
||||
|
||||
Initialize(siteViewModel.UnreadMessages);
|
||||
}
|
||||
}
|
||||
|
||||
public void Initialize(IEnumerable<EmailMessage> unreadMessages)
|
||||
{
|
||||
lock (_forLock)
|
||||
{
|
||||
UnreadMessages.Clear();
|
||||
UnreadMessages.AddRange(unreadMessages);
|
||||
}
|
||||
}
|
||||
|
||||
public void ClearAll()
|
||||
{
|
||||
lock (_forLock)
|
||||
{
|
||||
UnreadMessages.Clear();
|
||||
|
||||
DriverManageTransfersPageModel.ClearAll();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5,6 +5,8 @@ namespace TIAM.Services;
|
|||
|
||||
public class SignalRTags : AcSignalRTags
|
||||
{
|
||||
public const int GetSiteViewModelByUserId = 999;
|
||||
|
||||
public const int GetTransfer = 1;
|
||||
public const int GetTransfers = 2;
|
||||
public const int GetTransfersByUserId = 3;
|
||||
|
|
@ -13,8 +15,7 @@ public class SignalRTags : AcSignalRTags
|
|||
public const int GetTransfersByCompanyId = 6;
|
||||
public const int GetTransfersByUserProductMappingId = 701;
|
||||
public const int GetTransfersByOrderingProductId = 702;
|
||||
public const int GetDriverManageTransfersPageModelByDriverId = 703;
|
||||
|
||||
|
||||
public const int GetTransfersByFilterText = 301;
|
||||
|
||||
public const int UpdateTransfer = 7;
|
||||
|
|
@ -38,6 +39,7 @@ public class SignalRTags : AcSignalRTags
|
|||
public const int AddTransferToDriver = 26;
|
||||
public const int UpdateTransferToDriver = 27;
|
||||
public const int RemoveTransferToDriver = 28;
|
||||
public const int GetDriverManageTransfersPageModelByDriverId = 803;
|
||||
|
||||
public const int GetAddress = 29;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using AyCode.Services.Loggers;
|
|||
using Newtonsoft.Json;
|
||||
using TIAM.Core.Loggers;
|
||||
using TIAM.Entities.Users;
|
||||
using TIAM.Models;
|
||||
using TIAM.Models.Dtos.Users;
|
||||
using TIAMWebApp.Shared.Application.Interfaces;
|
||||
using TIAMWebApp.Shared.Application.Models;
|
||||
|
|
@ -18,19 +19,21 @@ namespace TIAMMobileApp.Services
|
|||
{
|
||||
public class UserDataServiceMobile : IUserDataService
|
||||
{
|
||||
private readonly HttpClient http;
|
||||
private readonly ISecureStorageHandler secureStorageHandler;
|
||||
private readonly IServiceProviderDataService serviceProviderDataService;
|
||||
private readonly HttpClient _http;
|
||||
private readonly SiteViewModel _siteViewModel;
|
||||
private readonly ISecureStorageHandler _secureStorageHandler;
|
||||
private readonly IServiceProviderDataService _serviceProviderDataService;
|
||||
private readonly LoggerClient<UserDataServiceMobile> _logger;
|
||||
|
||||
|
||||
public UserDataServiceMobile(HttpClient http, ISecureStorageHandler secureStorageHandler, IServiceProviderDataService serviceProviderDataService, IEnumerable<IAcLogWriterClientBase> logWriters)
|
||||
public UserDataServiceMobile(HttpClient http, SiteViewModel siteViewModel, ISecureStorageHandler secureStorageHandler, IServiceProviderDataService serviceProviderDataService, IEnumerable<IAcLogWriterClientBase> logWriters)
|
||||
{
|
||||
this.http = http;
|
||||
this.secureStorageHandler = secureStorageHandler;
|
||||
_http = http;
|
||||
_secureStorageHandler = secureStorageHandler;
|
||||
_siteViewModel = siteViewModel;
|
||||
|
||||
//this._browserConsoleLogWriter = new BrowserConsoleLogWriter(jsRuntime);
|
||||
this.serviceProviderDataService = serviceProviderDataService;
|
||||
_serviceProviderDataService = serviceProviderDataService;
|
||||
_logger = new LoggerClient<UserDataServiceMobile>(logWriters.ToArray());
|
||||
//_logger = new TIAM.Core.Loggers.Logger<UserDataServiceWeb>(AppType.Web, LogLevel.Info, logWriters.ToArray());
|
||||
//_logger = new TIAM.Core.Loggers.Logger<UserDataServiceWeb>(AppType.Web, LogLevel.Info, logWriter);
|
||||
|
|
@ -75,7 +78,7 @@ namespace TIAMMobileApp.Services
|
|||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.UserTest}";
|
||||
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, Param);
|
||||
var response = await _http.PostAsJsonAsync(url, Param);
|
||||
var result = await response.Content.ReadAsStringAsync();
|
||||
return result;
|
||||
}
|
||||
|
|
@ -85,7 +88,7 @@ namespace TIAMMobileApp.Services
|
|||
string result = string.Empty;
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.AuthenticateUser}";
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, loginModel);
|
||||
var response = await _http.PostAsJsonAsync(url, loginModel);
|
||||
|
||||
//try
|
||||
//{
|
||||
|
|
@ -117,7 +120,7 @@ namespace TIAMMobileApp.Services
|
|||
string result = string.Empty;
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateUser}";
|
||||
_logger.Info("CreateUser url: " + url);
|
||||
var response = await http.PostAsJsonAsync(url, regModel);
|
||||
var response = await _http.PostAsJsonAsync(url, regModel);
|
||||
result = await response.Content.ReadAsStringAsync();
|
||||
/*if (response.IsSuccessStatusCode)
|
||||
{
|
||||
|
|
@ -142,7 +145,7 @@ namespace TIAMMobileApp.Services
|
|||
UserModelDto? user = new UserModelDto();
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateGuestUser}";
|
||||
_logger.Info("CreateGuestUser url: " + url);
|
||||
var response = await http.PostAsJsonAsync(url, regModel);
|
||||
var response = await _http.PostAsJsonAsync(url, regModel);
|
||||
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
|
|
@ -165,7 +168,7 @@ namespace TIAMMobileApp.Services
|
|||
|
||||
public async Task<List<UserModelDto>?> GetUsersAsync()
|
||||
{
|
||||
return await http.GetFromJsonAsync<List<UserModelDto>>(APIUrls.GetUsers);
|
||||
return await _http.GetFromJsonAsync<List<UserModelDto>>(APIUrls.GetUsers);
|
||||
}
|
||||
|
||||
public async Task<List<UserModelDtoDetail>?> GetUsersWithDetailsAsync()
|
||||
|
|
@ -174,7 +177,7 @@ namespace TIAMMobileApp.Services
|
|||
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUsersWithDetails}";
|
||||
_logger.Info("GetUserByEmailAsync url: " + url + "!");
|
||||
var response = await http.GetFromJsonAsync<List<UserModelDtoDetail>>(APIUrls.GetUsersWithDetails);
|
||||
var response = await _http.GetFromJsonAsync<List<UserModelDtoDetail>>(APIUrls.GetUsersWithDetails);
|
||||
//var result = await response.Content.ReadAsStringAsync();
|
||||
//var user = JsonConvert.DeserializeObject<UserModelDto>(result);
|
||||
return response;
|
||||
|
|
@ -189,7 +192,7 @@ namespace TIAMMobileApp.Services
|
|||
{
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}/{email}";
|
||||
_logger.Info("GetUserByEmailAsync url: " + url + ", " + email);
|
||||
var response = await http.GetAsync(url);
|
||||
var response = await _http.GetAsync(url);
|
||||
|
||||
response.EnsureSuccessStatusCode();
|
||||
if (response.Content != null)
|
||||
|
|
@ -230,7 +233,7 @@ namespace TIAMMobileApp.Services
|
|||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserById}";
|
||||
_logger.Info("GetUserByIdAsync url: " + url + ", " + id.ToString());
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, id);
|
||||
var response = await _http.PostAsJsonAsync(url, id);
|
||||
var result = await response.Content.ReadAsStringAsync();
|
||||
var user = JsonConvert.DeserializeObject<UserModelDto>(result);
|
||||
|
||||
|
|
@ -244,7 +247,7 @@ namespace TIAMMobileApp.Services
|
|||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserDetailById}";
|
||||
_logger.Info("GetUserDetailByIdAsync url: " + url + ", " + id.ToString());
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, id);
|
||||
var response = await _http.PostAsJsonAsync(url, id);
|
||||
var result = await response.Content.ReadAsStringAsync();
|
||||
var user = JsonConvert.DeserializeObject<UserModelDtoDetail>(result);
|
||||
|
||||
|
|
@ -268,7 +271,7 @@ namespace TIAMMobileApp.Services
|
|||
try
|
||||
{
|
||||
_logger.Info("Refreshtoken url: " + url);
|
||||
var response = await http.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
|
||||
var response = await _http.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
string contentStr = await response.Content.ReadAsStringAsync();
|
||||
|
|
@ -280,7 +283,7 @@ namespace TIAMMobileApp.Services
|
|||
Setting.UserBasicDetails.RefreshToken = tokenDetails.RefreshToken;
|
||||
|
||||
string userDetailsStr = JsonConvert.SerializeObject(Setting.UserBasicDetails);
|
||||
await secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr);
|
||||
await _secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr);
|
||||
isTokenRefreshed = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -299,9 +302,11 @@ namespace TIAMMobileApp.Services
|
|||
{
|
||||
_logger.Info("Logout() called");
|
||||
|
||||
_siteViewModel.ClearAll();
|
||||
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.LogoutUser}";
|
||||
bool result = false;
|
||||
var response = await http.PostAsJsonAsync(url, RefreshToken);
|
||||
var response = await _http.PostAsJsonAsync(url, RefreshToken);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
string resultMessage = await response.Content.ReadAsStringAsync();
|
||||
|
|
@ -329,7 +334,7 @@ namespace TIAMMobileApp.Services
|
|||
_logger.Info("SendForgottenPasswordMail() called");
|
||||
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.SendForgottenPasswordMail}";
|
||||
var response = await http.PostAsJsonAsync(url, emailAddress);
|
||||
var response = await _http.PostAsJsonAsync(url, emailAddress);
|
||||
var success = await response.Content.ReadFromJsonAsync<bool>();
|
||||
|
||||
_logger.Detail($"SendForgottenPasswordMail(): {success.ToString()}");
|
||||
|
|
@ -344,7 +349,7 @@ namespace TIAMMobileApp.Services
|
|||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.ValidateForgottenPasswordToken}";
|
||||
var parameters = new[] { userId.ToString(), token };
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, parameters);
|
||||
var response = await _http.PostAsJsonAsync(url, parameters);
|
||||
result = await response.Content.ReadAsStringAsync();
|
||||
|
||||
_logger.Detail($"ValidateForgotPasswordToken(): {result}");
|
||||
|
|
@ -359,7 +364,7 @@ namespace TIAMMobileApp.Services
|
|||
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.SetEmailConfirmed}";
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, userId);
|
||||
var response = await _http.PostAsJsonAsync(url, userId);
|
||||
result = await response.Content.ReadFromJsonAsync<bool>();
|
||||
|
||||
_logger.Detail($"ValidateForgotPasswordToken(): {result.ToString()}");
|
||||
|
|
|
|||
|
|
@ -11,9 +11,13 @@
|
|||
@using AyCode.Interfaces.StorageHandlers;
|
||||
@using System.Globalization;
|
||||
@using AyCode.Core.Enums
|
||||
@using AyCode.Core.Helpers
|
||||
@using AyCode.Core.Loggers
|
||||
@using AyCode.Services.Loggers
|
||||
@using TIAM.Core.Loggers
|
||||
@using TIAM.Models
|
||||
@using TIAM.Services
|
||||
@using TIAMWebApp.Shared.Application.Services
|
||||
@inject NavigationManager NavManager
|
||||
@inject IJSRuntime JSRuntime
|
||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||
|
|
@ -24,6 +28,8 @@
|
|||
@inject HttpClient http;
|
||||
@inject IComponentUpdateService ComponentUpdateService
|
||||
@inject AuthenticationStateProvider AuthStateProvider
|
||||
@inject AdminSignalRClient _adminSignalRClient;
|
||||
@inject SiteViewModel _siteViewModel;
|
||||
|
||||
@{
|
||||
if (string.IsNullOrWhiteSpace(TrackingId))
|
||||
|
|
@ -81,6 +87,7 @@
|
|||
if(userBasicDetail!= null)
|
||||
Setting.UserBasicDetails = userBasicDetail;
|
||||
|
||||
var isSuccess = false;
|
||||
if (jsontoken?.ValidTo < DateTime.UtcNow)
|
||||
{
|
||||
_logger.Info("Token needs to be refreshed");
|
||||
|
|
@ -91,6 +98,8 @@
|
|||
await AuthStateProvider.GetAuthenticationStateAsync();
|
||||
_logger.Info("Token refreshed");
|
||||
|
||||
isSuccess = true;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -105,11 +114,25 @@
|
|||
{
|
||||
_logger.Info("Valid token found");
|
||||
await AuthStateProvider.GetAuthenticationStateAsync();
|
||||
|
||||
isSuccess = true;
|
||||
}
|
||||
|
||||
string _userId = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.NameId).Value;
|
||||
string _email = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.Email).Value;
|
||||
var user = await UserDataService.IsLoggedInAsync(Guid.Parse(_userId));
|
||||
|
||||
if (isSuccess)
|
||||
{
|
||||
_adminSignalRClient.GetByIdAsync<SiteViewModel>(SignalRTags.GetSiteViewModelByUserId, signalResponseMessage =>
|
||||
{
|
||||
_siteViewModel.Initialize(signalResponseMessage.ResponseData!);
|
||||
_logger.Debug($"UnreadMessages: {_siteViewModel.UnreadMessages.Count}");
|
||||
|
||||
return Task.CompletedTask;
|
||||
}, user.UserId).Forget();
|
||||
}
|
||||
|
||||
await SaveToSessionInfo(user);
|
||||
_logger.Info($"Saved user in db is: {user.DisplayName}, setting autenthicated state");
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using Microsoft.AspNetCore.Components;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Text.Json;
|
||||
using AyCode.Core.Helpers;
|
||||
using TIAMWebApp.Shared.Application.Models.ClientSide;
|
||||
using TIAMWebApp.Shared.Application.Models;
|
||||
using TIAMWebApp.Shared.Application.Interfaces;
|
||||
|
|
@ -12,6 +13,8 @@ using AyCode.Services.Loggers;
|
|||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using TIAM.Core.Consts;
|
||||
using TIAM.Entities.Users;
|
||||
using TIAM.Models;
|
||||
using TIAM.Services;
|
||||
using TIAMWebApp.Shared.Application.Services;
|
||||
using TIAMSharedUI.Shared.Components.BaseComponents;
|
||||
|
||||
|
|
@ -19,7 +22,9 @@ namespace TIAMSharedUI.Pages
|
|||
{
|
||||
public partial class Login : BasePageComponent
|
||||
{
|
||||
|
||||
[Inject] private AdminSignalRClient _adminSignalRClient { get; set; }
|
||||
[Inject] private SiteViewModel _siteViewModel { get; set; }
|
||||
|
||||
[Inject]
|
||||
public NavigationManager navManager { get; set; }
|
||||
[Inject]
|
||||
|
|
@ -115,8 +120,17 @@ namespace TIAMSharedUI.Pages
|
|||
//display success message via jsinterop
|
||||
BrowserConsoleLogWriter.Info("Successful login");
|
||||
var user = await userDataService.IsLoggedInAsync(myId);
|
||||
SaveToSessionInfo(user);
|
||||
user.UserType = UserType.Admin;
|
||||
|
||||
_adminSignalRClient.GetByIdAsync<SiteViewModel>(SignalRTags.GetSiteViewModelByUserId, signalResponseMessage =>
|
||||
{
|
||||
_siteViewModel.Initialize(signalResponseMessage.ResponseData!);
|
||||
BrowserConsoleLogWriter.Debug($"UnreadMessages: {_siteViewModel.UnreadMessages.Count}");
|
||||
|
||||
return Task.CompletedTask;
|
||||
}, user.UserId).Forget();
|
||||
|
||||
SaveToSessionInfo(user).Forget();
|
||||
|
||||
navManager.NavigateTo("/");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
@using AyCode.Services.SignalRs
|
||||
@using DevExpress.Data.Filtering
|
||||
@using TIAM.Entities.Emails
|
||||
@using TIAM.Models
|
||||
@using TIAM.Models.PageViewModels
|
||||
@using TIAMSharedUI.Shared.Components.BaseComponents
|
||||
@inherits UserBasePageComponent
|
||||
|
|
@ -34,7 +35,7 @@
|
|||
@inject IWizardProcessor wizardProcessor
|
||||
@inject ITransferDataService transferDataService
|
||||
@inject ISessionService sessionService
|
||||
@inject DriverManageTransfersPageModel PageModel;
|
||||
@inject SiteViewModel SiteViewModel;
|
||||
@inject AdminSignalRClient AdminSignalRClient;
|
||||
<PageTitle>Transfers</PageTitle>
|
||||
|
||||
|
|
@ -75,12 +76,12 @@
|
|||
<div class=" col-12">
|
||||
|
||||
<DxTabs CssClass="no-padding">
|
||||
<DxTabPage Text="@($"Upcoming({PageModel.Upcomings.Count})")">
|
||||
<DxTabPage Text="@($"Upcoming({_pageModel.Upcomings.Count})")">
|
||||
<DxAccordion CssClass="no-padding" SizeMode="@SizeMode.Small" ExpandMode="ExpandMode"
|
||||
ExpandCollapseAction="ExpandCollapseAction"
|
||||
AnimationType="LayoutAnimationType.Slide">
|
||||
<Items>
|
||||
@foreach (var transfer in PageModel.Upcomings)
|
||||
@foreach (var transfer in _pageModel.Upcomings)
|
||||
{
|
||||
<DxAccordionItem IconCssClass="@GetCustomColor(transfer.TransferStatusType)">
|
||||
<HeaderTextTemplate>
|
||||
|
|
@ -100,18 +101,18 @@
|
|||
</DxAccordion>
|
||||
</DxTabPage>
|
||||
|
||||
<DxTabPage Text="@($"Messages({PageModel.UnreadedMessagesCount})")">
|
||||
<DxTabPage Text="@($"Messages({_pageModel.UnreadMessagesCount})")">
|
||||
<div class="d-flex flex-column mb-4 pb-2">
|
||||
<MessageDetailGridComponent ContextId="driverId" GetAllMessageTag="SignalRTags.GetTransfersMessagesByDriverId" IsSenderEmailVisible="false" IsMessageTextVisible="false"></MessageDetailGridComponent>
|
||||
</div>
|
||||
</DxTabPage>
|
||||
|
||||
<DxTabPage Text="@($"Problems({PageModel.Problems.Count})")">
|
||||
<DxTabPage Text="@($"Problems({_pageModel.Problems.Count})")">
|
||||
<DxAccordion CssClass="no-padding" SizeMode="@SizeMode.Small" ExpandMode="ExpandMode"
|
||||
ExpandCollapseAction="ExpandCollapseAction"
|
||||
AnimationType="LayoutAnimationType.Slide">
|
||||
<Items>
|
||||
@foreach (var transfer in PageModel.Problems)
|
||||
@foreach (var transfer in _pageModel.Problems)
|
||||
{
|
||||
|
||||
<DxAccordionItem IconCssClass="@GetCustomColor(transfer.TransferStatusType)">
|
||||
|
|
@ -214,6 +215,7 @@
|
|||
DateTime StartDate { get; set; } = DateTime.Today;
|
||||
DxSchedulerDataStorage _dataStorage = new();
|
||||
|
||||
private DriverManageTransfersPageModel _pageModel;
|
||||
|
||||
public List<string> IgnoreList =
|
||||
[
|
||||
|
|
@ -404,6 +406,7 @@
|
|||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
_logger = new LoggerClient<DriverManageTransfers>(LogWriters.ToArray());
|
||||
_pageModel = SiteViewModel.DriverManageTransfersPageModel;
|
||||
|
||||
InitializePageAsync(DriverId).Forget();
|
||||
|
||||
|
|
@ -418,9 +421,9 @@
|
|||
{
|
||||
_logger.Error("response.Status == SignalResponseStatus.Error || response.ResponseData == null");
|
||||
}
|
||||
else PageModel.Initialize(response.ResponseData);
|
||||
else _pageModel.Initialize(response.ResponseData);
|
||||
|
||||
InitializeAppointments(PageModel.Transfers);
|
||||
InitializeAppointments(_pageModel.Transfers);
|
||||
StateHasChanged();
|
||||
|
||||
return Task.CompletedTask;
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@
|
|||
<text>@System.Text.RegularExpressions.Regex.Replace((displayTextContext.Value as string)!, "<(.|\n)*?>", string.Empty)</text>
|
||||
</CellDisplayTemplate>
|
||||
</DxGridDataColumn>
|
||||
<DxGridDataColumn FieldName="IsReaded" Caption="Readed" Visible="@IsMessageTextVisible" Width="70" CaptionAlignment="GridTextAlignment.Center" TextAlignment="GridTextAlignment.Center" />
|
||||
<DxGridDataColumn FieldName="IsReaded" Caption="Read" Visible="@IsMessageTextVisible" Width="70" CaptionAlignment="GridTextAlignment.Center" TextAlignment="GridTextAlignment.Center" />
|
||||
|
||||
</Columns>
|
||||
<DetailRowTemplate>
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ using Microsoft.JSInterop;
|
|||
using Microsoft.EntityFrameworkCore.Metadata.Internal;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using AyCode.Blazor.Components.Services;
|
||||
using TIAM.Models;
|
||||
|
||||
|
||||
namespace TIAMSharedUI.Shared.Components
|
||||
|
|
@ -51,6 +52,7 @@ namespace TIAMSharedUI.Shared.Components
|
|||
private IJSRuntime JsRuntime { get; set; }
|
||||
|
||||
[Inject] AuthenticationStateProvider AuthStateProvider { get; set; }
|
||||
[Inject] SiteViewModel SiteViewModel { get; set; }
|
||||
|
||||
private bool enableLogin = true;
|
||||
private bool enableEvents = false;
|
||||
|
|
@ -96,6 +98,8 @@ namespace TIAMSharedUI.Shared.Components
|
|||
|
||||
private async Task SignOut()
|
||||
{
|
||||
//SiteViewModel.ClearAll();
|
||||
|
||||
bool serverResult;
|
||||
string userDetailsStr = await SecureStorageHandler.GetFromSecureStorageAsync(nameof(Setting.UserBasicDetails));
|
||||
if (!string.IsNullOrEmpty(userDetailsStr))
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ using TIAMWebApp.Shared.Application.Utility;
|
|||
using AyCode.Services.Loggers;
|
||||
using System.Net;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using TIAM.Models;
|
||||
using TIAM.Models.PageViewModels;
|
||||
|
||||
|
||||
|
|
@ -30,7 +31,7 @@ builder.Services.AddScoped<ISecureStorageHandler, SecureStorageHandler>();
|
|||
builder.Services.AddBlazoredLocalStorage();
|
||||
builder.Services.AddSingleton<ISessionService, SessionServiceWeb>();
|
||||
|
||||
builder.Services.AddSingleton<DriverManageTransfersPageModel>();
|
||||
builder.Services.AddSingleton<SiteViewModel>();
|
||||
builder.Services.AddSingleton<IComponentUpdateService, ComponentUpdateServiceWeb>();
|
||||
|
||||
builder.Services.AddScoped<IServiceProviderDataService, ServiceProviderDataService>();
|
||||
|
|
|
|||
|
|
@ -12,28 +12,31 @@ using AyCode.Services.Loggers;
|
|||
using System.Net.Http;
|
||||
using AyCode.Core.Extensions;
|
||||
using System.Text.Json;
|
||||
using TIAM.Models;
|
||||
|
||||
|
||||
namespace TIAMWebApp.Client.Services
|
||||
{
|
||||
public class UserDataServiceWeb : IUserDataService
|
||||
{
|
||||
private readonly HttpClient http;
|
||||
private readonly ISecureStorageHandler secureStorageHandler;
|
||||
private readonly HttpClient _http;
|
||||
private readonly SiteViewModel _siteViewModel;
|
||||
private readonly ISecureStorageHandler _secureStorageHandler;
|
||||
//private readonly BrowserConsoleLogWriter _browserConsoleLogWriter;
|
||||
private readonly IServiceProviderDataService serviceProviderDataService;
|
||||
private readonly IServiceProviderDataService _serviceProviderDataService;
|
||||
private readonly LoggerClient<UserDataServiceWeb> _logger;
|
||||
|
||||
|
||||
|
||||
public UserDataServiceWeb(HttpClient http, ISecureStorageHandler secureStorageHandler, IServiceProviderDataService serviceProviderDataService, IEnumerable<IAcLogWriterClientBase> logWriters)
|
||||
public UserDataServiceWeb(HttpClient http, SiteViewModel siteViewModel, ISecureStorageHandler secureStorageHandler, IServiceProviderDataService serviceProviderDataService, IEnumerable<IAcLogWriterClientBase> logWriters)
|
||||
//public UserDataServiceWeb(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime, IServiceProviderDataService serviceProviderDataService, HttpClientLogItemWriter logWriter)
|
||||
{
|
||||
this.http = http;
|
||||
this.secureStorageHandler = secureStorageHandler;
|
||||
_http = http;
|
||||
_siteViewModel = siteViewModel;
|
||||
_secureStorageHandler = secureStorageHandler;
|
||||
|
||||
//this._browserConsoleLogWriter = new BrowserConsoleLogWriter(jsRuntime);
|
||||
this.serviceProviderDataService = serviceProviderDataService;
|
||||
_serviceProviderDataService = serviceProviderDataService;
|
||||
_logger = new LoggerClient<UserDataServiceWeb>(logWriters.ToArray());
|
||||
//_logger = new TIAM.Core.Loggers.Logger<UserDataServiceWeb>(AppType.Web, LogLevel.Info, logWriters.ToArray());
|
||||
//_logger = new TIAM.Core.Loggers.Logger<UserDataServiceWeb>(AppType.Web, LogLevel.Info, logWriter);
|
||||
|
|
@ -80,7 +83,7 @@ namespace TIAMWebApp.Client.Services
|
|||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.UserTest}";
|
||||
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, Param);
|
||||
var response = await _http.PostAsJsonAsync(url, Param);
|
||||
var result = await response.Content.ReadAsStringAsync();
|
||||
return result;
|
||||
}
|
||||
|
|
@ -90,7 +93,7 @@ namespace TIAMWebApp.Client.Services
|
|||
string result = string.Empty;
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.AuthenticateUser}";
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, loginModel);
|
||||
var response = await _http.PostAsJsonAsync(url, loginModel);
|
||||
|
||||
//try
|
||||
//{
|
||||
|
|
@ -122,7 +125,7 @@ namespace TIAMWebApp.Client.Services
|
|||
string result = string.Empty;
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateUser}";
|
||||
_logger.Info("CreateUser url: " + url);
|
||||
var response = await http.PostAsJsonAsync(url, regModel);
|
||||
var response = await _http.PostAsJsonAsync(url, regModel);
|
||||
result = await response.Content.ReadAsStringAsync();
|
||||
/*if (response.IsSuccessStatusCode)
|
||||
{
|
||||
|
|
@ -147,7 +150,7 @@ namespace TIAMWebApp.Client.Services
|
|||
UserModelDto? user = new UserModelDto();
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateGuestUser}";
|
||||
_logger.Info("CreateGuestUser url: " + url);
|
||||
var response = await http.PostAsJsonAsync(url, regModel);
|
||||
var response = await _http.PostAsJsonAsync(url, regModel);
|
||||
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
|
|
@ -171,7 +174,7 @@ namespace TIAMWebApp.Client.Services
|
|||
|
||||
public async Task<List<UserModelDto>?> GetUsersAsync()
|
||||
{
|
||||
return await http.GetFromJsonAsync<List<UserModelDto>>(APIUrls.GetUsers);
|
||||
return await _http.GetFromJsonAsync<List<UserModelDto>>(APIUrls.GetUsers);
|
||||
}
|
||||
|
||||
public async Task<List<UserModelDtoDetail>> GetUsersWithDetailsAsync()
|
||||
|
|
@ -179,7 +182,7 @@ namespace TIAMWebApp.Client.Services
|
|||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUsersWithDetails}";
|
||||
|
||||
_logger.Info("GetUserByEmailAsync url: " + url + "!");
|
||||
var response = await http.GetFromJsonAsync<List<UserModelDtoDetail>>(APIUrls.GetUsersWithDetails);
|
||||
var response = await _http.GetFromJsonAsync<List<UserModelDtoDetail>>(APIUrls.GetUsersWithDetails);
|
||||
//var result = await response.Content.ReadAsStringAsync();
|
||||
//var user = JsonConvert.DeserializeObject<UserModelDto>(result);
|
||||
return response ?? [];
|
||||
|
|
@ -194,7 +197,7 @@ namespace TIAMWebApp.Client.Services
|
|||
{
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}/{email}";
|
||||
_logger.Info("GetUserByEmailAsync url: " + url + ", " + email);
|
||||
var response = await http.GetAsync(url);
|
||||
var response = await _http.GetAsync(url);
|
||||
|
||||
response.EnsureSuccessStatusCode();
|
||||
if (response.Content != null)
|
||||
|
|
@ -235,7 +238,7 @@ namespace TIAMWebApp.Client.Services
|
|||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserById}";
|
||||
_logger.Info("GetUserByIdAsync url: " + url + ", " + id.ToString());
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, id);
|
||||
var response = await _http.PostAsJsonAsync(url, id);
|
||||
var result = await response.Content.ReadAsStringAsync();
|
||||
var user = JsonConvert.DeserializeObject<UserModelDto>(result);
|
||||
|
||||
|
|
@ -249,7 +252,7 @@ namespace TIAMWebApp.Client.Services
|
|||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserDetailById}";
|
||||
_logger.Info("GetUserDetailByIdAsync url: " + url + ", " + id.ToString());
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, id);
|
||||
var response = await _http.PostAsJsonAsync(url, id);
|
||||
//var result = await response.Content.ReadAsStringAsync();
|
||||
var result = await response.Content.ReadFromJsonAsync<UserModelDtoDetail>();
|
||||
//var user = JsonConvert.DeserializeObject<UserModelDtoDetail>(result);
|
||||
|
|
@ -274,7 +277,7 @@ namespace TIAMWebApp.Client.Services
|
|||
try
|
||||
{
|
||||
_logger.Info("Refreshtoken url: " + url);
|
||||
var response = await http.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
|
||||
var response = await _http.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
string contentStr = await response.Content.ReadAsStringAsync();
|
||||
|
|
@ -286,7 +289,7 @@ namespace TIAMWebApp.Client.Services
|
|||
Setting.UserBasicDetails.RefreshToken = tokenDetails.RefreshToken;
|
||||
|
||||
string userDetailsStr = JsonConvert.SerializeObject(Setting.UserBasicDetails);
|
||||
await secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr);
|
||||
await _secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr);
|
||||
isTokenRefreshed = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -306,9 +309,11 @@ namespace TIAMWebApp.Client.Services
|
|||
{
|
||||
_logger.Info("Logout() called");
|
||||
|
||||
_siteViewModel.ClearAll();
|
||||
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.LogoutUser}";
|
||||
bool result = false;
|
||||
var response = await http.PostAsJsonAsync(url, refreshToken);
|
||||
var response = await _http.PostAsJsonAsync(url, refreshToken);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
string resultMessage = await response.Content.ReadAsStringAsync();
|
||||
|
|
@ -336,7 +341,7 @@ namespace TIAMWebApp.Client.Services
|
|||
_logger.Info("SendForgottenPasswordMail() called");
|
||||
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.SendForgottenPasswordMail}";
|
||||
var response = await http.PostAsJsonAsync(url, emailAddress);
|
||||
var response = await _http.PostAsJsonAsync(url, emailAddress);
|
||||
var success = await response.Content.ReadFromJsonAsync<bool>();
|
||||
|
||||
_logger.Detail($"SendForgottenPasswordMail(): {success.ToString()}");
|
||||
|
|
@ -351,7 +356,7 @@ namespace TIAMWebApp.Client.Services
|
|||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.ValidateForgottenPasswordToken}";
|
||||
var parameters = new[] { userId.ToString(), token };
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, parameters);
|
||||
var response = await _http.PostAsJsonAsync(url, parameters);
|
||||
result = await response.Content.ReadAsStringAsync();
|
||||
|
||||
_logger.Detail($"ValidateForgotPasswordToken(): {result}");
|
||||
|
|
@ -366,7 +371,7 @@ namespace TIAMWebApp.Client.Services
|
|||
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.SetEmailConfirmed}";
|
||||
|
||||
var response = await http.PostAsJsonAsync(url, userId);
|
||||
var response = await _http.PostAsJsonAsync(url, userId);
|
||||
result = await response.Content.ReadFromJsonAsync<bool>();
|
||||
|
||||
_logger.Detail($"ValidateForgotPasswordToken(): {result.ToString()}");
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ using TIAM.Entities.Products;
|
|||
using AyCode.Core.Enums;
|
||||
using TIAM.Core.Consts;
|
||||
using System.Security.Cryptography.Xml;
|
||||
using TIAM.Models;
|
||||
using TIAM.Models.Dtos.Users;
|
||||
using TIAM.Models.PageViewModels;
|
||||
|
||||
namespace TIAMWebApp.Server.Controllers
|
||||
|
|
@ -60,6 +62,15 @@ namespace TIAMWebApp.Server.Controllers
|
|||
_userApiController = userApiController;
|
||||
}
|
||||
|
||||
//TODO: ezt meg a Messages-eket átbuherálni a UserDal-ra... - J.
|
||||
[NonAction]
|
||||
[SignalR(SignalRTags.GetSiteViewModelByUserId)]
|
||||
public async Task<SiteViewModel> GetSiteViewModelByUserId(Guid userId)
|
||||
{
|
||||
_logger.Debug("$GetSiteViewModelByUserId called; userId: {userId}");
|
||||
|
||||
return await _adminDal.GetSiteViewModelByUserId(userId);
|
||||
}
|
||||
|
||||
|
||||
[AllowAnonymous]
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ using TIAM.Services.Server.Logins;
|
|||
using TIAMWebApp.Server.Services;
|
||||
using AyCode.Core.Enums;
|
||||
using AyCode.Models.Enums;
|
||||
using TIAM.Models;
|
||||
|
||||
namespace TIAMWebApp.Server.Controllers
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue