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; } } }
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(); } }
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); }
/// <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; } }
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; } }
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); } } } }
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; } } }
// passar o Usuario logado no sistema public ApresentacaoSetorLista_B(int usuarioIDLogado) { apresentacaoSetor = new ApresentacaoSetor(usuarioIDLogado); }
// passar o Usuario logado no sistema public ApresentacaoSetorLista_B() { apresentacaoSetor = new ApresentacaoSetor(); }
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); }
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; } }