53 lines
1.8 KiB
C#
53 lines
1.8 KiB
C#
///
|
|
/// Copyright (c) 2016-2021 Sensus Slovensko a.s.
|
|
///
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using SharedDatabase.Resources;
|
|
|
|
namespace SharedDatabase.Entities
|
|
{
|
|
public class Group
|
|
{
|
|
public virtual int Id { get; protected set; }
|
|
public virtual Common.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(Common.GID gid)
|
|
: this()
|
|
{
|
|
GID = gid;
|
|
}
|
|
|
|
public virtual string Gid2Str()
|
|
{
|
|
return Group.Gid2Str(this.GID);
|
|
}
|
|
|
|
public static string Gid2Str(Common.GID gid)
|
|
{
|
|
switch (gid)
|
|
{
|
|
case Common.GID.Testers: return Strings.tester;
|
|
case Common.GID.TestingSpecialists: return Strings.specialist;
|
|
case Common.GID.HeadOfLab: return Strings.head_of_lab;
|
|
case Common.GID.MaintenanceSpecialists: return Strings.maintenance;
|
|
case Common.GID.Metrologists: return Strings.metrologist;
|
|
case Common.GID.CalibrationSpecialists: return Strings.calibration_specialist;
|
|
case Common.GID.Administrators: return Strings.administrator;
|
|
case Common.GID.TraceabilityManagement: return Strings.production_tracing_administrator;
|
|
case Common.GID.MetrologicalAuthority: return Strings.metrological_authority;
|
|
case Common.GID.WaterMeterAuthority: return Strings.water_meter_authority;
|
|
default:
|
|
return (gid >= 0 && gid < Common.GID.NrOfGroups) ? gid.ToString() : Strings.invalid;
|
|
}
|
|
}
|
|
}
|
|
}
|