public static void AddInternalActionLog(LoginUser loginUser, string description)
        {
            ActionLogs actionLogs = new ActionLogs(loginUser);
            ActionLog  actionLog  = actionLogs.AddNewActionLog();

            actionLog.Description    = description;
            actionLog.OrganizationID = null;
            actionLog.ActionLogType  = ActionLogType.Insert;
            actionLog.RefID          = -1;
            actionLog.RefType        = ReferenceType.SystemSettings;
            actionLogs.Save();
        }
        //public struct UserID
        //{
        //    public int _value;
        //    static public explicit operator UserID(int refID) { return new UserID() { _value = refID }; }
        //}
        //public static void AddActionLog(LoginUser loginUser, ActionLogType type, UserID refID, string description)
        //{
        //    AddActionLog(loginUser, type, ReferenceType.Users, refID._value, description);
        //}

        //public struct TicketID
        //{
        //    public int _value;
        //    static public explicit operator TicketID(int refID) { return new TicketID() { _value = refID }; }
        //}
        //public static void AddActionLog(LoginUser loginUser, ActionLogType type, TicketID refID, string description)
        //{
        //    TicketLog.AddLog(loginUser, type, refID._value, description);
        //}

        public static void AddActionLog(LoginUser loginUser, ActionLogType type, ReferenceType refType, int refID, string description)
        {
            ActionLogs actionLogs = new ActionLogs(loginUser);
            ActionLog  actionLog  = actionLogs.AddNewActionLog();

            actionLog.Description    = description;
            actionLog.OrganizationID = loginUser.OrganizationID < 0 ? null : (int?)loginUser.OrganizationID;
            actionLog.ActionLogType  = type;
            actionLog.RefID          = refID;
            actionLog.RefType        = refType;
            actionLogs.Save();
        }