tbf/Users/Entities/Group.cs

54 lines
1.8 KiB
C#

///
/// Copyright (c) 2016-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using Common;
using Users.Resources;
namespace Users.Entities
{
public class Group
{
public virtual int Id { get; protected set; }
public virtual GID GID { get; set; }
public virtual long AccessFlags { get; set; } /// Bitfield of access flags: bit0 .. bit62
public virtual IList<User> Users { get; set; } /// Group can be a member of a list of users
public Group()
{
Users = new List<User>();
}
public Group(GID gid)
: this()
{
GID = gid;
}
public virtual string Gid2Str()
{
return Group.Gid2Str(this.GID);
}
public static string Gid2Str(GID gid)
{
switch (gid)
{
case GID.Testers: return Strings.tester;
case GID.TestingSpecialists: return Strings.specialist;
case GID.HeadOfLab: return Strings.head_of_lab;
case GID.MaintenanceSpecialists: return Strings.maintenance;
case GID.Metrologists: return Strings.metrologist;
case GID.CalibrationSpecialists: return Strings.calibration_specialist;
case GID.Administrators: return Strings.administrator;
case GID.TraceabilityManagement: return Strings.production_tracing_administrator;
case GID.MetrologicalAuthority: return Strings.metrological_authority;
case GID.WaterMeterAuthority: return Strings.water_meter_authority;
default:
return (gid >= 0 && gid < GID.NrOfGroups) ? gid.ToString() : Strings.invalid;
}
}
}
}