Ejemplo n.º 1
0
        /// <summary>
        ///  Obtém Evento, Apresentacao e Setor de cada item
        /// </summary>
        /// <returns></returns>
        public override DataTable EventoApresentacaoSetorPreco(string ItensID, string status)
        {
            int       ingressoID;
            DataTable tabelaIngresso;
            DataTable tabelaDados;

            tabelaDados = EstruturaEventoApresentacaoSetorPreco();
            DataRow linha;

            try
            {
                string[] itensIDVetor = ItensID.Split(',');

                int[] itensIDVetorInt = CTLib.Utilitario.VetorStringParaInteiro(itensIDVetor);
                foreach (int itemID in itensIDVetorInt)
                {
                    // Obter o primeiro IngressoID de cada item
                    this.Control.ID = itemID;
                    ingressoID      = this.PrimeiroIngressoID();
                    // Obter Evento, Apresentação, Setor, Preço deste ingresso (conforme o status)
                    IngressoLista ingressoLista = new IngressoLista(); // precisa estar aqui dentro senão os filtros vão se somando
                    ingressoLista.FiltroSQL = "ID =" + ingressoID;
                    ingressoLista.FiltroSQL = "Status in (" + status + ")";
                    ingressoLista.Carregar();
                    ingressoLista.Primeiro();
                    if (ingressoLista.ToString() != "")
                    {
                        tabelaIngresso         = ingressoLista.Ingresso.EventoApresentacaoSetor();
                        linha                  = tabelaDados.NewRow();
                        linha["ItemID"]        = this.Control.ID;
                        linha["Evento"]        = tabelaIngresso.Rows[0]["Evento"];
                        linha["Apresentacao"]  = tabelaIngresso.Rows[0]["Apresentacao"];
                        linha["Setor/Produto"] = tabelaIngresso.Rows[0]["Setor/Produto"];
                        linha["Preco"]         = tabelaIngresso.Rows[0]["Preco"];
                        this.Ler(this.Control.ID);
                        if (this.PacoteID.Valor <= 0)
                        {
                            linha["Valor"] = tabelaIngresso.Rows[0]["Valor"];
                        }
                        else
                        {
                            Pacote pacote = new Pacote();
                            pacote.Ler(this.PacoteID.Valor);
                            linha["Valor"] = pacote.Valor();
                        }
                        tabelaDados.Rows.Add(linha);
                    }
                }
            }
            catch (Exception erro)
            {
                throw erro;
            }
            return(tabelaDados);
        }// fim de IngressosPorItens
Ejemplo n.º 2
0
        /// <summary>
        /// Exclui todos os itens da lista carregada
        /// </summary>
        /// <returns></returns>
        public override bool ExcluirTudo()
        {
            try
            {
                Carregar();
            }
            catch (Exception ex)
            {
                throw ex;
            }

            try
            {
                bool ok = true;

                if (lista.Count > 0)
                { //verifica se tem itens
                    // Verificar de tem ingresso indisponivel
                    IngressoLista ingressoLista = new IngressoLista();
                    ingressoLista.FiltroSQL = "LugarID in (" + this.ToString() + ")";
                    ingressoLista.FiltroSQL = "Status<>'" + Ingresso.DISPONIVEL + "' AND Status<>'" + Ingresso.BLOQUEADO + "'";
                    ingressoLista.Carregar();
                    if (ingressoLista.Tamanho > 0)
                    {
                        throw new LugarException("Não pode excluir esses lugares porque há " + ingressoLista.Tamanho + " ingressos não-disponíveis em todos ou em algum deles.");
                    }

                    ingressoLista.FiltroSQL = null;
                    ingressoLista.FiltroSQL = "LugarID in (" + this.ToString() + ")";
                    ingressoLista.Carregar();

                    if (ingressoLista.Tamanho > 0)
                    {
                        IngressoLogLista ingressoLogLista = new IngressoLogLista();
                        ingressoLogLista.FiltroSQL = "IngressoID in (" + ingressoLista + ")";
                        ingressoLogLista.FiltroSQL = "VendaBilheteriaItemID <> 0";
                        ingressoLogLista.Carregar(1);
                        if (ingressoLogLista.Tamanho > 0)
                        {
                            throw new LugarException("Não pode excluir esses lugares porque há ingressos com venda efetuada.");
                        }
                        else
                        {
                            ingressoLogLista.FiltroSQL = null;
                            ingressoLogLista.FiltroSQL = "IngressoID in (" + ingressoLista + ")";
                            ok = ingressoLogLista.ExcluirTudo();
                        }
                    }

                    if (ok)
                    {
                        Ultimo();
                        //fazer varredura de traz pra frente.
                        do
                        {
                            ok = base.Excluir();
                        }while (ok && Anterior());
                    }
                }
                else
                { //nao tem itens na lista
                    //Devolve true como se os itens ja tivessem sido excluidos, com a premissa dos ids existirem de fato.
                    ok = true;
                }

                return(ok);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }