private void btnRemovePoint_Click(object sender, RoutedEventArgs e) { if (DateTime.Now.Subtract(_recentRemovalStamp).TotalSeconds < 2.0) { return; } _recentRemovalStamp = DateTime.Now; ArgPoint ap; Topic t; getPointAndTopic(out ap, out t); if (ap == null) { return; } if (ap.Person.Id != SessionInfo.Get().person.Id) { return; } BusyWndSingleton.Show("Removing argument..."); try { if (ap.Topic != null) { Topic t1 = ap.Topic; recentlyDeleted = new PointRemoveRecord(); recentlyDeleted.person = ap.Person; recentlyDeleted.point = ap; recentlyDeleted.topic = ap.Topic; PublicBoardCtx.DropContext(); DaoUtils.UnattachPoint(ap); RenumberPointsAfterDeletion(t1, SessionInfo.Get().person.Id); UpdatePointsOfTopic(t1); saveProcedure(ap, t1.Id); } } finally { BusyWndSingleton.Hide(); } }