private void Program_Swap(Program p1, Program p2) { DateTime tempstart; tempstart = p1.StartDateTime; TimeSpan p1ts = p1.EndDateTime - p1.StartDateTime; TimeSpan p2ts = p2.EndDateTime - p2.StartDateTime; p1.StartDateTime = p2.StartDateTime; p1.EndDateTime = p2.StartDateTime.AddMinutes(p1ts.TotalMinutes); p2.StartDateTime = tempstart; p2.EndDateTime = tempstart.AddMinutes(p2ts.TotalMinutes); List<Program> temp = new List<Program>(); if (p1.ProgramID != 0) temp.Add(p1); if (p2.ProgramID != 0) temp.Add(p2); for (int i = 0; i < lstProgram.Items.Count; i++) { if (((Program)lstProgram.Items[i]).ProgramID != 0 && ((Program)lstProgram.Items[i]).ProgramID != p1.ProgramID && ((Program)lstProgram.Items[i]).ProgramID != p2.ProgramID) temp.Add((Program)lstProgram.Items[i]); } if (Check_OverWrite(temp)) { MessageBox.Show("OverLap or is over the event time boundary"); return; } ProgrammeHelper client = new ProgrammeHelper(); try { if (p1.ProgramID != 0 && p2.ProgramID != 0) { client.SwapProgram(user, p1.ProgramID, p2.ProgramID); } else { if (p1.ProgramID != 0) { client.EditProgram(user, p1.ProgramID, p1.Name, p1.StartDateTime, p1.EndDateTime, p1.Description, p1.Location); } if (p2.ProgramID != 0) client.EditProgram(user, p2.ProgramID, p2.Name, p2.StartDateTime, p2.EndDateTime, p2.Description, p2.Location); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { client.Close(); } loadPrograms(); }