Ejemplo n.º 1
0
        private void GerarIngressosSetor(BD bd, List <GerarEventoEtapa1Fase3Model.SetoresNovo> setores)
        {
            foreach (GerarEventoEtapa1Fase3Model.SetoresNovo setor in setores)
            {
                try
                {
                    var ingresso = new Ingresso();

                    if (setor.Tipo == Setor.Tipo.Pista)
                    {
                        ingresso.Acrescentar(setor.ApresentacaoSetorID, this.Resultado.Evento.Control.ID, setor.ApresentacaoID, setor.SetorID, this.empresaID, this.Resultado.Evento.LocalID.Valor, 0, setor.Quantidade, 1, bd, true, null);
                    }
                    else
                    {
                        setor.Quantidade = ingresso.GerarLugares(setor.SetorID, setor.ApresentacaoSetorID, this.Resultado.Evento.Control.ID, setor.ApresentacaoID, this.empresaID, this.Resultado.Evento.LocalID.Valor, null, Enumerators.TipoCodigoBarra.Estruturado, bd);
                    }

                    ApresentacaoSetor aps = new ApresentacaoSetor(UsuarioID);
                    aps.Control.ID = setor.ApresentacaoSetorID;
                    aps.AtualizarIngressosGerados(bd);
                }
                catch (IngressoException ex)
                {
                    setor.IngressosGerados = false;
                    Console.WriteLine(ex.Message);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
Ejemplo n.º 2
0
        public void AtualizarProgramacao(string codigoProgramacao)
        {
            BD bd = new BD();

            try
            {
                var programacao = Service.getProgramacao(oAutenticacao, new Filtros.GetProg()
                {
                    IDProg = codigoProgramacao,
                }).FirstOrDefault();

                int apresentacaoID = Convert.ToInt32(bd.ConsultaValor("SELECT ID FROM tApresentacao (NOLOCK) WHERE CodigoProgramacao = '" + codigoProgramacao + "'"));
                if (apresentacaoID == 0)
                {
                    throw new Exception("Não existe programação cadastrada com este código.");
                }

                Apresentacao oApresentacao = new Apresentacao();
                oApresentacao.Ler(apresentacaoID);
                oApresentacao.Horario.Valor = Convert.ToDateTime(programacao.DataSessao);
                oApresentacao.Atualizar();


                int apresentacaoSetorID = Convert.ToInt32(bd.ConsultaValor("SELECT TOP 1 ID FROM tApresentacaoSetor WHERE ApresentacaoID = " + apresentacaoID));
                ApresentacaoSetor oApresentacaoSetor = new ApresentacaoSetor();
                oApresentacaoSetor.Ler(apresentacaoSetorID);
                oApresentacaoSetor.NVendeLugar.Valor = Convert.ToBoolean(programacao.NVendLuga);
                oApresentacaoSetor.Atualizar();
            }
            finally
            {
                bd.Fechar();
            }
        }
Ejemplo n.º 3
0
        private List <GerarEventoEtapa1Fase3Model.SetoresNovo> InsereSetores(BD bd, List <int> apresentacoes)
        {
            var apresentacaoSetor = new ApresentacaoSetor(this.UsuarioID);

            List <GerarEventoEtapa1Fase3Model.SetoresNovo> setores = new List <GerarEventoEtapa1Fase3Model.SetoresNovo>();

            try
            {
                var setoresInseridos = apresentacaoSetor.InsereSetores(apresentacoes.ToArray(), InfoFase1.Etapa3.Setores.Select(c => c.SetorID).ToArray(), bd);

                foreach (ApresentacaoSetor setor in setoresInseridos)
                {
                    setores.Add(new GerarEventoEtapa1Fase3Model.SetoresNovo()
                    {
                        ApresentacaoSetorID = setor.Control.ID,
                        ApresentacaoID      = setor.ApresentacaoID.Valor,
                        SetorID             = setor.SetorID.Valor,
                        Tipo       = setor.TipoSetor,
                        Quantidade = InfoFase1.Etapa3.Setores.Where(c => c.SetorID == setor.SetorID.Valor).FirstOrDefault().Quantidade
                    });
                }

                this.Fluxo.Setores.OK();
            }
            catch (Exception ex)
            {
                this.Fluxo.Setores.Erro(ex.Message);
                throw ex;
            }
            return(setores);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Obtem uma tabela a ser jogada num relatorio
        /// </summary>
        /// <returns></returns>
        public override DataTable Relatorio()
        {
            try{
                DataTable tabela = new DataTable("RelatorioPacoteItem");

                if (this.Primeiro())
                {
                    tabela.Columns.Add("Evento", typeof(string));
                    tabela.Columns.Add("Horário", typeof(string));
                    tabela.Columns.Add("Setor", typeof(string));
                    tabela.Columns.Add("Preço", typeof(decimal));
                    tabela.Columns.Add("Qtd", typeof(int));
                    tabela.Columns.Add("Total", typeof(decimal));

                    do
                    {
                        DataRow linha = tabela.NewRow();
                        Preco   preco = new Preco();
                        preco.Ler(pacoteItem.PrecoID.Valor);

                        ApresentacaoSetor apresentacaoSetor = new ApresentacaoSetor();
                        apresentacaoSetor.Ler(preco.ApresentacaoSetorID.Valor);

                        Apresentacao apresentacao = new Apresentacao();
                        apresentacao.Ler(apresentacaoSetor.ApresentacaoID.Valor);

                        Setor setor = new Setor();
                        setor.Ler(apresentacaoSetor.SetorID.Valor);

                        Evento evento = new Evento();
                        evento.Ler(apresentacao.EventoID.Valor);

                        linha["Evento"]  = evento.Nome;
                        linha["Horário"] = apresentacao.Horario.Valor.ToString(Utilitario.FormatoDataHora);
                        linha["Setor"]   = setor.Nome;
                        linha["Preço"]   = preco.Valor.Valor;
                        linha["Qtd"]     = pacoteItem.Quantidade.Valor;
                        linha["Total"]   = (preco.Valor.Valor * pacoteItem.Quantidade.Valor);
                        tabela.Rows.Add(linha);
                    }while(this.Proximo());
                }
                else                   //erro: nao carregou a lista
                {
                    tabela = null;
                }

                return(tabela);
            }catch (Exception ex) {
                throw ex;
            }
        }
Ejemplo n.º 5
0
        public int DistribuiCota(TipoDistribuicao tipo, EstruturaCotasDistribuir oDistribuir)
        {
            try
            {
                switch (tipo)
                {
                case TipoDistribuicao.TodosEventos:
                {
                    //Apresentacao SET CotaID = this.CotaID WHERE LocalID = this.LocalID
                    Apresentacao apresentacao = new Apresentacao();
                    apresentacao.DistribuirCotasPorLocal(oDistribuir);
                    return(1);
                }

                case TipoDistribuicao.TodasApresentacoes:
                {
                    //Apresentacao SET CotaID = this.CotaID WHERE tEvento.ID = this.cmbEvento.SelectedValue
                    Apresentacao apresentacao = new Apresentacao();
                    apresentacao.DistribuirCotasPorEvento(oDistribuir, true);
                    return(1);
                }

                case TipoDistribuicao.Apresentacao:
                case TipoDistribuicao.TodosSetores:
                {
                    //Apresentacao SET CotaID = this.CotaID WHERE tApresentacao = this.cmbApresentacao.SelectedValue
                    Apresentacao apresentacao = new Apresentacao();
                    apresentacao.DistribuirCotasPorApresentacao(oDistribuir, true);
                    return(1);
                }

                case TipoDistribuicao.Setor:
                {
                    //ApresentacaoSetor Set CotaID = this.CotaID WHERE ApresentacaoID = this.cmbApresentacao.SelectedValue AND SetorID = this.cmbSetor.SelectedValue
                    ApresentacaoSetor apresentacaoSetor = new ApresentacaoSetor();
                    return(apresentacaoSetor.DistribuirCotasPorApresentacaoSetor(oDistribuir));
                }

                default:
                    return(0);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 6
0
        private void CriaPrecoSetor(BD bd, PrecoVendaModel precoInfo)
        {
            int corID               = Configuracao.GetInt(Configuracao.Keys.PrecoCorID, ConfigurationManager.AppSettings["ConfigVersion"]);
            var precoBD             = new Preco(this.UsuarioID);
            var apresentacaoSetorBD = new ApresentacaoSetor();

            foreach (var precoCriar in precoInfo.SetorValores)
            {
                foreach (var apresentacaoSetor in this.Resultado.Setores.Where(c => c.SetorID.Equals(precoCriar.SetorID)).ToList())
                {
                    precoBD.ApresentacaoSetorID.Valor = apresentacaoSetor.ApresentacaoSetorID;
                    precoBD.Valor.Valor                = precoCriar.Valor.Value;
                    precoBD.Nome.Valor                 = precoInfo.Descricao;
                    precoBD.CorID.Valor                = corID;
                    precoBD.Impressao.Valor            = Utils.Enums.GetChar(precoInfo.Impressao).ToString();
                    precoBD.Quantidade.Valor           = 0;
                    precoBD.QuantidadePorCliente.Valor = 0;
                    precoBD.IRVende = false;

                    try
                    {
                        precoBD.Inserir(this.Resultado.Evento.Control.ID, apresentacaoSetor.SetorID, apresentacaoSetor.ApresentacaoID, true, bd);

                        if (precoInfo.Principal)
                        {
                            apresentacaoSetorBD.Control.ID = apresentacaoSetor.ApresentacaoSetorID;
                            apresentacaoSetorBD.AtualizarPrecoPrincipal(bd, precoBD.Control.ID);
                        }


                        precoCriar.PrecoID = precoBD.Control.ID;
                        precoCriar.Status.OK();

                        var precoDistribuicao = new PrecoDistribuicao(precoBD.Control.ID, precoInfo.VendeIR, precoInfo.VendeCanaisProprios);
                        this.Precos.Add(precoDistribuicao);
                        this.filaPreco.Enqueue(precoDistribuicao);
                    }
                    catch (Exception ex)
                    {
                        precoCriar.Status.Erro(ex.Message);
                    }
                }
            }
        }
Ejemplo n.º 7
0
        public void GerenciarItems(BD bd, int SerieID, List <EstruturaSerieItem> lstSerieItem)
        {
            Preco             preco = new Preco(this.Control.UsuarioID);
            ApresentacaoSetor aps   = new ApresentacaoSetor();

            int apresentacaoSetorID = 0;

            foreach (EstruturaSerieItem item in lstSerieItem)
            {
                this.Control.ID                     = 0;
                this.EventoID.Valor                 = item.EventoID;
                this.ApresentacaoID.Valor           = item.ApresentacaoID;
                this.SetorID.Valor                  = item.SetorID;
                this.Promocional.Valor              = item.Promocional;
                this.QuantidadePorPromocional.Valor = item.QuantidadePorPromocional;
                this.SerieID.Valor                  = SerieID;
                this.PrecoID.Valor                  = 0;

                switch (item.Acao)
                {
                //Criar o preço antes e depois criar o serieitem
                case Enumerators.TipoAcaoPreco.AssociarECriar:

                    apresentacaoSetorID = lstSerieItem
                                          .Where(c => c.ApresentacaoID == item.ApresentacaoID && c.SetorID == item.SetorID && c.ApresentacaoSetorID != 0)
                                          .Select(c => c.ApresentacaoSetorID).FirstOrDefault();

                    if (apresentacaoSetorID == 0)
                    {
                        apresentacaoSetorID = aps.ApresentacaoSetorID(item.ApresentacaoID, item.SetorID);
                    }


                    preco.ApresentacaoSetorID.Valor = item.ApresentacaoSetorID = apresentacaoSetorID;
                    preco.Nome.Valor                 = item.Preco;
                    preco.CorID.Valor                = item.CorID;
                    preco.Quantidade.Valor           = 0;
                    preco.QuantidadePorCliente.Valor = 0;
                    preco.Valor.Valor                = Convert.ToDecimal(item.Valor);
                    preco.Impressao.Valor            = Preco.IMPRESSAO_AMBOS;


                    preco.Inserir(item.EventoID, item.SetorID, item.ApresentacaoID, true, bd);

                    //preco.Inserir(bd);

                    this.PrecoID.Valor = preco.Control.ID;
                    this.Inserir(bd);
                    break;

                //Não existe, precisa criar
                case Enumerators.TipoAcaoPreco.Associar:
                    this.PrecoID.Valor = item.PrecoID;
                    this.Inserir(bd);
                    break;

                case Enumerators.TipoAcaoPreco.Remover:
                    this.Excluir(item.SerieItemID);
                    break;

                case Enumerators.TipoAcaoPreco.Alterar:
                    this.Control.ID    = item.SerieItemID;
                    this.PrecoID.Valor = item.PrecoID;
                    this.Atualizar(bd);
                    break;

                case Enumerators.TipoAcaoPreco.Manter:
                default:
                    break;
                }
            }
        }
Ejemplo n.º 8
0
 // passar o Usuario logado no sistema
 public ApresentacaoSetorLista_B(int usuarioIDLogado)
 {
     apresentacaoSetor = new ApresentacaoSetor(usuarioIDLogado);
 }
Ejemplo n.º 9
0
 // passar o Usuario logado no sistema
 public ApresentacaoSetorLista_B()
 {
     apresentacaoSetor = new ApresentacaoSetor();
 }
Ejemplo n.º 10
0
        private List <Programacao> MontarProgramacao(Sala sala, List <Filme> filmes, List <Sala> salas, List <Programacao> programacoes)
        {
            BD                bd                 = new BD();
            Apresentacao      oApresentacao      = new Apresentacao();
            ApresentacaoSetor oApresentacaoSetor = new ApresentacaoSetor();
            Preco             oPreco             = new Preco();
            CanalPreco        oCanalPreco        = new CanalPreco();

            foreach (var programacao in programacoes)
            {
                try
                {
                    var eventoID = filmes.Where(c => c.FilmeID == programacao.IDFilme).Select(c => c.EventoID).FirstOrDefault();
                    var setorID  = salas.Where(c => c.CodSala == programacao.CodSala).Select(c => c.SetorID).FirstOrDefault();

                    if (eventoID == 0)
                    {
                        continue;
                    }

                    int apresentacaoID = Convert.ToInt32(bd.ConsultaValor("SELECT ID FROM tApresentacao (NOLOCK) WHERE CodigoProgramacao = '" + programacao.IDProg + "'"));

                    if (apresentacaoID > 0)
                    {
                        programacao.ApresentacaoID = apresentacaoID;
                        continue;
                    }

                    bd.IniciarTransacao();

                    oApresentacao.Limpar();
                    oApresentacao.EventoID.Valor            = eventoID;
                    oApresentacao.Horario.Valor             = Convert.ToDateTime(programacao.DataSessao);
                    oApresentacao.DisponivelVenda.Valor     = true;
                    oApresentacao.DisponivelAjuste.Valor    = true;
                    oApresentacao.DisponivelRelatorio.Valor = true;
                    oApresentacao.CodigoProgramacao.Valor   = programacao.IDProg;
                    oApresentacao.Inserir(bd);

                    oApresentacaoSetor.Limpar();
                    oApresentacaoSetor.ApresentacaoID.Valor = oApresentacao.Control.ID;
                    oApresentacaoSetor.SetorID.Valor        = setorID;
                    oApresentacaoSetor.NVendeLugar.Valor    = Convert.ToBoolean(programacao.NVendLuga);
                    oApresentacaoSetor.Inserir(bd);

                    foreach (var preco in programacao.Ingressos)
                    {
                        int precoID = Convert.ToInt32(bd.ConsultaValor("SELECT ID FROM tPreco (NOLOCK) WHERE CodigoCinema = '" + preco.CodIngress + "' AND ApresentacaoSetorID = " + oApresentacaoSetor.Control.ID));
                        if (precoID > 0)
                        {
                            continue;
                        }

                        oPreco.Limpar();
                        oPreco.ApresentacaoSetorID.Valor = oApresentacaoSetor.Control.ID;
                        oPreco.Nome.Valor         = preco.CodIngress;
                        oPreco.Valor.Valor        = Convert.ToDecimal(preco.Valor);
                        oPreco.CodigoCinema.Valor = preco.CodIngress;
                        oPreco.CorID.Valor        = 1;
                        oPreco.Inserir(eventoID, setorID, oApresentacao.Control.ID, false, bd);

                        preco.PrecoID = oPreco.Control.ID;

                        //Distribuição de Preços por Canal
                        oCanalPreco.Limpar();
                        oCanalPreco.CanalID.Valor = Canal.CANAL_INTERNET;
                        oCanalPreco.PrecoID.Valor = oPreco.Control.ID;
                        oCanalPreco.Inserir(bd, false);
                    }

                    bd.FinalizarTransacao();
                }
                catch
                {
                    bd.DesfazerTransacao();
                }
                finally
                {
                    bd.Fechar();
                }
            }
            return(programacoes);
        }
Ejemplo n.º 11
0
        public void ValidarCotaInformacoes(int apresentacaoID, int setorID, EstruturaCotaItemReserva item, EstruturaPrecoReservaSite preco, int BIN, int formaPagamentoID, int clienteID, string sessionID, ref string[] msgCota, bool somenteVIR)
        {
            CotaItemControle oCotaItemControle = new CotaItemControle();
            ValeIngresso     oValeIngresso     = new ValeIngresso();

            try
            {
                int[] quantidades = new int[2] {
                    0, 0
                };
                int apresentacaoSetorID = new ApresentacaoSetor().ApresentacaoSetorID(apresentacaoID, setorID);
                quantidades = oCotaItemControle.getQuantidade(item.ID, apresentacaoID, apresentacaoSetorID);
                if (((quantidades[0] + preco.Quantidade > item.Quantidade || quantidades[1] + preco.Quantidade > item.Quantidade) && item.Quantidade != 0) ||
                    (quantidades[0] + preco.Quantidade > item.QuantidadeApresentacao && item.QuantidadeApresentacao != 0) ||
                    (quantidades[1] + preco.Quantidade > item.QuantidadeApresentacaoSetor && item.QuantidadeApresentacaoSetor != 0))
                {
                    msgCota[0] = "4";
                    msgCota[1] = "O Limite de venda do preço especial: " + preco.PrecoNome + " foi excedido";
                }
                if (string.IsNullOrEmpty(msgCota[0]) && item.ValidaBin)
                {
                    if (item.ValidaBin && BIN == 0)
                    {
                        msgCota[0] = "1";

                        if (somenteVIR)
                        {
                            msgCota[1] = "Atenção, O Preço: " + preco.PrecoNome + " requer que o ingresso seja pago com um cartão válido para a promoção <br /> Não será possivel comprar somente com Vale Ingressos";
                        }

                        else
                        {
                            msgCota[1] = "Atenção, O Preço: " + preco.PrecoNome + " requer que o ingresso seja pago com um cartão válido para a promoção. <br /> Compras com Visa Electron, ItauShopLine e Somente Vale Ingressos não serão aceitas";
                        }
                    }
                    else if (!this.ValidarBin(BIN, item.ID, item.ParceiroID))
                    {
                        msgCota[0] = "1";
                        msgCota[1] = "Atenção, o BIN do cartão digitado não corresponde a um BIN válido para o preço: " + preco.PrecoNome + ".";
                    }
                }
                else if (string.IsNullOrEmpty(msgCota[0]))
                {
                    if (somenteVIR)
                    {
                        formaPagamentoID = oValeIngresso.FormaDePagamentoID;
                    }
                    if (!this.ValidarFormaPagamento(formaPagamentoID, item.ID))
                    {
                        msgCota[0] = "2";

                        if (somenteVIR)
                        {
                            msgCota[1] = "A Forma de Pagamento Somente Vale Ingresso não é válida para o Preço: " + preco.PrecoNome;
                        }
                        else
                        {
                            msgCota[1] = "A Forma de Pagamento selecionada é válida para o Preço: " + preco.PrecoNome;
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }