private void DeleteHoliday(PlannedHoliday holiday, SqlConnection connection)
        {
            SqlCommand cmd = new SqlCommand("DeleteHoliday", connection);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@HolidayID", SqlDbType.Int).Value = holiday.HolidayID;
            cmd.ExecuteNonQuery();
        }
        private void UpdateHoliday(PlannedHoliday holiday, SqlConnection connection)
        {
            SqlCommand cmd = new SqlCommand("UpdateHoliday", connection);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@HolidayID", SqlDbType.Int).Value     = holiday.HolidayID;
            cmd.Parameters.Add("@FromDate", SqlDbType.DateTime).Value = holiday.FromDate;
            cmd.Parameters.Add("@ToDate", SqlDbType.DateTime).Value   = holiday.ToDate;
            cmd.Parameters.Add("@IsActioned", SqlDbType.Bit).Value    = holiday.IsActioned;
            cmd.ExecuteNonQuery();
        }
        public void DeletePlannedHolidayStartingOn(DateTime date)
        {
            PlannedHoliday plh = currentState.GetHolidayStartingOn(date);

            if (plh != null)
            {
                SqlConnection con = new SqlConnection(LocalSettings.SqlConnectionString);
                con.Open();
                DeleteHoliday(plh, con);
                con.Close();
                RefreshPlannedHolidays();
            }
        }
        public void AddHoliday(DateTime fromDate, DateTime toDate)
        {
            PlannedHoliday holiday = new PlannedHoliday();

            holiday.FromDate = fromDate;
            holiday.ToDate   = toDate;

            SqlConnection connection = new SqlConnection(LocalSettings.SqlConnectionString);

            connection.Open();
            UpdateHoliday(holiday, connection);
            connection.Close();

            RefreshPlannedHolidays();
        }
        public void SetHolidayAsActioned(PlannedHoliday holiday)
        {
            SqlConnection connection = new SqlConnection(LocalSettings.SqlConnectionString);

            connection.Open();

            SqlCommand cmd = new SqlCommand("SetHolidayAsActioned", connection);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@HolidayID", SqlDbType.Int).Value = holiday.HolidayID;
            cmd.ExecuteNonQuery();

            connection.Close();

            RefreshPlannedHolidays();
        }