48 lines
1.2 KiB
C#
48 lines
1.2 KiB
C#
using AyCode.Core;
|
|
using Mango.Nop.Core.Dtos;
|
|
using Mango.Nop.Core.Models;
|
|
using Nop.Core.Domain.Customers;
|
|
|
|
namespace FruitBank.Common.Models;
|
|
|
|
public class LoggedInModel
|
|
{
|
|
public bool IsLoggedIn => CustomerDto != null;
|
|
public bool IsRevisor => IsLoggedIn && CustomerRoles.Any(x => x.SystemName.ToLowerInvariant() == "measuringrevisor");
|
|
|
|
public CustomerDto? CustomerDto { get; private set; }
|
|
public List<CustomerRole> CustomerRoles { get; private set; } = [];
|
|
|
|
public List<CustomerDto> MeasuringUsers { get; set; } = [];
|
|
public LoggedInModel()
|
|
{
|
|
}
|
|
|
|
public LoggedInModel(CustomerDto? customerDto)
|
|
{
|
|
InitLoggedInCustomer(customerDto);
|
|
}
|
|
|
|
public LoggedInModel(MgLoginModelResponse loginModelResponse) : this(loginModelResponse.CustomerDto)
|
|
{
|
|
}
|
|
|
|
public void InitLoggedInCustomer(CustomerDto? customerDto)
|
|
{
|
|
LogOut();
|
|
|
|
if (customerDto != null) CustomerDto = customerDto;
|
|
}
|
|
|
|
public void InitCustomerRoles(List<CustomerRole> customerRoles)
|
|
{
|
|
CustomerRoles.Clear();
|
|
CustomerRoles.AddRange(customerRoles);
|
|
}
|
|
|
|
public void LogOut()
|
|
{
|
|
CustomerDto = null;
|
|
CustomerRoles.Clear();
|
|
}
|
|
} |