public MessageRecord(MessageMemento message, FactID ancestorFact, RoleMemento ancestorRole, Guid source)
 {
     _message = message;
     _ancestorFact = ancestorFact;
     _ancestorRole = ancestorRole;
     _source = source;
 }
Beispiel #2
0
 public void AddRole(RoleMemento role)
 {
     if (!_roles.Contains(role))
     {
         _roles.Add(role);
     }
 }
 public MessageRecord(MessageMemento message, FactID ancestorFact, RoleMemento ancestorRole, Guid source)
 {
     _message      = message;
     _ancestorFact = ancestorFact;
     _ancestorRole = ancestorRole;
     _source       = source;
 }
        public int InsertRole(RoleMemento roleMemento, int declaringTypeId)
        {
            int roleId;

            _session.Command.CommandText = "INSERT INTO Role (RoleName, DeclaringTypeID) VALUES (@RoleName, @DeclaringTypeID)";
            AddParameter("@RoleName", roleMemento.RoleName);
            AddParameter("@DeclaringTypeID", declaringTypeId);
            _session.Command.ExecuteNonQuery();
            _session.Command.Parameters.Clear();

            _session.Command.CommandText = "SELECT @@IDENTITY";
            roleId = (int)(decimal)_session.Command.ExecuteScalar();
            _session.Command.Parameters.Clear();
            return(roleId);
        }
        private int SaveRole(Procedures procedures, RoleMemento roleMemento)
        {
            int declaringTypeId = SaveType(procedures, roleMemento.DeclaringType);

            // See if the role already exists.
            int roleId = procedures.GetRoleId(roleMemento, declaringTypeId);

            // If not, create it.
            if (roleId == 0)
            {
                roleId = procedures.InsertRole(roleMemento, declaringTypeId);
            }

            return(roleId);
        }
Beispiel #6
0
        private IdentifiedFactMemento DeserlializeIdentifiedFactMemento(BinaryReader factReader, long factId)
        {
            short dataSize;

            byte[] data;
            short  predecessorCount;

            CorrespondenceFactType factType = GetFactType(BinaryHelper.ReadShort(factReader));

            dataSize = BinaryHelper.ReadShort(factReader);
            if (dataSize > MaxDataLength)
            {
                throw new CorrespondenceException("Maximum data length exceeded.");
            }
            data             = dataSize > 0 ? factReader.ReadBytes(dataSize) : new byte[0];
            predecessorCount = BinaryHelper.ReadShort(factReader);
            if (predecessorCount > MaxPredecessorCount)
            {
                throw new CorrespondenceException("Maximum predecessor count exceeded.");
            }

            FactMemento factMemento = new FactMemento(factType);

            factMemento.Data = data;
            for (short i = 0; i < predecessorCount; i++)
            {
                bool isPivot;
                long predecessorFactId;

                RoleMemento role = GetRole(BinaryHelper.ReadShort(factReader));
                isPivot           = BinaryHelper.ReadBoolean(factReader);
                predecessorFactId = BinaryHelper.ReadLong(factReader);

                factMemento.AddPredecessor(
                    role,
                    new FactID()
                {
                    key = predecessorFactId
                },
                    isPivot
                    );
            }

            return(new IdentifiedFactMemento(new FactID {
                key = factId
            }, factMemento));
        }
        public int GetRoleId(RoleMemento roleMemento, int declaringTypeId)
        {
            int roleId = 0;

            _session.Command.CommandText = "SELECT RoleID FROM Role WHERE RoleName = @RoleName AND DeclaringTypeID = @DeclaringTypeID";
            AddParameter("@RoleName", roleMemento.RoleName);
            AddParameter("@DeclaringTypeID", declaringTypeId);
            using (IDataReader typeReader = _session.Command.ExecuteReader())
            {
                _session.Command.Parameters.Clear();
                if (typeReader.Read())
                {
                    roleId = typeReader.GetInt32(0);
                }
            }
            return(roleId);
        }
        internal int SaveRole(Session session, RoleMemento roleMemento)
        {
            int declaringTypeId = SaveType(session, roleMemento.DeclaringType);

            // See if the role already exists.
            int roleId = 0;

            session.Command.CommandText = "SELECT RoleID FROM Role WHERE RoleName = @RoleName AND DeclaringTypeID = @DeclaringTypeID";
            AddParameter(session.Command, "@RoleName", roleMemento.RoleName);
            AddParameter(session.Command, "@DeclaringTypeID", declaringTypeId);
            using (IDataReader typeReader = session.Command.ExecuteReader())
            {
                session.Command.Parameters.Clear();

                if (typeReader.Read())
                {
                    roleId = typeReader.GetInt32(0);
                }
            }

            // If not, create it.
            if (roleId == 0)
            {
                session.Command.CommandText = "INSERT INTO Role (RoleName, DeclaringTypeID) VALUES (@RoleName, @DeclaringTypeID)";
                AddParameter(session.Command, "@RoleName", roleMemento.RoleName);
                AddParameter(session.Command, "@DeclaringTypeID", declaringTypeId);
                session.Command.ExecuteNonQuery();
                session.Command.Parameters.Clear();

                session.Command.CommandText = "SELECT @@IDENTITY";
                roleId = (int)(decimal)session.Command.ExecuteScalar();
                session.Command.Parameters.Clear();
            }

            return(roleId);
        }
