Exemplo n.º 1
0
        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;
                }
            }
        }
Exemplo n.º 2
0
 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");
     }
 }