private int CalculateDateColumns(SqlConnection conn, DimDateParam paramObj)
        {
            var dic = new Dictionary <string, string>();

            dic.Add("FromDate", string.Format("{0:yyyy-MM-dd}", paramObj.FromDate.Date));
            dic.Add("ToDate", string.Format("{0:yyyy-MM-dd}", paramObj.ToDate.Date));

            string commandText = Smart.Format(
                @"DECLARE @FromDate datetime = '{FromDate}';
DECLARE @ToDate datetime = '{ToDate}';
EXEC sp_CalculateDateColumns @FromDate, @ToDate;", dic);

            using (var cmd = new SqlCommand(commandText, conn))
            {
                return(cmd.ExecuteNonQuery());
            }
        }
        private int DeleteExistingDates(SqlConnection conn, DimDateParam paramObj)
        {
            var dic = new Dictionary <string, string>();

            dic.Add("FromDate", string.Format("{0:yyyy-MM-dd}", paramObj.FromDate.Date));
            dic.Add("ToDate", string.Format("{0:yyyy-MM-dd}", paramObj.ToDate.Date));

            string commandText = Smart.Format(
                @"DECLARE @FromDate datetime = '{FromDate}';
DECLARE @ToDate datetime = '{ToDate}';
DELETE FROM DimDate WHERE FullDate BETWEEN @FromDate AND @ToDate;",
                dic);

            using (var cmd = new SqlCommand(commandText, conn))
            {
                return(cmd.ExecuteNonQuery());
            }
        }