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();
        }