public RetornoModel <PropostaModel> AprovarProposta(PropostaModel model) { try { if (DateTime.Now > model.Data.AddHours(ConfiguracaoAppUtil.GetAsInt(ConfiguracaoGeral.tempoExpiracaoProposta))) { return(new RetornoModel <PropostaModel> { Mensagem = "Proposta não pode ser aprovada pois já expirou o prazo de validade" }); } var usuarioCorrente = new UsuarioService().Carregar(model.IdUsuario); if (usuarioCorrente.Perfil == PerfilUsuario.AnalistaComercial) { return(new RetornoModel <PropostaModel> { Mensagem = "Proposta não pode ser aprovada por usuários com perfil " + PerfilUsuario.AnalistaComercial.Description() }); } else if (usuarioCorrente.Perfil == PerfilUsuario.AnalistaFinanceiro) { InserirHistorico(model.ID, AcaoProposta.AprovacaoAnalista, model.IdUsuario); if (model.Valor > ConfiguracaoAppUtil.GetAsDecimal(ConfiguracaoGeral.valorMinimoAprovacaoDiretoria)) { InserirHistorico(model.ID, AcaoProposta.SolicitadoAprovacao, model.IdUsuario); model.Status = StatusProposta.PedenteDiretoria; } } else { InserirHistorico(model.ID, AcaoProposta.AprovacaoDiretoria, model.IdUsuario); } var result = Salvar(model); if (result.Sucesso) { if (model.Status == StatusProposta.PedenteDiretoria) { result.Mensagem = "Proposta enviada para aprovação do " + PerfilUsuario.DiretorFinanceiro.Description(); } else { result.Mensagem = "Proposta aprovada com sucesso!"; } } return(result); } catch (Exception ex) { LogUtil.Error(ex); throw; } }
public RetornoModel <List <Setor> > GetSetores(int eventoID, int apresentacaoID, [FromUri] bool comCotaNominal = true, [FromUri] bool comCotaPromocional = true, int mostrarEstatistica = 0) { var retorno = new RetornoModel <List <Setor> >(); var stopwatch = new Stopwatch(); stopwatch.Start(); List <Setor> resultado; try { using (var setorBO = new SetorBO()) { var ado = new MasterADOBase(); var canalTipoPOS = ConfiguracaoAppUtil.GetAsInt("CanalTipoPOS"); var isPOS = new CanalBO(ado).isPOS(SessionModel.CanalID, canalTipoPOS); resultado = setorBO.Listar(apresentacaoID, eventoID, SessionModel.CanalID, comCotaNominal, comCotaPromocional, isPOS, SessionModel.SessionID, Convert.ToBoolean(mostrarEstatistica)); } } catch (Exception ex) { stopwatch.Stop(); retorno.Mensagem = ex.Message; LogUtil.Error(string.Format("##GET.Eventos/id/apresentacao/id/setores.EXCEPTION## SESSION {0}, MSG {1}, TEMPO DECORRIDO {2}", SessionModel.SessionID, ex.Message, stopwatch.Elapsed), ex); retorno.Sucesso = false; LogUtil.Error(ex); throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound, ParseRetorno(retorno))); } retorno.Retorno = resultado; retorno.Sucesso = true; stopwatch.Stop(); if (resultado == null || resultado.Count == 0) { retorno.Sucesso = false; retorno.Mensagem = "Nenhum setor encontrado par a apresentação ou apresentação não encontrada"; LogUtil.Info(string.Format("##GET.Eventos/id/apresentacao/id/setores## SESSION {0}, TEMPO DECORRIDO {1}, MSG {2}", SessionModel.SessionID, stopwatch.Elapsed, retorno.Mensagem)); NewRelicIgnoreTransaction(); throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound, ParseRetorno(retorno))); } retorno.Mensagem = "OK"; LogUtil.Info(string.Format("##GET.Eventos/id/apresentacao/id/setores## SESSION {0}, TEMPO DECORRIDO {1}, MSG {2}", SessionModel.SessionID, stopwatch.Elapsed, retorno.Mensagem)); return(ParseRetorno(retorno)); }
public RetornoModel <string> Upload(HttpPostedFileBase arquivo) { string nomeArq = null; try { if ((arquivo != null) && (arquivo.ContentLength > 0)) { string content = arquivo.ContentType.Split('/')[0]; if (content == "image" || content == "video") { //Salva o arquivo nomeArq = Guid.NewGuid().ToString(); string nomeArqSalvar = nomeArq; if (content == "image") { if (arquivo.ContentLength > ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadImagemMaxSize)) { int maxKb = Convert.ToInt32(ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadImagemMaxSize) / 1024); return(new RetornoModel <string> { Mensagem = "O tamanho máximo para upload de imagem é de " + ((maxKb > 1024) ? Convert.ToInt32(maxKb / 1024) + "Mb" : maxKb + "Kb") + ".", Sucesso = false }); } nomeArqSalvar += Path.GetExtension(arquivo.FileName); nomeArq = nomeArqSalvar; } else { if (arquivo.ContentLength > ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadVideoMaxSize)) { int maxKb = Convert.ToInt32(ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadVideoMaxSize) / 1024); return(new RetornoModel <string> { Mensagem = "O tamanho máximo para upload de vídeo é de " + ((maxKb > 1024) ? Convert.ToInt32(maxKb / 1024) + "Mb" : maxKb + "Kb") + ".", Sucesso = false }); } nomeArqSalvar += ".orig" + Path.GetExtension(arquivo.FileName); } string caminhoArquivo = ConfiguracaoAppUtil.GetPath(enumConfiguracaoLib.historiaMidiaDiretorio, nomeArqSalvar); arquivo.SaveAs(caminhoArquivo); if (!AntivirusUtil.Verificar(caminhoArquivo)) { return(new RetornoModel <string> { Mensagem = "Este arquivo contém vírus, favor tentar outro arquivo.", Sucesso = false }); } else { if (content == "video") { Task.Run(() => ConverterVideo(caminhoArquivo, nomeArq)); } } } else { return(new RetornoModel <string> { Mensagem = "Tipo de arquivo inválido.", Sucesso = false }); } } else { return(new RetornoModel <string> { Mensagem = "Nenhum arquivo enviado.", Sucesso = false }); } } catch (Exception e) { LogUtil.Error(e); return(new RetornoModel <string> { Mensagem = "Falha no upload, tente novamente!", Sucesso = false }); } return(new RetornoModel <string> { Retorno = nomeArq, Mensagem = "Upload realizado com sucesso", Sucesso = true }); }
public RetornoModel <Evento> GetEvento(int id, int mostrarEstatistica = 0) { var retorno = new RetornoModel <Evento>(); var stopwatch = new Stopwatch(); stopwatch.Start(); try { using (var ado = new MasterADOBase()) { var eventoBO = new EventoBO(ado); var canalTipoPOS = ConfiguracaoAppUtil.GetAsInt("CanalTipoPOS"); var isPOS = new CanalBO(ado).isPOS(SessionModel.CanalID, canalTipoPOS); retorno.Retorno = eventoBO.Consultar(id, isPOS, Convert.ToBoolean(mostrarEstatistica)); var pacoteBO = new PacoteBO(ado); if (retorno.Retorno != null) { retorno.Retorno.Pacote = pacoteBO.ListarPorEvento(id, SessionModel.CanalID); if (retorno.Retorno.Pacote.Any()) { foreach (var pacote in retorno.Retorno.Pacote) { pacote.PacoteItem = pacoteBO.ListarItens(pacote.ID); } } } } } catch (Exception ex) { stopwatch.Stop(); retorno.Mensagem = ex.Message; LogUtil.Error(string.Format("##GET.Eventos.eventos/id.EXCEPTION## SESSION {0}, MSG {1}, TEMPO DECORRIDO {2}", this.SessionModel.SessionID, ex.Message, stopwatch.Elapsed), ex); retorno.Sucesso = false; LogUtil.Error(ex); throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.InternalServerError, ParseRetorno(retorno))); } stopwatch.Stop(); retorno.Sucesso = (retorno.Retorno != null); if (!retorno.Sucesso) { retorno.Mensagem = "Evento não encontrado"; LogUtil.Info(string.Format("##GET.Eventos.eventos/id## SESSION {0}, TEMPO DECORRIDO {1}, MSG {2}", this.SessionModel.SessionID, stopwatch.Elapsed, retorno.Mensagem)); retorno.Sucesso = false; NewRelicIgnoreTransaction(); throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound, ParseRetorno(retorno))); } retorno.Mensagem = "OK"; LogUtil.Info(string.Format("##GET.Eventos.eventos/id## SESSION {0}, TEMPO DECORRIDO {1}, MSG {2}", this.SessionModel.SessionID, stopwatch.Elapsed, retorno.Mensagem)); return(ParseRetorno(retorno)); }
public RetornoModel <UploadFotoModel> Upload(HttpPostedFileBase arquivo) { string nomeArq = null; UploadFotoModel retorno = null; try { if ((arquivo != null) && (arquivo.ContentLength > 0)) { string content = arquivo.ContentType.Split('/')[0]; if (content == "image") { if (arquivo.ContentLength > ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadImagemMaxSize)) { int maxKb = Convert.ToInt32(ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadImagemMaxSize) / 1024); return(new RetornoModel <UploadFotoModel> { Mensagem = "O tamanho máximo para upload de imagem é de " + ((maxKb > 1024) ? Convert.ToInt32(maxKb / 1024) + "Mb" : maxKb + "Kb") + ".", Sucesso = false }); } //Salva o arquivo nomeArq = Guid.NewGuid().ToString() + Path.GetExtension(arquivo.FileName); string caminhoArquivo = ConfiguracaoAppUtil.GetPath(enumConfiguracaoLib.indicadoFotoDiretorio, nomeArq); arquivo.SaveAs(caminhoArquivo); if (!AntivirusUtil.Verificar(caminhoArquivo)) { return(new RetornoModel <UploadFotoModel> { Mensagem = "Este arquivo contém vírus, favor tentar outro arquivo.", Sucesso = false }); } Image img = Image.FromFile(caminhoArquivo); retorno = new UploadFotoModel { file = nomeArq, width = img.Width, height = img.Height, x = Convert.ToInt32((indicadoMaxWidth - img.Width) / 2), y = Convert.ToInt32((indicadoMaxHeight - img.Height) / 2) }; } else { return(new RetornoModel <UploadFotoModel> { Mensagem = "Tipo de arquivo inválido.", Sucesso = false }); } } else { return(new RetornoModel <UploadFotoModel> { Mensagem = "Nenhum arquivo enviado.", Sucesso = false }); } } catch (Exception e) { LogUtil.Error(e); return(new RetornoModel <UploadFotoModel> { Mensagem = "Falha no upload, tente novamente!", Sucesso = false }); } return(new RetornoModel <UploadFotoModel> { Retorno = retorno, Mensagem = "Upload realizado com sucesso.", Sucesso = true }); }
/// <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 }); }