示例#1
0
        public Evento ConsultarVoucher(int eventoID, Voucher voucher)
        {
            ApresentacaoBO apresentacaoBO = new ApresentacaoBO(ado);
            var            evento         = ado.ConsultarMediaPartner(eventoID, voucher.ParceiroMidiaID, voucher.ParceiroMidiaClasse.Nivel);

            if (evento != null)
            {
                foreach (var item in evento.Apresentacao)
                {
                    item.MapaEsquematico = apresentacaoBO.ConsultarMapaEsquematico(item.IR_ApresentacaoID);
                }
            }
            return(evento);
        }
示例#2
0
        public List <CancelamentoRelatorioMatrizApresentacoes> ConsultarMatrizApresentacoes(List <int> apresentacoesID = null, string codigoCancelamento = null, int cancelamentoID = 0)
        {
            List <DateTime> datas = new List <DateTime>();
            List <CancelamentoRelatorioMatrizApresentacoes> retorno = new List <CancelamentoRelatorioMatrizApresentacoes>();

            if (apresentacoesID != null)
            {
                ApresentacaoBO aprBO = new ApresentacaoBO();
                datas = aprBO.ConsultarDataApresentacoes(apresentacoesID);
            }
            else
            {
                datas = ado.ConsultarDataApresentacoes(codigoCancelamento, cancelamentoID);
            }


            int cont = 0;
            CancelamentoRelatorioMatrizApresentacoes cancelamentoApresentacoes = null;

            while (cont < datas.Count)
            {
                if (cont % 4 == 0)
                {
                    cancelamentoApresentacoes = new CancelamentoRelatorioMatrizApresentacoes();
                    retorno.Add(cancelamentoApresentacoes);
                }
                switch (cont % 4)
                {
                case 0:
                    cancelamentoApresentacoes.Apresentacao1 = datas[cont].ToString("ddd, dd/MM/yyyy HH:mm");
                    break;

                case 1:
                    cancelamentoApresentacoes.Apresentacao2 = datas[cont].ToString("ddd, dd/MM/yyyy HH:mm");
                    break;

                case 2:
                    cancelamentoApresentacoes.Apresentacao3 = datas[cont].ToString("ddd, dd/MM/yyyy HH:mm");
                    break;

                case 3:
                    cancelamentoApresentacoes.Apresentacao4 = datas[cont].ToString("ddd, dd/MM/yyyy HH:mm");
                    break;
                }
                cont++;
            }
            return(retorno);
        }
示例#3
0
        public List <CancelamentoRelatorioDadosOperacoes> ConsultarCancelamentoRelatorioOperacoes(List <int> apresentacoesID = null, string codigoCancelamento = null, int cancelamentoID = 0)
        {
            ApresentacaoBO aprBO = new ApresentacaoBO();

            List <CancelamentoRelatorioDadosOperacoes> retorno = new List <CancelamentoRelatorioDadosOperacoes>();

            if (apresentacoesID != null)
            {
                retorno = aprBO.CarregarInformacoesVendaPorOperacao(apresentacoesID).Select(x => new CancelamentoRelatorioDadosOperacoes
                {
                    Operacao     = x.Operacao,
                    Total        = x.Total,
                    Resolvido    = 0,
                    Descricao    = x.Descricao,
                    Cancelamento = x.Cancelamento,
                    AcaoIR       = x.AcaoIR
                }).OrderBy(x => x.Operacao).ToList();
            }
            else
            {
                retorno = aprBO.CarregarInformacoesVendaPorOperacao(cancelamentoID, codigoCancelamento).OrderBy(x => x.Operacao).ToList();
            }
            return(retorno);
        }
