Beispiel #1
0
        private async Task <GenericServiceResponse> InsertAuditRecordAsync(LogCommand logCommand, PayloadParent payload, string objectFullName, string lastModifiedBy)
        {
            var response      = new GenericServiceResponse();
            var cdcAuditEnity = new CdcAuditEntity
            {
                AuditLogGuid     = Guid.NewGuid(),
                CreatedById      = payload.CreatedById,
                CreatedDate      = payload.CreatedDate,
                EventType        = payload.EventTypeC,
                ObjectType       = objectFullName,
                LastModifiedById = lastModifiedBy,
                LastModifiedDate = DateTime.Now,
                RecordId         = payload.RecordIdC,
            };
            var auditResponse = await _cdcRepository.InsertAuditRecord(cdcAuditEnity, logCommand);

            if (auditResponse == 1)
            {
                response.Success = true;
            }
            return(response);
        }
        public async Task <int> InsertAuditRecord(CdcAuditEntity auditEntity, LogCommand logCommand)
        {
            //Logging Helper for Method
            var method_name = "InsertAuditRecord";

            var query = " insert into [CDCQueue].[AuditLog] " +
                        " ([AuditLogGuid]  " +
                        ", [ObjectType] " +
                        ", [RecordID] " +
                        ", [EventType] " +
                        ", [CreatedDate] " +
                        ", [CreatedById] " +
                        ", [LastModifiedDate] " +
                        ", [LastModifiedById]) " +
                        "  Values " +
                        " (@AuditLogGuid, @ObjectType, @RecordID, @EventType, @CreatedDate, @CreatedById, @LastModifiedDate, @LastModifiedById); ";


            //Log the input
            logCommand.LogMessage = $"{Repository}.{method_name} Starting input parameters _Lead = {JsonConvert.SerializeObject(auditEntity)}" + Environment.NewLine +
                                    $"Query: {query}";
            _logHandler.HandleLog(logCommand);


            using (var connection = _connectionFactory.GetConnection)
            {
                //Await the response
                var returnValue = await connection.ExecuteAsync(query, auditEntity);

                connection.Close();

                //Log the output
                logCommand.LogMessage = $"{Repository}.{method_name} completed";
                _logHandler.HandleLog(logCommand);

                return(returnValue);
            }
        }