public async Task <EventoAlteracao> Processar(EventoAlteracao evento) { Assertion.NotNull(evento, "O eventos não foi informado.").Validate(); Assertion.IsTrue(evento.Historicos.Any(), "Não foi informado nenhum novo histórico.").Validate(); await ObtemIdentificadoresCoberturas(evento); await _eventos.Adicionar(evento); return(evento); }
public async Task <EventoImplantacao> Processar(EventoImplantacao evento) { if (await _eventos.Contem(evento.Identificador)) { return(evento); } foreach (var cob in evento.Coberturas) { var dadosProduto = _produtoContainer.GetValue(new ChaveProduto(cob.ItemProdutoId, cob.TipoFormaContratacaoId, cob.TipoRendaId, cob.DataAssinatura)); cob.ComDadosProduto(dadosProduto); await _validador.Validar(cob); } await _eventos.Adicionar(evento); return(evento); }