コード例 #1
0
        private RuleBreach Project(RuleBreachDto dto)
        {
            if (dto == null)
            {
                return(null);
            }

            return(new RuleBreach(
                       dto.Id,
                       dto.RuleId,
                       dto.CorrelationId,
                       dto.IsBackTest,
                       dto.CreatedOn,
                       dto.Title,
                       dto.Description,
                       dto.Venue,
                       dto.StartOfPeriodUnderInvestigation,
                       dto.EndOfPeriodUnderInvestigation,
                       dto.AssetCfi,
                       dto.ReddeerEnrichmentId,
                       dto.SystemOperationId,
                       dto.OrganisationalFactorType,
                       dto.OrganisationalFactorValue,
                       dto.ParameterTuning,
                       new int[0]));
        }
コード例 #2
0
        public async Task <long?> Create(RuleBreach message)
        {
            if (message == null)
            {
                this._logger.LogWarning("saving rule was passed a null message. Returning.");
                return(null);
            }

            lock (this._lock)
            {
                try
                {
                    this._logger.LogInformation("saving rule breach to repository");
                    var dto = new RuleBreachDto(message);

                    using (var dbConnection = this._dbConnectionFactory.BuildConn())
                    {
                        var result = dbConnection.QueryFirstOrDefault <long?>(SaveRuleBreachSql, dto);
                        this._logger.LogInformation("completed saving rule breach to repository");
                        return(result);
                    }
                }
                catch (Exception e)
                {
                    this._logger.LogError(e, $"error for Create");
                }
            }

            return(await Task.FromResult <long?>(null));
        }