private Result ProcessCache(CacheMessage message) { try { if (message == null) { return(ResultBuilder.Warning("Mensagem inválida.")); } MessageLogger.Received(message); //var cacher = Cachers.Actual[message.ContentType]; //if (cacher == null) return ResultBuilder.Warning($"{message.ContentType}: Cacher não encontrado."); //cacher.StoreCache(message); ResultBuilder.Warning($"{message.ContentType}: Cacher não encontrado."); MessageLogger.Consumed(message); return(ResultBuilder.Success()); } catch (Exception) { MessageLogger.Error(message); throw; } }
public virtual Result <TDto> ProcessMessage(TMessage message) { if (message == null) { return(ResultBuilder <TDto> .Warning("Mensagem incorreta.")); } MessageLogger.Received(message); SaveContext(message); PreProcess(message); //// Criar e instanciar factory do Dapper para chama-lo no Program //using (FactoryProvider.CurrentFactory.GetDataContext()) //{ try { TDto dto = null; var result = ValidateMessage(message); var isSuccess = result.IsSuccess(); if (isSuccess) { //// Abrir Transação com o Dapper //using (var tx = TransactionFactory.GetTransaction()) //{ result = Process(message); // if (result.IsSuccess()) // tx.Commit(); //} isSuccess = result.IsSuccess(); } if (isSuccess) { if (Caches.Count > 0) { dto = ProcessDto(Caches); dto.Send(message); } SendMessages(message); } MessageLogger.Consumed(message, isSuccess, result.MessageToString()); return(ResultBuilder <TDto> .Return(result, dto)); } catch (HBFlowException) { throw; } catch (Exception ex) { MessageLogger.Error(message); throw; } }