private Carrinho addresultComMapeamento(Carrinho carrinho, Setor setor, Apresentacao apresentacao, Evento evento, Local local, EventoSubtipo eventoSubTipo, Tipo tipo) { carrinho.SetorObject = setor; carrinho.SetorID = setor.IR_SetorID; carrinho.Setor = setor.Nome; carrinho.ApresentacaoDataHora = apresentacao.Horario; carrinho.ApresentacaoID = apresentacao.IR_ApresentacaoID; carrinho.ApresentacaoObject = apresentacao; carrinho.Evento = evento.Nome; carrinho.EventoID = evento.IR_EventoID; carrinho.EventoObject = evento; carrinho.LocalID = local.IR_LocalID; carrinho.Local = local.Nome; carrinho.LocalImagemNome = local.Imagem; carrinho.EventoObject.SubtipoID = (eventoSubTipo != null) ? (int?)eventoSubTipo.IR_SubtipoID : null; carrinho.EventoObject.Subtipo = eventoSubTipo; carrinho.EventoObject.Tipo = tipo; carrinho.EventoObject.TipoID = (tipo != null) ? (int?)tipo.IR_TipoID : null; return(carrinho); }
private List <Filme> MontarFilmes(List <Filme> filmes, int localID) { Evento oEvento = new Evento(); IRLib.Paralela.Filme oFilme = new IRLib.Paralela.Filme(); EventoEntregaControle oEntregaControle = new EventoEntregaControle(); FormaPagamentoEvento oFormaPagamentoEvento = new FormaPagamentoEvento(); EventoSubtipo oEventoSubTipo = new EventoSubtipo(); BD bd = new BD(); List <int> lstEntregaControle = this.Entregas(); List <int> listaFormaPagamento = new FormaPagamento().GetFormasPagamentoPadrao(); foreach (var filme in filmes) { try { int eventoID = Convert.ToInt32(bd.ConsultaValor("SELECT TOP 1 ID FROM tEvento WHERE FilmeID = " + filme.FilmeID + " AND LocalID = " + localID)); if (eventoID > 0) { filme.EventoID = eventoID; continue; } bd.IniciarTransacao(); oEvento.Limpar(); oFilme.Limpar(); oEventoSubTipo.Limpar(); int filmeID = Convert.ToInt32(bd.ConsultaValor("SELECT TOP 1 ID FROM tFilme WHERE FilmeID = " + filme.FilmeID)); //Se ainda não tem o filme, insere if (filmeID == 0) { oFilme.Nome.Valor = filme.Titulo; oFilme.Sinopse.Valor = filme.Sinopse; oFilme.FilmeID.Valor = filme.FilmeID; oFilme.Dublado.Valor = !string.IsNullOrEmpty(filme.Dublado); oFilme.Duracao.Valor = Convert.ToInt32(string.IsNullOrEmpty(filme.Duracao) ? "0" : filme.Duracao); oFilme.Idade.Valor = Convert.ToInt32(string.IsNullOrEmpty(filme.Idade) ? "0" : filme.Idade); oFilme.IdadeJustificativa.Valor = filme.IdadeJusti; oFilme.IMDB.Valor = filme.IMDB; oFilme.Inserir(bd); } //Evento oEvento.Nome.Valor = filme.Titulo; oEvento.LocalID.Valor = localID; oEvento.TipoCodigoBarra.Valor = ((char)Enumerators.TipoCodigoBarra.Estruturado).ToString(); oEvento.DuracaoEvento.Valor = filme.Duracao; oEvento.FilmeID.Valor = filme.FilmeID; oEvento.EventoSubTipoID.Valor = oEventoSubTipo.MontarPorCategoriaEstilo(ConfiguracaoCinema.Instancia.Categoria.Valor, filme.Estilo); oEvento.Inserir(bd); //Distribui as taxas de entrega foreach (var entregaControleID in lstEntregaControle) { oEntregaControle.Limpar(); oEntregaControle.EventoID.Valor = oEvento.Control.ID; oEntregaControle.EntregaControleID.Valor = entregaControleID; oEntregaControle.Inserir(bd); } //Distribui as formas de pagamento foreach (int FormaPagamentoID in listaFormaPagamento) { oFormaPagamentoEvento.EventoID.Valor = oEvento.Control.ID; oFormaPagamentoEvento.FormaPagamentoID.Valor = FormaPagamentoID; oFormaPagamentoEvento.Inserir(bd); } //Distribuir para o canal Internet oEvento.DistribuirCanais(bd, Canal.CANAL_INTERNET.ToString(), true); filme.EventoID = oEvento.Control.ID; bd.FinalizarTransacao(); } catch (Exception ex) { bd.DesfazerTransacao(); throw ex; } finally { bd.Fechar(); } } return(filmes); }