public IEnumerable<Evento> QuePossuemConflitoCom(Evento evento, MotivoConflitoEnum motivo) { return documentSession.Query<Evento>().Where(e => e.Conflitos.Any(c => c.Evento.Id.Equals(evento.Id) && c.Motivo == motivo)); }
public void AdicionarConflito(Evento outroEvento, MotivoConflitoEnum motivo) { #region pré-condição var outroEventoNaoEhNulo = Assertion.That(outroEvento != null).WhenNot("Erro ao tentar adicionar conflito com evento nulo."); #endregion outroEventoNaoEhNulo.Validate(); this.Estado = EstadoEventoEnum.NaoAgendado; if (Conflitos == null) Conflitos = new List<Conflito>(); int quantidadeDeConflitosAntes = Conflitos.Count(); var conflitosAux = Conflitos.ToList(); conflitosAux.Add(new Conflito(outroEvento, motivo)); Conflitos = conflitosAux; #region pós-condição var aumentouAQuantidadeDeConflitos = Assertion.That(quantidadeDeConflitosAntes + 1 == Conflitos.Count()) .WhenNot("Erro ao adicionar conflitos ao evento. Quantidade não foi incrementada."); #endregion aumentouAQuantidadeDeConflitos.Validate(); }
public Conflito(Evento evento, MotivoConflitoEnum motivo) { this.Evento = evento; this.Motivo = motivo; this.Data = SystemTime.Now(); }