/// <summary> /// Inseri novo(a) ApresentacaoSetor na lista /// </summary> /// <returns></returns> public override bool Inserir() { try { bool ok = apresentacaoSetor.Inserir(); if (ok) { lista.Add(apresentacaoSetor.Control.ID); Indice = lista.Count - 1; } return(ok); } catch (Exception ex) { throw ex; } }
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); }