TourIAm/TIAMWebApp/Shared/Services/SessionServiceClientBase.cs

44 lines
1.3 KiB
C#

using System.Net;
using TIAM.Core.Enums;
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<Product> GetHotels()
{
return User != null ? User.UserModelDto.Products.Where(x => x.ProductType == ProductType.Hotel).ToList() : [];
}
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();
}
}