private void Update_Click(object sender, RoutedEventArgs e) { //Need to sort out notes, assignees and tags here foreach (Note TempNote in MyNoteCopies) { Note OriginalNote = Data.Notes.Find(x => x.Id.ToString() == TempNote.Id.ToString()); if (OriginalNote != null) { //MessageBox.Show("Original Note Title: " + OriginalNote.Title); OriginalNote.Title = TempNote.Title; //MessageBox.Show("Original Note Title Is Now: " + OriginalNote.Title); OriginalNote.Body = TempNote.Body; if (!OriginalNote.Update()) { throw new Exception(); } } else { Note NewNote = MyBug.CreateNote(); //MessageBox.Show("Original Note Title: " + OriginalNote.Title); NewNote.Title = TempNote.Title; //MessageBox.Show("Original Note Title Is Now: " + OriginalNote.Title); NewNote.Body = TempNote.Body; Data.Notes.Add(NewNote); if (!NewNote.Create()) { throw new Exception(); } } } foreach (Note TempNote in MyDeletedNoteCopies) { Note OriginalNote = Data.Notes.Find(x => x.Id.ToString() == TempNote.Id.ToString()); if (!OriginalNote.Delete()) { throw new Exception(); } Data.Notes.Remove(OriginalNote); } foreach (Tag TempTag in MyTagCopies) { Tag OriginalTag = Data.Tags.Find(x => x.Id.ToString() == TempTag.Id.ToString()); if (OriginalTag != null) { /*//MessageBox.Show("Original Tag Title: " + OriginalTag.Title); * OriginalTag.Title = TempTag.Title; * //MessageBox.Show("Original Tag Title Is Now: " + OriginalTag.Title); * OriginalTag.Body = TempTag.Body; * * if (!OriginalTag.Update()) * { * throw new Exception(); * }*/ } else { Tag NewTag = MyBug.CreateTag(TempTag.Type); if (!NewTag.Create()) { throw new Exception(); } Data.Tags.Add(NewTag); } } foreach (Tag TempTag in MyDeletedTagCopies) { Tag OriginalTag = Data.Tags.Find(x => x.Id.ToString() == TempTag.Id.ToString()); if (!OriginalTag.Delete()) { throw new Exception(); } else { MessageBox.Show("DEBUG: Tag Deleted"); } Data.Tags.Remove(OriginalTag); } foreach (Assignee TempAssignee in MyAssigneeCopies) { Assignee OriginalAssignee = Data.Assignees.Find(x => x.BugId.ToString() == TempAssignee.BugId.ToString() && x.MyUser.Id.ToString() == TempAssignee.MyUser.Id.ToString()); if (OriginalAssignee != null) { /*//MessageBox.Show("Original Assignee Title: " + OriginalAssignee.Title); * OriginalAssignee.Title = TempAssignee.Title; * //MessageBox.Show("Original Assignee Title Is Now: " + OriginalAssignee.Title); * OriginalAssignee.Body = TempAssignee.Body; * * if (!OriginalAssignee.Update()) * { * throw new Exception(); * }*/ } else { Assignee NewAssignee = MyBug.CreateAssignee(TempAssignee.MyUser); if (!NewAssignee.Create()) { throw new Exception(); } Data.Assignees.Add(NewAssignee); } } foreach (Assignee TempAssignee in MyDeletedAssigneeCopies) { Assignee OriginalAssignee = Data.Assignees.Find(x => x.BugId.ToString() == TempAssignee.BugId.ToString() && x.MyUser.Id.ToString() == TempAssignee.MyUser.Id.ToString()); if (!OriginalAssignee.Delete()) { throw new Exception(); } else { MessageBox.Show("DEBUG: Assignee Deleted"); } Data.Assignees.Remove(OriginalAssignee); } Style style_TextBoxError = Application.Current.FindResource("TextBoxError") as Style; Style style_PasswordBoxError = Application.Current.FindResource("PasswordBoxError") as Style; bool ValidateSuccess = true; if (input_Title.Text == "") { ValidateSuccess = false; input_Title.Style = style_TextBoxError; MessageBox.Show("You cannot leave the title field blank", "Blank Field", MessageBoxButton.OK, MessageBoxImage.Error); } /*if (input_Description.Text == "") * { * ValidateSuccess = false; * input_Description.Style = style_TextBoxError; * MessageBox.Show("You cannot leave the description field blank", "Blank Field", * MessageBoxButton.OK, MessageBoxImage.Error); * }*/ if (combo_Severity.Text == "") { ValidateSuccess = false; MessageBox.Show("You cannot leave the severity field blank", "Blank Field", MessageBoxButton.OK, MessageBoxImage.Error); } if (ValidateSuccess) { MyBug.Title = input_Title.Text; MyBug.Description = input_Description.Text; MyBug.Severity = Convert.ToInt16(combo_Severity.Text); if (MyBugControl == null) //If it equals null, this is a new bug (needs to be created not updated) { if (MyBug.Create()) { MyHomeWindow.UpdateBugList(); MessageBox.Show("Bug created successfully!"); } else { MessageBox.Show("Error while creating bug: " + MyBug.ErrMsg, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } else { if (MyBug.Update()) { MyBugControl.UpdateUi(); MessageBox.Show("Bug updated successfully!"); } else { MessageBox.Show("Error while updating bug: " + MyBug.ErrMsg, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } } }