public IList <ValidatedFile> GetValidatedFiles(DateTime startDate, DateTime endDate)
        {
            loggingService.LogMethodInvoked();

            var validatedFiles = new List <ValidatedFile>();

            statsDownloadDatabaseService.CreateDatabaseConnectionAndExecuteAction(service =>
            {
                DbParameter startDateParameter =
                    service.CreateParameter("@StartDate", DbType.Date, ParameterDirection.Input);
                DbParameter endDateParameter =
                    service.CreateParameter("@EndDate", DbType.Date, ParameterDirection.Input);

                startDateParameter.Value = startDate;
                endDateParameter.Value   = endDate;

                var dataTable = new DataTable();
                service.ExecuteStoredProcedure(Constants.StatsDownloadApiDatabase.GetValidatedFilesProcedureName,
                                               new[] { startDateParameter, endDateParameter }, dataTable);

                foreach (DataRow row in dataTable.Rows)
                {
                    validatedFiles.Add(new ValidatedFile((row["DownloadId"] as int?).GetValueOrDefault(),
                                                         (row["DownloadDateTime"] as DateTime?).GetValueOrDefault(), row["FilePath"] as string));
                }
            });
            return(validatedFiles);
        }
 private void CreateDatabaseConnectionAndExecuteAction(Action <IDatabaseConnectionService> action)
 {
     statsDownloadDatabaseService.CreateDatabaseConnectionAndExecuteAction(action);
 }