コード例 #1
0
        public MergedStatisticReleaseDetails AddStatisticsReleases(IEnumerable<ReleasePersistencyStatisticsItem> data)
        {
            //var recordsAffected = 0;
            var summary = new MergedStatisticReleaseDetails();

            using (var connection = _sqlFactory.CreateDbConnection())
            {
                connection.Open();

                var previousReleases = SelectLastestStatisticsReleases(connection);

                summary.ExistingRecordsFound = previousReleases.Count;

                foreach (var releaseData in data)
                {
                    var previousRelease = previousReleases.GetValueOrDefault(releaseData.GetKey());

                    // Only insert if we don't have the data already or if the data has changed
                    if (previousRelease == null || previousRelease.VersionDownloadCount != releaseData.VersionDownloadCount)
                    {
                        connection.Insert(releaseData);
                        summary.RecordsAdded++;
                    }
                }
            }

            return summary;
        }
コード例 #2
0
        public MergedStatisticReleaseDetails AddStatisticsReleases(IEnumerable <ReleasePersistencyStatisticsItem> data)
        {
            //var recordsAffected = 0;
            var summary = new MergedStatisticReleaseDetails();

            using (var connection = _sqlFactory.CreateDbConnection())
            {
                connection.Open();

                var previousReleases = SelectLastestStatisticsReleases(connection);

                summary.ExistingRecordsFound = previousReleases.Count;

                foreach (var releaseData in data)
                {
                    var previousRelease = previousReleases.GetValueOrDefault(releaseData.GetKey());

                    // Only insert if we don't have the data already or if the data has changed
                    if (previousRelease == null || previousRelease.VersionDownloadCount != releaseData.VersionDownloadCount)
                    {
                        connection.Insert(releaseData);
                        summary.RecordsAdded++;
                    }
                }
            }

            return(summary);
        }