public BsonValue CreateResponseMessageBackup(object command, MediatrActions action = MediatrActions.Sent, bool increaseRetryCounter = false, string additionalData = null, string errorData = null) { try { var backUp = new MediatRBackup { Id = Guid.NewGuid(), Retries = increaseRetryCounter ? 1 : 0, AdditionalData = string.IsNullOrEmpty(additionalData) ? string.Empty : additionalData, IsError = false, MessageContent = GetSerializedContent(command), //System.Text.Json.JsonSerializer.Serialize(command), TimeStampUTC = DateTime.UtcNow.ToUniversalTime(), Action = action.ToString(), Error = string.IsNullOrEmpty(errorData) ? string.Empty : errorData }; return(MediatRBackupLiteDbRepository.Create(backUp)); } catch (Exception ex) { Devon4NetLogger.Error(ex); throw; } }
public BsonValue CreateMessageBackup <T>(ActionBase <T> command, MediatrActions action = MediatrActions.Sent, bool increaseRetryCounter = false, string additionalData = null, string errorData = null) where T : class { try { if (command?.InternalMessageIdentifier == null || command.InternalMessageIdentifier.IsNullOrEmptyGuid()) { throw new ArgumentException($"The provided command and the command identifier cannot be null "); } var backUp = new MediatRBackup { Id = Guid.NewGuid(), InternalMessageIdentifier = command.InternalMessageIdentifier, Retries = increaseRetryCounter ? 1 : 0, AdditionalData = string.IsNullOrEmpty(additionalData) ? string.Empty : additionalData, IsError = false, MessageContent = GetSerializedContent(command), //System.Text.Json.JsonSerializer.Serialize(command), MessageType = command.MessageType, TimeStampUTC = command.Timestamp.ToUniversalTime(), Action = action.ToString(), Error = string.IsNullOrEmpty(errorData) ? string.Empty : errorData }; return(MediatRBackupLiteDbRepository.Create(backUp)); } catch (Exception ex) { Devon4NetLogger.Error(ex); throw; } }
public async Task <MediatRBackup> CreateResponseMessageBackup(object command, MediatRActionsEnum action = MediatRActionsEnum.Sent, bool increaseRetryCounter = false, string additionalData = null, string errorData = null) { try { var ctx = CreateContext(); var backUp = new MediatRBackup { Id = Guid.NewGuid(), Retries = increaseRetryCounter ? 1 : 0, AdditionalData = string.IsNullOrEmpty(additionalData) ? string.Empty : additionalData, IsError = false, MessageContent = GetSerializedContent(command), //System.Text.Json.JsonSerializer.Serialize(command), TimeStampUTC = DateTime.UtcNow.ToUniversalTime(), Action = action.ToString(), Error = string.IsNullOrEmpty(errorData) ? string.Empty : errorData }; var result = await ctx.MediatRBackup.AddAsync(backUp).ConfigureAwait(false); await ctx.SaveChangesAsync(); await ctx.DisposeAsync(); return(result.Entity); } catch (Exception ex) { Devon4NetLogger.Error(ex); throw; } }
public async Task <MediatRBackup> CreateMessageBackup <T>(ActionBase <T> command, MediatRActionsEnum action = MediatRActionsEnum.Sent, bool increaseRetryCounter = false, string additionalData = null, string errorData = null) where T : class { MediatRBackupContext ctx = null; try { ctx = CreateContext(); if (ctx == null) { throw new ArgumentException("The database provider is not supported to host threads"); } if (!UseExternalDatabase) { throw new ArgumentException("Please setup your MeadiatRBackupContext database context to use MediatRBackupService"); } if (command?.InternalMessageIdentifier == null || command.InternalMessageIdentifier.IsNullOrEmptyGuid()) { throw new ArgumentException($"The provided command and the command identifier cannot be null "); } var backUp = new MediatRBackup { Id = Guid.NewGuid(), InternalMessageIdentifier = command.InternalMessageIdentifier, Retries = increaseRetryCounter ? 1 : 0, AdditionalData = string.IsNullOrEmpty(additionalData) ? string.Empty : additionalData, IsError = false, MessageContent = GetSerializedContent(command), MessageType = command.MessageType, TimeStampUTC = command.Timestamp.ToUniversalTime(), Action = action.ToString(), Error = string.IsNullOrEmpty(errorData) ? string.Empty : errorData }; var result = await ctx.MediatRBackup.AddAsync(backUp).ConfigureAwait(false); await ctx.SaveChangesAsync(); await ctx.DisposeAsync(); return(result.Entity); } catch (Exception ex) { Devon4NetLogger.Error(ex); throw; } finally { if (ctx != null) { await ctx.DisposeAsync().ConfigureAwait(false); } } }
public async Task <MediatRBackup> CreateMessageBackup <T>(ActionBase <T> command, MediatrActions action = MediatrActions.Sent, bool increaseRetryCounter = false, string additionalData = null, string errorData = null) where T : class { MediatRBackupContext ctx = null; try { ctx = CreateContext(); CheckCommandContext(command, ctx); var backUp = new MediatRBackup { Id = Guid.NewGuid(), InternalMessageIdentifier = command.InternalMessageIdentifier, Retries = increaseRetryCounter ? 1 : 0, AdditionalData = string.IsNullOrEmpty(additionalData) ? string.Empty : additionalData, IsError = false, MessageContent = GetSerializedContent(command), MessageType = command.MessageType, TimeStampUTC = command.Timestamp.ToUniversalTime(), Action = action.ToString(), Error = string.IsNullOrEmpty(errorData) ? string.Empty : errorData }; var result = await ctx.MediatRBackup.AddAsync(backUp).ConfigureAwait(false); await ctx.SaveChangesAsync().ConfigureAwait(false); await ctx.DisposeAsync().ConfigureAwait(false); return(result.Entity); } catch (Exception ex) { Devon4NetLogger.Error(ex); throw; } finally { if (ctx != null) { await ctx.DisposeAsync().ConfigureAwait(false); } } }