/// /// 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 Users { get; set; } /// Group can be a member of a list of users public Group() { Users = new List(); } 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; } } } }