SearchResult.aspx
private string generateRowRecord(DataColumnCollection columns, DataRow row)
//for (int i = 0; i < columns.Count; i++)
//{
// RowRecord += "<strong>" + columns[i].ColumnName;
// RowRecord += "</strong>: ";
// string cell = "";
// string temp = row[i].ToString();
// string query = ViewState["Query"].ToString();
// if (ViewState["Query"].ToString() != "" && row[i].ToString().Contains(ViewState["Query"].ToString()))
// {
// cell = row[i].ToString().Insert(row[i].ToString().IndexOf(ViewState["Query"].ToString()), "<span style=/"color: #ff00ff/">");
// cell = cell.Insert(cell.IndexOf(ViewState["Query"].ToString()) + ViewState["Query"].ToString().Length, "</span>");
// RowRecord += cell;
// }
// else
// {
// RowRecord += row[i].ToString();
// }
// RowRecord += " ";
//}
//if (RowRecord.IndexOf("<span") > 300)
// RowRecord = RowRecord.Replace(RowRecord.Substring(0, RowRecord.IndexOf("</span") - 300), "......");
//int pos = RowRecord.IndexOf("</span");
//if ((RowRecord.Length - pos - ViewState["Query"].ToString().Length) > 300)
// RowRecord = RowRecord.Replace(RowRecord.Substring(pos + 307), "......");
//private DataSet GetAllBugDataSet()
//{
// DBAccessClass AllBugDB = new DBAccessClass();
// AllBugDB.DataAccess("//App_Data//bugTrace.mdb");
// DataSet StructureDataSet = AllBugDB.GetDataSet("select * from AllBugTrace", "AllBugTrace");
// DataSet AllBugDataSet = new DataSet();
// AllBugDataSet.Tables.Add();
// foreach (DataColumn dc in StructureDataSet.Tables[0].Columns)
// AllBugDataSet.Tables[0].Columns.Add(dc.ColumnName, dc.DataType);
// DataSet BugTableDataSet = AllBugDB.GetDataSet("select * from BugTable", "BugTable");
// DataSet ProductVersionDataSet = new DataSet();
// DataSet NumberInPVDataSet = new DataSet();
// foreach (DataRow Record in BugTableDataSet.Tables[0].Rows)
// {
// string BugTableName = ProcessTableName(Record["BugTable"].ToString());
// NumberInPVDataSet = AllBugDB.GetDataSet("select IssueSerialNumber from "
// + BugTableName + " where ProductVersion <> ''", BugTableName);
// ProductVersionDataSet = AllBugDB.GetDataSet("select * from " + BugTableName, BugTableName);
// foreach (DataRow rowpv in NumberInPVDataSet.Tables[0].Rows)
// {
// int LastBugVersion = GetLastBugVersion(rowpv["IssueSerialNumber"].ToString(), ProductVersionDataSet);
// DataRow LastRecordOld = getLastRecord(ProductVersionDataSet.Tables[0], rowpv["IssueSerialNumber"].ToString(), LastBugVersion);
// DataRow LastRecord = AllBugDataSet.Tables[0].NewRow();
// for (int i = 0; i < LastRecordOld.ItemArray.Length; i++)
// LastRecord[i] = LastRecordOld[i];
// AllBugDataSet.Tables[0].Rows.Add(LastRecord);
// }
// ProductVersionDataSet.Clear();
// NumberInPVDataSet.Clear();
// }
// return AllBugDataSet;
//}
private void InitGridView_UBug()
{
MembershipUser currentUser;
currentUser = Membership.GetUser();
DBAccessClass AllBugDB = new DBAccessClass();
AllBugDB.DataAccess("//App_Data//bugTrace.mdb");
DataSet UNumBugDataSet = AllBugDB.GetDataSet("select IssueSerialNumber from BugUpdateInfo where Reviser ='" + currentUser.UserName
+ "' group by IssueSerialNumber");//获取测试人员所修改过的IssueSerialNumber的数据集
ArrayList AL_Number = new ArrayList();//存储需要显示的Bug的IssueSerialNumber
//从测试人员所修改过的IssueSerialNumber的数据集的数据集中找出倒数第二次的修改人是当前测试人员,最后一次不是的记录
foreach (DataRow row in UNumBugDataSet.Tables[0].Rows)
{
DataSet UVerBugDS = AllBugDB.GetDataSet("select IssueSerialNumber,Reviser,BugUpdateVersion from BugUpdateInfo "
+ "where IssueSerialNumber ='" + row[0] + "'");
string SecReviser = "";
string LastReviser = "";
if (UVerBugDS.Tables[0].Rows.Count > 1)
{
foreach (DataRow UpdateRecord in UVerBugDS.Tables[0].Rows)
{
if (Int32.Parse(UpdateRecord["BugUpdateVersion"].ToString()) == UVerBugDS.Tables[0].Rows.Count - 1)
{
SecReviser = UpdateRecord["Reviser"].ToString();
}
else if (Int32.Parse(UpdateRecord["BugUpdateVersion"].ToString()) == UVerBugDS.Tables[0].Rows.Count)
{
LastReviser = UpdateRecord["Reviser"].ToString();
}
}
if ((SecReviser == currentUser.UserName) && (LastReviser != currentUser.UserName))
{
AL_Number.Add(row["IssueSerialNumber"]);
}
}
}
//在加上测试者bb创建但是aa只修改了一次的情况
DataSet UpBugDataSet = AllBugDB.GetDataSet("select BugInformation.IssueSerialNumber from BugUpdateInfo,BugInformation "
+ "where Creater ='" + currentUser.UserName + "' and BugUpdateInfo.IssueSerialNumber = BugInformation.IssueSerialNumber"
+ " and BugUpdateVersion = '1' and Reviser <> '"+currentUser.UserName+"'");
foreach (DataRow row in UpBugDataSet.Tables[0].Rows)
{
DataSet UpdateBugDS = AllBugDB.GetDataSet("select IssueSerialNumber from BugUpdateInfo where IssueSerialNumber ='"
+ row[0].ToString() + "'");
if(UpdateBugDS.Tables[0].Rows.Count>1)
continue;
if (AL_Number.Contains(row[0]))
continue;
AL_Number.Add(row[0]);
}
DataSet UBugDataSet = new DataSet();
UBugDataSet.Tables.Add();
UBugDataSet.Tables[0].Columns.Add("IssueSerialNumber");
UBugDataSet.Tables[0].Columns.Add("Product");
UBugDataSet.Tables[0].Columns.Add("Status");
UBugDataSet.Tables[0].Columns.Add("LatestRevisedOn");
UBugDataSet.Tables[0].Columns.Add("Reviser");
UBugDataSet.Tables[0].Columns.Add("FirstCreatedOn");
DataSet UBDataSet = AllBugDB.GetDataSet("select IssueSerialNumber,ProductName,ProductVersion,Status,LatestRevisedOn,FirstCreatedOn"
+ " from BugInformation ,ProductInformation where BugInformation.ProductIndex = ProductInformation.ProductIndex", "BugInformation");
foreach (DataRow row in UBDataSet.Tables[0].Rows)
{
for (int i = 0;i<AL_Number.Count;i++)
{
if (row["IssueSerialNumber"].ToString() == AL_Number[i].ToString())
{
object[] values = new object[6];
values[0] = row["IssueSerialNumber"];
values[1] = row["ProductName"]+" "+ row["ProductVersion"];
values[2] = row["Status"];
values[3] = row["LatestRevisedOn"];
DataSet IssueUpdateDS = AllBugDB.GetDataSet("select Reviser,BugUpdateVersion from BugUpdateInfo where IssueSerialNumber = '"
+ row["IssueSerialNumber"].ToString() +"'");
values[4] = getLatestReviser(IssueUpdateDS.Tables[0], IssueUpdateDS.Tables[0].Rows.Count);
values[5] = row["FirstCreatedOn"];
UBugDataSet.Tables[0].Rows.Add(values);
}
}
}
if (UBugDataSet.Tables[0].Rows.Count != 0)
{
ViewState["GridViewUDataSet"] = UBugDataSet;
GridView_IBug.DataSource = UBugDataSet;
GridView_IBug.DataBind();
GridView_IBug.SelectedIndex = -1;
}
else
IssueAreaText.Text = "No record has been updated.";
}