public List <tIngresso> RelacionarBloqueioParceiroMidia(List <int> ingressosIds, int parceiroMidiaId, int usuarioID) { List <tIngresso> retorno = new List <tIngresso>(); bool precoIngressoParceiroMidiaNaoVerificado = true; foreach (int item in ingressosIds) { tIngresso ingresso = Consultar(item); if (ingresso.StatusAsEnum == enumIngressoStatus.bloqueado) { //OBS: Esse bloco é executado apenas se o preço do ingresso ainda não tiver sido verificado, pois todos os ingressos possuem o mesmo setor e apresentação if (precoIngressoParceiroMidiaNaoVerificado) { PrecoBO precoBO = new PrecoBO(ado); ParceiroMidiaBO parceiroBO = new ParceiroMidiaBO(ado); ParceiroMidia parceiro = parceiroBO.Consultar(parceiroMidiaId); precoBO.CadastrarParaIngressoParceiroMidia(ingresso, usuarioID, parceiro); precoIngressoParceiroMidiaNaoVerificado = false; } ingresso.ParceiroMidiaID = parceiroMidiaId; Salvar(ingresso, false); retorno.Add(ingresso); } } Salvar(); return(retorno); }
public bool ReservarIngresso(Carrinho carrinho, tIngresso ingresso, enumIngressoStatus status) { var result = (conIngresso.Execute(@"UPDATE tIngresso SET ClienteID = @clienteID, UsuarioID = @usuarioID, SessionID = @sessionID, PrecoID = @precoID, TimeStampReserva = @timeStampReserva, Status = 'R' WHERE ID = @id AND Status = @status", new { clienteID = ingresso.ClienteID, sessionID = ingresso.SessionID, usuarioID = ingresso.UsuarioID, precoID = ingresso.PrecoID, timeStampReserva = ingresso.TimeStampReserva, id = ingresso.ID, status = status.ValueAsString() }) > 0); if (result) { result = Salvar(carrinho); } return(result); }
public RetornoModel <RetornoOsespModel> PostBloquearIngresso([FromBody] OsespIngresso req) { RetornoModel <RetornoOsespModel> retorno = new RetornoModel <RetornoOsespModel>(); if (req.ingressoID == 0) { retorno.Mensagem = "Ingresso ID obrigatório"; retorno.Sucesso = false; NewRelicIgnoreTransaction(); throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest, ParseRetorno(retorno))); } int UsuarioOSESPID = Convert.ToInt32(ConfigurationManager.AppSettings["UsuarioOSESPID"]); int PluID = Convert.ToInt32(ConfigurationManager.AppSettings["OSESPID_PLU"]); int PluUtilizadoID = Convert.ToInt32(ConfigurationManager.AppSettings["OSESPID_PLU_UTILIZADO"]); int BloqueioPadrao = Convert.ToInt32(ConfigurationManager.AppSettings["BLOQUEIO_PADRAO"]); try { using (var ado = new MasterADOBase()) { EventoBO eventoBO = new EventoBO(ado); IngressoBO ingressoBO = new IngressoBO(ado); retorno.Sucesso = ingressoBO.BloquearIngressoOSESP(req.ingressoID, UsuarioOSESPID, PluID, PluUtilizadoID, BloqueioPadrao); if (retorno.Sucesso) { tIngresso ingresso = ingressoBO.BuscaRetornoOsesp(req.ingressoID); RetornoOsespModel rom = new RetornoOsespModel(); rom.BloqueioID = Convert.ToInt32(ingresso.BloqueioID); rom.Status = "Bloqueado"; rom.BloqueioNome = ingressoBO.BuscaNomeBloqueio(Convert.ToInt32(ingresso.BloqueioID)); retorno.Retorno = rom; } } } catch (Exception ex) { retorno.Mensagem = ex.Message; retorno.Sucesso = false; LogUtil.Error(ex); throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.InternalServerError, ParseRetorno(retorno))); } if (!retorno.Sucesso) { retorno.Mensagem = "Ingresso não encontrado ou não disponível para bloqueio"; NewRelicIgnoreTransaction(); throw new HttpResponseException(Request.CreateResponse((HttpStatusCode)422, ParseRetorno(retorno))); } else { retorno.Mensagem = "OK"; return(ParseRetorno(retorno)); } }
private bool addResultListarIngresso(tIngresso ingresso, tSetor setor, tEvento evento, EventoMidia eventoMidia, EventoTipoMidia eventoTipoMidia, tLocal local, tApresentacao apresentacao) { tIngresso aux = ingressos.Where(x => x.ID == ingresso.ID).FirstOrDefault(); if (aux == null) { aux = ingresso; aux.tSetor = setor; aux.tEvento = evento; aux.tEvento.EventoMidia = new List <EventoMidia>(); if (eventoMidia != null) { eventoMidia.EventoTipoMidia = eventoTipoMidia; aux.tEvento.EventoMidia.Add(eventoMidia); } aux.tEvento.tLocal = local; aux.tEvento.tApresentacao = new List <tApresentacao>(); if (apresentacao != null) { aux.tEvento.tApresentacao.Add(apresentacao); if (apresentacao.ID == aux.ApresentacaoID) { aux.tApresentacao = apresentacao; } } ingressos.Add(aux); } else { if (eventoMidia != null && aux.tEvento.EventoMidia.All(x => x.ID != eventoMidia.ID)) { eventoMidia.EventoTipoMidia = eventoTipoMidia; aux.tEvento.EventoMidia.Add(eventoMidia); } if (apresentacao != null && aux.tEvento.tApresentacao.All(x => x.ID != apresentacao.ID)) { aux.tEvento.tApresentacao.Add(apresentacao); if (apresentacao.ID == aux.ApresentacaoID) { aux.tApresentacao = apresentacao; } } } return(true); }
public RetornoModel <RetornoOsespModel> DeleteDesbloquearIngresso(int ingressoID) { RetornoModel <RetornoOsespModel> retorno = new RetornoModel <RetornoOsespModel>(); int UsuarioOSESPID = Convert.ToInt32(ConfigurationManager.AppSettings["UsuarioOSESPID"]); int PluID = Convert.ToInt32(ConfigurationManager.AppSettings["OSESPID_PLU"]); int PluUtilizadoID = Convert.ToInt32(ConfigurationManager.AppSettings["OSESPID_PLU_UTILIZADO"]); int BloqueioPadrao = Convert.ToInt32(ConfigurationManager.AppSettings["BLOQUEIO_PADRAO"]); try { using (var ado = new MasterADOBase()) { IngressoBO ingressoBO = new IngressoBO(ado); retorno.Sucesso = ingressoBO.DesbloquearIngressoOSESP(ingressoID, UsuarioOSESPID, PluID, PluUtilizadoID, BloqueioPadrao); if (retorno.Sucesso) { RetornoOsespModel rom = new RetornoOsespModel(); tIngresso ingresso = ingressoBO.BuscaRetornoOsesp(ingressoID); switch (ingresso.Status) { case "B": rom.Status = "Bloqueado"; break; case "D": rom.Status = "Desbloqueado"; break; default: rom.Status = ingresso.Status; break; } rom.BloqueioID = Convert.ToInt32(ingresso.BloqueioID); rom.BloqueioNome = ingressoBO.BuscaNomeBloqueio(Convert.ToInt32(ingresso.BloqueioID)); retorno.Retorno = rom; } } } catch (Exception ex) { retorno.Mensagem = ex.Message; retorno.Sucesso = false; LogUtil.Error(ex); throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.InternalServerError, ParseRetorno(retorno))); } if (!retorno.Sucesso) { retorno.Mensagem = "Ingresso não encontrado ou não disponível para desbloqueio"; NewRelicIgnoreTransaction(); throw new HttpResponseException(Request.CreateResponse((HttpStatusCode)422, ParseRetorno(retorno))); } else { retorno.Mensagem = "OK"; return(ParseRetorno(retorno)); } }
public void Salvar(tIngresso ingresso, bool updateDataBase = true) { ado.Salvar(ingresso, updateDataBase); }
/// <summary> /// Método que cadastra um preço de ingresso para um parceiro de midia, se ainda não existir /// </summary> /// <param name="ingresso"></param> public RetornoModel CadastrarParaIngressoParceiroMidia(tIngresso ingresso, int usuarioID, ParceiroMidia parceiroMidia) { int lojaId = ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoBO.lojaIdSistema); LojaADO lojaADO = new LojaADO(ado); tLoja loja = lojaADO.Consultar(lojaId); if (parceiroMidia != null && ingresso.ApresentacaoID != null && ingresso.SetorID != null) { PrecoParceiroMidia precoParceiro = ConsultarParceiro(ingresso.SetorID.Value, ingresso.ApresentacaoID.Value, parceiroMidia.ID); if (precoParceiro == null) { tPreco preco = ado.ConsultarPreco(ingresso.SetorID.Value, ingresso.ApresentacaoID.Value, parceiroMidia.ID); tCanalPreco canalPreco = null; if (preco == null) { preco = new tPreco(); preco.Nome = parceiroMidia.Nome; preco.Valor = 0; preco.ApresentacaoSetorID = ingresso.ApresentacaoSetorID; preco.ParceiroMidiaID = parceiroMidia.ID; preco.IRVende = "F"; preco.CorID = 1; Salvar(preco, usuarioID); try { IRLib.CodigoBarra codigoBarra = new IRLib.CodigoBarra(); codigoBarra.Inserir(ingresso.EventoID.Value, ingresso.ApresentacaoID.Value, ingresso.SetorID.Value, preco.ID, new BD()); } catch (Exception ex) { LogUtil.Error(ex); Remover(preco, usuarioID); return(new RetornoModel() { Sucesso = false, Mensagem = "Erro para gerar o codigo de barras do preco" }); } } else { canalPreco = ado.ConsultarCanal(preco.ID, loja.CanalID.Value); } if ((preco != null) && (canalPreco == null)) { canalPreco = new tCanalPreco(); canalPreco.DataInicio = ""; canalPreco.DataFim = ""; canalPreco.PrecoID = preco.ID; canalPreco.Quantidade = 0; canalPreco.CanalID = loja.CanalID.Value; Salvar(canalPreco, usuarioID); } } } return(new RetornoModel() { Sucesso = true }); }