示例#4
0
        public IPagedList <Evento> ListarCompleto(int pageNumber, int pageSize, string busca = null, int localID = 0, string estado = null, string cidade = null, int tipoID = 0, int subtipoID = 0, enumTipoPeriodo?tipoPeriodo = null, enumTipoDias tipoDias = enumTipoDias.todosDias, double?latitude = null, double?longitude = null, double distancia = 0, enumEventoOrdem ordem = enumEventoOrdem.dataAsc, bool multiplasQueries = false)
        {
            int        quantidadeDias = (tipoPeriodo == null) ? 0 : tipoPeriodo.Value.ValueAsInt();
            List <int> diasSemana     = null;

            if (tipoDias == enumTipoDias.diasUteis)
            {
                diasSemana = ConfiguracaoAppUtil.GetAsListInt(enumConfiguracaoBO.eventoDiasUteis);
            }
            else if (tipoDias == enumTipoDias.finaisDeSemana)
            {
                diasSemana = ConfiguracaoAppUtil.GetAsListInt(enumConfiguracaoBO.eventoFinaisDeSemana);
            }
            IPagedList <Evento> eventos = null;

            if (multiplasQueries)
            {
                var apresentacaoBO = new ApresentacaoBO();
                var precoBO        = new PrecoBO();

                eventos = ado.Listar(pageNumber, pageSize, busca, localID, estado, cidade, tipoID, subtipoID, quantidadeDias, diasSemana, latitude, longitude, distancia, ordem);
                foreach (var item in eventos)
                {
                    item.EventoMidias = ListarEventoMidiaInEventoAsDictionary(item.IR_EventoID);
                    item.Apresentacao = apresentacaoBO.Listar(item.IR_EventoID);
                    foreach (var itemAp in item.Apresentacao)
                    {
                        itemAp.MenorPreco = precoBO.ConsultarMaiorMenorPorApresentacao(itemAp.IR_ApresentacaoID);
                        if (itemAp.MenorPreco != null)
                        {
                            itemAp.MaiorPreco = precoBO.ConsultarMaiorMenorPorApresentacao(itemAp.IR_ApresentacaoID, false);
                            if (item.MaiorPreco == null)
                            {
                                item.MaiorPreco = itemAp.MaiorPreco;
                                item.MenorPreco = itemAp.MenorPreco;
                            }
                            else
                            {
                                if (itemAp.MaiorPreco.Valor > item.MaiorPreco.Valor)
                                {
                                    item.MaiorPreco = itemAp.MaiorPreco;
                                }
                                if (itemAp.MenorPreco.Valor < item.MenorPreco.Valor)
                                {
                                    item.MenorPreco = itemAp.MenorPreco;
                                }
                            }
                        }
                        if (item.PrimeiraApresentacao == null)
                        {
                            item.PrimeiraApresentacao = itemAp;
                        }
                        else if (itemAp.CalcHorario < item.PrimeiraApresentacao.CalcHorario)
                        {
                            if (item.UltimaApresentacao == null)
                            {
                                item.UltimaApresentacao = item.PrimeiraApresentacao;
                            }
                            item.PrimeiraApresentacao = itemAp;
                        }
                        else if ((item.UltimaApresentacao == null) || (itemAp.CalcHorario > item.UltimaApresentacao.CalcHorario))
                        {
                            item.UltimaApresentacao = itemAp;
                        }
                        item.QtdeDisponivel += itemAp.QtdeDisponivel;
                    }
                }
            }
            else
            {
                eventos = ado.ListarCompleto(pageNumber, pageSize, busca, localID, estado, cidade, tipoID, subtipoID, quantidadeDias, diasSemana, latitude, longitude, distancia, ordem);
                foreach (var item in eventos)
                {
                    item.EventoMidias = ListarEventoMidiaInEventoAsDictionary(item.IR_EventoID);
                }
            }
            return(eventos);
        }
示例#5
0
        public List <CancelamentoLoteRelatorioDadosPorApresentacao> ConsultarCancelamentoRelatorioTotalizadoresPorApresentacao(List <int> apresentacoesID)
        {
            ApresentacaoBO aprBO = new ApresentacaoBO();
            List <InformacaoVendaBasicasCancelarMassa>           informacoesVenda = aprBO.CarregarInformacoesVenda(apresentacoesID);
            List <CancelamentoLoteRelatorioDadosPorApresentacao> retorno          = new List <CancelamentoLoteRelatorioDadosPorApresentacao>();

            foreach (var item in informacoesVenda)
            {
                retorno.Add(new CancelamentoLoteRelatorioDadosPorApresentacao
                {
                    Horario     = item.Horario,
                    Ordem       = 0,
                    TituloLinha = "Data",
                    Valor       = 0
                });

                retorno.Add(new CancelamentoLoteRelatorioDadosPorApresentacao
                {
                    Horario     = item.Horario,
                    Ordem       = 1,
                    TituloLinha = "Com Identificação",
                    Valor       = item.Identificados
                });
                retorno.Add(new CancelamentoLoteRelatorioDadosPorApresentacao
                {
                    Horario     = item.Horario,
                    Ordem       = 2,
                    TituloLinha = "Sem Identificação",
                    Valor       = item.NaoIdentificados
                });
                retorno.Add(new CancelamentoLoteRelatorioDadosPorApresentacao
                {
                    Horario     = item.Horario,
                    Ordem       = 3,
                    TituloLinha = "Canal Presencial",
                    Valor       = item.Presencial
                });
                retorno.Add(new CancelamentoLoteRelatorioDadosPorApresentacao
                {
                    Horario     = item.Horario,
                    Ordem       = 4,
                    TituloLinha = "Canal Remoto",
                    Valor       = item.Remoto
                });
                retorno.Add(new CancelamentoLoteRelatorioDadosPorApresentacao
                {
                    Horario     = item.Horario,
                    Ordem       = 5,
                    TituloLinha = "Ingresso Impresso",
                    Valor       = item.Impressos
                });
                retorno.Add(new CancelamentoLoteRelatorioDadosPorApresentacao
                {
                    Horario     = item.Horario,
                    Ordem       = 6,
                    TituloLinha = "Ingresso Não Impresso",
                    Valor       = item.NaoImpressos
                });
                retorno.Add(new CancelamentoLoteRelatorioDadosPorApresentacao
                {
                    Horario     = item.Horario,
                    Ordem       = 8,
                    TituloLinha = "Total",
                    Valor       = item.NaoImpressos + item.Impressos
                });
            }

            List <InformacaoVendaFormasPagamento> formasPagamento = aprBO.CarregarInformacoesVendaFormasPagamento(apresentacoesID);

            foreach (var item in formasPagamento)
            {
                retorno.Add(new CancelamentoLoteRelatorioDadosPorApresentacao
                {
                    Horario     = item.Horario,
                    Ordem       = 10,
                    TituloLinha = item.FormaPagamento,
                    Valor       = item.Quantidade
                });
            }

            return(retorno);
        }