Beispiel #9
0
 public short GetRoleId(RoleMemento role)
 {
     return((short)_roles.IndexOf(role));
 }
        public int InsertRole(RoleMemento roleMemento, int declaringTypeId)
        {
            int roleId;
            _session.Command.CommandText = "INSERT INTO Role (RoleName, DeclaringTypeID) VALUES (@RoleName, @DeclaringTypeID)";
            AddParameter("@RoleName", roleMemento.RoleName);
            AddParameter("@DeclaringTypeID", declaringTypeId);
            _session.Command.ExecuteNonQuery();
            _session.Command.Parameters.Clear();

            _session.Command.CommandText = "SELECT @@IDENTITY";
            roleId = (int)(decimal)_session.Command.ExecuteScalar();
            _session.Command.Parameters.Clear();
            return roleId;
        }
 public int GetRoleId(RoleMemento roleMemento, int declaringTypeId)
 {
     int roleId = 0;
     _session.Command.CommandText = "SELECT RoleID FROM Role WHERE RoleName = @RoleName AND DeclaringTypeID = @DeclaringTypeID";
     AddParameter("@RoleName", roleMemento.RoleName);
     AddParameter("@DeclaringTypeID", declaringTypeId);
     using (IDataReader typeReader = _session.Command.ExecuteReader())
     {
         _session.Command.Parameters.Clear();
         if (typeReader.Read())
         {
             roleId = typeReader.GetInt32(0);
         }
     }
     return roleId;
 }
 public short GetRoleId(RoleMemento role)
 {
     return (short)_roles.IndexOf(role);
 }
 public void AddRole(RoleMemento role)
 {
     if (!_roles.Contains(role))
         _roles.Add(role);
 }
Beispiel #14
0
 private void Unpublish(FactID factId, RoleMemento role)
 {
     _messageTable.RemoveAll(message =>
                             message.AncestorFact.Equals(factId) &&
                             message.AncestorRole.Equals(role));
 }
        private int SaveRole(Procedures procedures, RoleMemento roleMemento)
        {
            int declaringTypeId = SaveType(procedures, roleMemento.DeclaringType);

            // See if the role already exists.
            int roleId = procedures.GetRoleId(roleMemento, declaringTypeId);

            // If not, create it.
            if (roleId == 0)
            {
                roleId = procedures.InsertRole(roleMemento, declaringTypeId);
            }

            return roleId;
        }