public void Comparar(EstruturaSerieGrupo grupoCompleto, int qtdMinimaIngressosPorApresentacao) { foreach (var apresentacao in grupoCompleto.Apresentacoes) { var encontrado = this.Apresentacoes.Find(delegate(EstruturaSerieQuantidade itemEncontrado) { return(itemEncontrado.ApresentacaoID == apresentacao.ApresentacaoID); }); //Não tem reservas desta apresentacao, precisa inserir os registros com a quantidade MINIMA pendente if (encontrado == null) { this.Apresentacoes.Add(new EstruturaSerieQuantidade() { Evento = apresentacao.Evento, EventoID = apresentacao.EventoID, Apresentacao = apresentacao.Apresentacao, ApresentacaoID = apresentacao.ApresentacaoID, QuantidadePendente = qtdMinimaIngressosPorApresentacao, }); } //Possui a apresentação mas a quantidade de ingressos reservados é MENOR do que a mínima aceitavel else if (encontrado.Quantidade != apresentacao.Quantidade || encontrado.Quantidade < qtdMinimaIngressosPorApresentacao) { encontrado.QuantidadePendente = qtdMinimaIngressosPorApresentacao - encontrado.Quantidade; } } }
private void VerificarQuantidadeApresentacoes(EstruturaSerieGrupo estruturaSerieGrupo) { if (this.QuantidadeMinimaApresetacoes > estruturaSerieGrupo.QuantidadeApresentacoes) { this.MensagemApresentacao = string.Format("A quantidade mínima de apresentações ainda não foi atingida, por favor, reserve mais {0}.\n", this.QuantidadeMinimaApresetacoes - estruturaSerieGrupo.QuantidadeApresentacoes == 1 ? "1 apresentação" : (this.QuantidadeMinimaApresetacoes - estruturaSerieGrupo.QuantidadeApresentacoes) + " apresentações"); } else if (this.QuantidadeMaximaApresentacoes > 0 && this.QuantidadeMaximaApresentacoes < estruturaSerieGrupo.QuantidadeApresentacoes) { this.MensagemApresentacao = string.Format("A quantidade máxima de apresentações foi excedida. por favor, remova {0}.\n", estruturaSerieGrupo.QuantidadeApresentacoes - this.QuantidadeMaximaApresentacoes == 1 ? "1 apresentação" : (estruturaSerieGrupo.QuantidadeApresentacoes - this.QuantidadeMaximaApresentacoes) + " apresentações"); } }