select pb.productname as Name, p.productrevision as Revision, p.productid as InstanceID from product p innerjoin productbase pb on p.productbaseid = pb.productbaseid innerjoin producttype pt on p.producttypeid = pt.producttypeid where1=1 <{?ProductType}>?<{ and pt.producttypename = ?ProductType}> <{?NameFilter}>?<{ and pb.productname like ?NameFilter}>
publicstaticvoidRevisionedObjectControl_SetSelectionValues(ref CWC.RevisionedObject RevisionedObjectControl, RevisionedObjectRef[] RevObjectRefList) { try { RecordSet rsRevisionedObject = new RecordSet(); Header[] rsHeaders = new Header[7]; Row[] rsRows = new Row[RevObjectRefList.Length]; rsHeaders[0] = new Header(); rsHeaders[0].TypeCode = TypeCode.String; rsHeaders[0].Name = "Name";
rsHeaders[1] = new Header(); rsHeaders[1].TypeCode = TypeCode.String; rsHeaders[1].Name = "Revision";
rsHeaders[2] = new Header(); rsHeaders[2].TypeCode = TypeCode.String; rsHeaders[2].Name = "RevOfRcd";
rsHeaders[3] = new Header(); rsHeaders[3].TypeCode = TypeCode.Boolean; rsHeaders[3].Name = "IsFrozen";
rsHeaders[4] = new Header(); rsHeaders[4].TypeCode = TypeCode.String; rsHeaders[4].Name = "InstanceId";
rsHeaders[5] = new Header(); rsHeaders[5].TypeCode = TypeCode.String; rsHeaders[5].Name = "Description";
rsHeaders[6] = new Header(); rsHeaders[6].TypeCode = TypeCode.Int16; rsHeaders[6].Name = "Status";
rsRevisionedObject.Headers = rsHeaders; // sort the revisioned objects Hashtable htNameRev = new Hashtable(); Hashtable htNameROR = new Hashtable(); foreach (RevisionedObjectRef rdoRef in RevObjectRefList) { if (!htNameRev.ContainsKey(rdoRef.Name)) { List<string> RevArray = new List<string>(); RevArray.Add(rdoRef.Revision); htNameRev.Add(rdoRef.Name, RevArray); } else { List<string> RevArray = htNameRev[rdoRef.Name] as List<string>; RevArray.Add(rdoRef.Revision); htNameRev[rdoRef.Name] = RevArray; }
// set the ror object if (rdoRef.RevisionOfRecord != null? rdoRef.RevisionOfRecord.Value : false) { if (!htNameROR.ContainsKey(rdoRef.Name)) htNameROR.Add(rdoRef.Name, rdoRef.Revision); } }
int intIndex = 0; foreach (DictionaryEntry objItem in htNameRev) { List<string> RevArray = objItem.Value as List<string>; foreach (string strRevValue in RevArray) { rsRows[intIndex] = new Row(); string[] strRowValue = newstring[7]; strRowValue[0] = objItem.Key.ToString(); // name strRowValue[1] = strRevValue; // rev string strRevOfRecInstanceId = objItem.Key.ToString() + "_" + strRevValue; if (htNameROR.ContainsKey(objItem.Key.ToString())) strRevOfRecInstanceId = objItem.Key.ToString() + "_" + htNameROR[objItem.Key.ToString()].ToString();