Exemplo n.º 1
0
        internal static SSBIConversationCollection GetConversationCollection(Database db, BrokerService bServ, Guid handle)
        {
            SqlConnection conn = null;
            int           servid;

            conn = CreateNewConnection(db);

            SqlCommand cmd = conn.CreateCommand();

            cmd.CommandText = sqlConversation;

            if (bServ != null)
            {
                servid           = bServ.ID;
                cmd.CommandText += " and se.service_id = @id";
                cmd.Parameters.Add("@id", SqlDbType.Int, 4);
                cmd.Parameters["@id"].Value = servid;
            }

            if (handle != Guid.Empty)
            {
                cmd.CommandText += " and se.conversation_handle = @h";
                cmd.Parameters.Add("@h", SqlDbType.UniqueIdentifier);
                cmd.Parameters["@h"].Value = handle;
            }

            if (conn.Database != db.Name)
            {
                conn.ChangeDatabase(db.Name);
            }

            SqlDataReader dr = cmd.ExecuteReader();
            SSBIConversationCollection scColl = new SSBIConversationCollection();

            while (dr.Read())
            {
                string srvName = dr["service"].ToString();
                if (bServ == null)
                {
                    bServ = CreateSMOService(db, srvName);
                }
                SSBIConversation sc = new SSBIConversation(bServ, dr);
                scColl.Add(sc);
            }

            conn.Close();

            return(scColl);
        }
Exemplo n.º 2
0
        internal static void EndConversation(SSBIConversation conv)
        {
            SqlConnection conn = CreateNewConnection(conv.DBase);
            SqlCommand    cmd  = conn.CreateCommand();

            cmd.CommandText = "End conversation @h";

            cmd.Parameters.Add("@h", SqlDbType.UniqueIdentifier);
            cmd.Parameters[0].Value = conv.Handle;

            if (conn.Database != conv.DBase.Name)
            {
                conn.ChangeDatabase(conv.DBase.Name);
            }

            cmd.ExecuteNonQuery();

            conn.Close();
        }
 public void Add(SSBIConversation cnv)
 {
     List.Add(cnv);
 }
 public void Add(SSBIConversation cnv)
 {
     List.Add(cnv);
 }
Exemplo n.º 5
0
        internal static void DeleteObject(SsbEnum sType, object smoObj)
        {
            switch (sType)
            {
            case SsbEnum.Database:
                Database db = null;
                if (smoObj.GetType() == typeof(SSBIDatabase))
                {
                    db = ((SSBIDatabase)smoObj).DataBase;
                }
                else if (smoObj.GetType() == typeof(Database))
                {
                    db = (Database)smoObj;
                }

                db.Drop();
                break;

            case SsbEnum.MessageType:
                MessageType mt = (MessageType)smoObj;
                mt.Drop();
                break;

            case SsbEnum.Contract:
                ServiceContract sc = (ServiceContract)smoObj;
                sc.Drop();
                break;

            case SsbEnum.Queu:
                ServiceQueue sq = (ServiceQueue)smoObj;
                sq.Drop();
                break;

            case SsbEnum.Service:
                BrokerService bs = (BrokerService)smoObj;
                bs.Drop();
                break;

            case SsbEnum.Route:
                ServiceRoute sr = (ServiceRoute)smoObj;
                sr.Drop();
                break;

            case SsbEnum.RemoteBinding:
                RemoteServiceBinding rsb = (RemoteServiceBinding)smoObj;
                rsb.Drop();
                break;

            case SsbEnum.Conversation:
                SSBIConversation cnv = (SSBIConversation)smoObj;
                smo.EndConversation(cnv);
                break;

            case SsbEnum.EndPoint:
                Endpoint ep = (Endpoint)smoObj;
                ep.Drop();
                break;

            case SsbEnum.Certificate:
                Certificate cert = (Certificate)smoObj;
                cert.Drop();
                break;
            }
        }
Exemplo n.º 6
0
        internal static SSBIConversationCollection GetConversationCollection(Database db, BrokerService bServ, Guid handle)
        {
            SqlConnection conn = null;
              int servid;
              conn = CreateNewConnection(db);

              SqlCommand cmd = conn.CreateCommand();
              cmd.CommandText = sqlConversation;

              if (bServ != null) {
            servid = bServ.ID;
            cmd.CommandText += " and se.service_id = @id";
            cmd.Parameters.Add("@id", SqlDbType.Int, 4);
            cmd.Parameters["@id"].Value = servid;
              }

              if (handle != Guid.Empty) {
            cmd.CommandText += " and se.conversation_handle = @h";
            cmd.Parameters.Add("@h", SqlDbType.UniqueIdentifier);
            cmd.Parameters["@h"].Value = handle;
              }

              if (conn.Database != db.Name)
            conn.ChangeDatabase(db.Name);

              SqlDataReader dr = cmd.ExecuteReader();
              SSBIConversationCollection scColl = new SSBIConversationCollection();
              while (dr.Read()) {
            string srvName = dr["service"].ToString();
            if(bServ == null)
              bServ = CreateSMOService(db, srvName);
            SSBIConversation sc = new SSBIConversation(bServ, dr);
            scColl.Add(sc);
              }

              conn.Close();

              return scColl;
        }
Exemplo n.º 7
0
        internal static void EndConversation(SSBIConversation conv)
        {
            SqlConnection conn = CreateNewConnection(conv.DBase);
              SqlCommand cmd = conn.CreateCommand();
              cmd.CommandText = "End conversation @h";

              cmd.Parameters.Add("@h", SqlDbType.UniqueIdentifier);
              cmd.Parameters[0].Value = conv.Handle;

              if (conn.Database != conv.DBase.Name)
            conn.ChangeDatabase(conv.DBase.Name);

              cmd.ExecuteNonQuery();

              conn.Close();
        }