tbf/SharedDatabase/Entities/Group.cs
2021-06-18 15:35:46 +02:00

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;
}
}
}
}