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