/// <summary>
        /// Inserts a list of period ids into the database.
        /// </summary>
        /// <param name="context">Web service request context.</param>
        /// <param name="periodIds">Id for periods to insert.</param>
        /// <param name="periodUsage">How user selected periods should be used.</param>
        public static void AddUserSelectedPeriods(WebServiceContext context,
                                                  List <Int32> periodIds,
                                                  UserSelectedPeriodUsage periodUsage)
        {
            DataColumn column;
            DataRow    row;
            DataTable  periodTable;

            if (periodIds.IsNotEmpty())
            {
                // Delete all periods that belong to this request from the "temporary" tables.
                // This is done to avoid problem with restarts of the webservice.
                DeleteUserSelectedPeriods(context);

                // Insert the new list of periods.
                periodTable = new DataTable(UserSelectedPeriodData.TABLE_NAME);
                column      = new DataColumn(UserSelectedPeriodData.REQUEST_ID, typeof(Int32));
                periodTable.Columns.Add(column);
                column = new DataColumn(UserSelectedPeriodData.PERIOD_ID, typeof(Int32));
                periodTable.Columns.Add(column);
                column = new DataColumn(UserSelectedPeriodData.PERIOD_USAGE, typeof(String));
                periodTable.Columns.Add(column);
                foreach (Int32 periodId in periodIds)
                {
                    row    = periodTable.NewRow();
                    row[0] = context.RequestId;
                    row[1] = periodId;
                    row[2] = periodUsage.ToString();
                    periodTable.Rows.Add(row);
                }
                DataServer.AddUserSelectedPeriods(context, periodTable);
            }
        }