/// <summary> /// populates form with bug details if not new Bug /// </summary> private void populateBugDetails() { //if not new bug if (BugID != 0) { BugTracking.DeveloperBug newBug = BugTracking.DeveloperBug.Get(BugID); //if developer bug then if (newBug != null) { //assign bug details txtTitle.Text = newBug.Title; txtComment.Text = newBug.Comment; txtPriority.Text = newBug.Priority.ToString(); cboApplication.SelectedValue = newBug.Location.application.Id; cboFormName.SelectedValue = newBug.Location.form.Id; cboControlName.SelectedValue = newBug.Location.control.Id; cboAction.Text = newBug.Location.action; txtRelatedMethod.Text = newBug.Location.relatedMethod; txtParameter.Text = newBug.Location.relatedParameter; txtEndLineNumber.Text = newBug.Location.EndlineNumber.ToString(); txtStartLineNumber.Text = newBug.Location.StartlineNumber.ToString(); cboAssignedUser.SelectedValue = newBug.AssignedUserID; txtDateCreated.Text = newBug.CreatedDate.ToShortDateString(); //gets any bug history grdBugHistory.DataSource = BugTracking.DeveloperBug.getBugHistory(newBug.Id); //selects current bug from list foreach (DataGridViewRow row in grdBugHistory.Rows) { if ((long)row.Cells["id"].Value == newBug.Id) { row.Selected = true; } else { row.Selected = false; } } Code = newBug.Code; //if there are columns to hide if (grdBugHistory.Columns.Count > 0) { grdBugHistory.Columns["Id"].Visible = false; grdBugHistory.Columns["previousBugID"].Visible = false; grdBugHistory.Columns["NextBugID"].Visible = false; grdBugHistory.Columns["BugOpen"].Visible = false; grdBugHistory.Columns["AssignedUserID"].Visible = false; grdBugHistory.Columns["createdByID"].Visible = false; } chkOpen.Checked = !newBug.BugOpen; btnSave.Enabled = newBug.BugOpen; getColourCode(); //checks to see if bug already has solution or if not latest in Bug History if ((!newBug.BugOpen) || (newBug.NextBugId > 0)) { grpBugdetails.Enabled = false; grpCodeDetails.Enabled = false; grpManagement.Enabled = false; btnSave.Enabled = false; } else { UserFormSettup(); } } else //if not developer bug yet { BugTracking.Bug bug = new BugTracking.Bug(BugID); if (bug != null) { txtTitle.Text = bug.Title; txtComment.Text = bug.Comment; txtPriority.Text = "0"; cboApplication.SelectedValue = bug.Location.application.Id; cboFormName.SelectedValue = bug.Location.form.Id; cboControlName.SelectedValue = bug.Location.control.Id; cboAction.Text = bug.Location.action; txtRelatedMethod.Text = ""; txtParameter.Text = ""; txtEndLineNumber.Text = ""; txtStartLineNumber.Text = ""; cboAssignedUser.SelectedValue = bug.AssignedUserID; txtDateCreated.Text = bug.CreatedDate.ToShortDateString(); grdBugHistory.DataSource = null; foreach (DataGridViewRow row in grdBugHistory.Rows) { if ((long)row.Cells["id"].Value == bug.Id) { row.Selected = true; } else { row.Selected = false; } } Code = ""; //if there are columns to hide if (grdBugHistory.Columns.Count > 0) { grdBugHistory.Columns["Id"].Visible = false; grdBugHistory.Columns["previousBugID"].Visible = false; grdBugHistory.Columns["NextBugID"].Visible = false; grdBugHistory.Columns["BugOpen"].Visible = false; grdBugHistory.Columns["AssignedUserID"].Visible = false; grdBugHistory.Columns["createdByID"].Visible = false; } chkOpen.Checked = true; //Black Box testers cannot update a bug if (LoggedInUser.UserType == "Black Box Tester") { btnSave.Enabled = false; } else { btnSave.Enabled = true; } getColourCode(); UserFormSettup(); } } } }
/// <summary> /// Saves the bug. /// </summary> /// <param name="messsagebox">if set to <c>true</c> [messsagebox].</param> public void SaveBug(Boolean messsagebox) { long DefaultUserID; if (txtComment.Text == "" || txtTitle.Text == "") { if (messsagebox) { MessageBox.Show("A Bug entry must have a Comment and a title in order to commit!"); } return; } switch (LoggedInUser.UserType) { case "White Box Tester": //create new Developer Bug with limited values BugTracking.BugLocation locationWB = new BugTracking.BugLocation((long)cboApplication.SelectedValue, (long)cboFormName.SelectedValue, (long)cboControlName.SelectedValue, (String)cboAction.Text, "", "", (long)Convert.ToDouble(0), (long)Convert.ToDouble(0)); BugTracking.DeveloperBug BlackBoxBug = new BugTracking.DeveloperBug(BugID, txtTitle.Text, txtComment.Text, locationWB, (long)0, 0, true, Code); BlackBoxBug.createdByID = LoggedInUser.Id; DefaultUserID = ((BugTracking.App)cboApplication.SelectedItem).DefaultUser.Id; BlackBoxBug.AssignedUserID = DefaultUserID; BlackBoxBug.Save(); //repopulates form with saved bug BugID = BlackBoxBug.Id; populateBugDetails(); //Bug.createdByID = createdByID; //DeveloperBug.AssignedUserID = (long)cboAssignedUser.SelectedValue; break; case "Black Box Tester": if (txtStartLineNumber.Text == "") { txtStartLineNumber.Text = "0"; } if (txtEndLineNumber.Text == "") { txtEndLineNumber.Text = "0"; } if (Code == null) { Code = ""; } //creates new Bug BugTracking.BugLocation locationBB = new BugTracking.BugLocation((long)cboApplication.SelectedValue, (long)cboFormName.SelectedValue, (long)cboControlName.SelectedValue, (String)cboAction.Text, txtRelatedMethod.Text, txtParameter.Text, (long)Convert.ToDouble(txtStartLineNumber.Text), (long)Convert.ToDouble(txtEndLineNumber.Text)); BugTracking.Bug WhiteBoxBug = new BugTracking.Bug(BugID, txtTitle.Text, txtComment.Text); WhiteBoxBug.createdByID = LoggedInUser.Id; //gets default User for Appliocation selected DefaultUserID = ((BugTracking.App)cboApplication.SelectedItem).DefaultUser.Id; WhiteBoxBug.AssignedUserID = DefaultUserID; WhiteBoxBug.Save(); //repopulates form with saved bug BugID = WhiteBoxBug.Id; populateBugDetails(); break; case "Developer": if (txtStartLineNumber.Text == "") { txtStartLineNumber.Text = "0"; } if (txtEndLineNumber.Text == "") { txtEndLineNumber.Text = "0"; } if (Code == null) { Code = ""; } if (txtPriority.Text == "") { txtPriority.Text = "0"; } //creates Full developer bug BugTracking.BugLocation location = new BugTracking.BugLocation((long)cboApplication.SelectedValue, (long)cboFormName.SelectedValue, (long)cboControlName.SelectedValue, (String)cboAction.Text, txtRelatedMethod.Text, txtParameter.Text, (long)Convert.ToDouble(txtStartLineNumber.Text), (long)Convert.ToDouble(txtEndLineNumber.Text)); BugTracking.DeveloperBug DeveloperBug = new BugTracking.DeveloperBug(BugID, txtTitle.Text, txtComment.Text, location, (long)0, Convert.ToInt64(txtPriority.Text), !chkOpen.Checked, Code); DefaultUserID = (long)cboAssignedUser.SelectedValue; DeveloperBug.createdByID = LoggedInUser.Id; DeveloperBug.AssignedUserID = DefaultUserID; DeveloperBug.Save(); //repopulates form with saved bug BugID = DeveloperBug.Id; populateBugDetails(); break; default: break; } }
public void TestDeveloperBugCreate() { //public BugLocation(long applicationID, long formID, long controlID, string action, string relatedMethod, string relatedParameter, long startLineNumber, long endlineNumber) //create dummy controls BugTracking.User user = new BugTracking.User("FirstName", "LastName", "Developer"); user.Save(); BugTracking.App app = new BugTracking.App("TestApp1", user); app.Save(); BugTracking.AppForm form = new BugTracking.AppForm("Label Test", "Name Test", true, app.Id); form.Save(); BugTracking.FormControl control = new BugTracking.FormControl("label Test", "Name Test", true, app.Id); control.Save(); BugTracking.Action action = new BugTracking.Action("label Test", "Name Test", app.Id); BugTracking.BugLocation location = new BugTracking.BugLocation(app.Id, form.Id, control.Id, action.Name, "Related Method Test", "Related Parameter Test", 1, 99); BugTracking.DeveloperBug bug = new BugTracking.DeveloperBug("Test Title", "Test Comment", location, 0, -1, false, "Dummy Code"); bug.createdByID = user.Id; bug.AssignedUserID = user.Id; bug.Save(); BugTracking.Bug commitedBug = new BugTracking.Bug(bug.Id); Boolean AllFound = true; if (user.Id != commitedBug.AssignedUserID) { //app retreived AllFound = false; } if (user.Id != commitedBug.createdByID) { //app retreived AllFound = false; } if (app.Id != commitedBug.Location.application.Id) { //app retreived AllFound = false; } if (form.Id != commitedBug.Location.form.Id) { //form retreived AllFound = false; } if (control.Id != commitedBug.Location.control.Id) { //control retreived AllFound = false; } if (action.Name != commitedBug.Location.action) { //action retreived AllFound = false; } if (location.Id != commitedBug.Location.Id) { //location retreived AllFound = false; } if (bug.Id != commitedBug.Id) { //app retreived AllFound = false; } user.Delete(); control.Delete(); form.Delete(); app.Delete(); location.Delete(); bug.Delete(); Assert.AreEqual(AllFound, true); }