using System.Net; using TIAM.Entities.Products; using TIAM.Models; using TIAMWebApp.Shared.Application.Interfaces; using TIAMWebApp.Shared.Application.Models; namespace TIAMWebApp.Shared.Application.Services; public abstract class SessionServiceClientBase : ISessionService { public string? SessionId { get; set; } public SiteViewModel SiteViewModel { get; } = new(); public UserSessionModel? User { get; set; } public IPAddress? IPAddress { get; set; } public bool IsAuthenticated { get; set; } = false; public bool HasCompany { get; set; } = false; public bool IsDriver { get; set; } = false; public bool IsDevAdmin { get; set; } = false; public bool IsSysAdmin { get; set; } = false; public Guid DriverPersmissionId { get; set; } = Guid.Empty; public virtual List GetHotels() { if (User != null) { return User.UserModelDto.Products.Count > 0 ? User.UserModelDto.Products.Where(x => x.ProductType == TIAM.Core.Enums.ProductType.Hotel).ToList() : []; } return []; } public virtual void ClearAll() { SessionId = string.Empty; User = null; IPAddress = null; IsAuthenticated = false; HasCompany = false; IsDriver = false; IsDevAdmin = false; IsSysAdmin = false; DriverPersmissionId = Guid.Empty; SiteViewModel.ClearAll(); } }