// PUT /tbDispositivoUsuario/token/ public HttpResponseMessage Put(string token, [FromBody] tbDispositivoUsuario param) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Put"); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token)) { GatewayTbDispositivoUsuario.Update(token, param); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } }
// DELETE /webpages_Permissions/token/ public HttpResponseMessage Delete(string token, Int32 id_roles, Int32 id_method) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { HttpResponseMessage retorno = new HttpResponseMessage(); log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject("id_method : " + id_method), "Delete", _db); if (Permissoes.Autenticado(token, _db)) { GatewayWebpagesPermissions.Delete(token, id_roles, id_method, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
// POST /tbAntecipacaoBancariaDetalhe/token/ //public HttpResponseMessage Post(string token, [FromBody]tbAntecipacaoBancariaDetalhe param) //{ // // Abre nova conexão // using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) // { // tbLogAcessoUsuario log = new tbLogAcessoUsuario(); // try // { // log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Post", _db); // HttpResponseMessage retorno = new HttpResponseMessage(); // if (Permissoes.Autenticado(token, _db)) // { // Int32 dados = GatewayTbAntecipacaoBancariaDetalhe.Add(token, param, _db); // log.codResposta = (int)HttpStatusCode.OK; // Bibliotecas.LogAcaoUsuario.Save(log, _db); // return Request.CreateResponse<Int32>(HttpStatusCode.OK, dados); // } // else // { // log.codResposta = (int)HttpStatusCode.Unauthorized; // Bibliotecas.LogAcaoUsuario.Save(log, _db); // return Request.CreateResponse(HttpStatusCode.Unauthorized); // } // } // catch (Exception e) // { // log.codResposta = (int)HttpStatusCode.InternalServerError; // log.msgErro = e.Message; // Bibliotecas.LogAcaoUsuario.Save(log);//, _db); // throw new HttpResponseException(HttpStatusCode.InternalServerError); // } // } //} // PUT /tbAntecipacaoBancariaDetalhe/token/ public HttpResponseMessage Put(string token, [FromBody] AntecipacaoBancariaAnteciparParcelas param) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Put", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db))// && Permissoes.isAtosRole(token, _db)) { GatewayTbAntecipacaoBancariaDetalhe.AntecipaParcelas(token, param, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log);//, _db); //throw new HttpResponseException(HttpStatusCode.InternalServerError); return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message)); } } }
// DELETE /tbBancoParametro/token/cdBanco public HttpResponseMessage Delete(string token, string cdBanco, string dsMemo, int cdGrupo) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject("cdBanco : " + cdBanco + "; dsMemo : " + dsMemo + "; cdGrupo : " + cdGrupo), "Delete", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { GatewayTbBancoParametro.Delete(token, cdBanco, dsMemo, cdGrupo, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log);//, _db); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
// GET /tbAdquirente/token/colecao/campo/orderBy/pageSize/pageNumber?CAMPO1=VALOR&CAMPO2=VALOR public HttpResponseMessage Get(string token, int colecao = 0, int campo = 0, int orderBy = 0, int pageSize = 0, int pageNumber = 0) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, null, "Get", _db); Dictionary <string, string> queryString = Request.GetQueryNameValuePairs().ToDictionary(x => x.Key, x => x.Value); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { Retorno dados = GatewayTbAdquirente.Get(token, colecao, campo, orderBy, pageSize, pageNumber, queryString, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse <Retorno>(HttpStatusCode.OK, dados)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
// POST /tbBancoParametro/token/ public HttpResponseMessage Post(string token, [FromBody] tbBancoParametro param) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Post", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { string cdBanco = GatewayTbBancoParametro.Add(token, param, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK, cdBanco)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log);//, _db); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
// PUT /webpages_Membership/token/ public HttpResponseMessage Put(string token, [FromBody] Models.Object.AlterarSenha param) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { HttpResponseMessage retorno = new HttpResponseMessage(); log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Put", _db); if (Permissoes.Autenticado(token, _db)) { GatewayWebpagesMembership.Update(token, param, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
// DELETE /tbEstadoTransacaoTef/token/cdEstadoTransacaoTef public HttpResponseMessage Delete(string token, short cdEstadoTransacaoTef) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject("cdEstadoTransacaoTef : " + cdEstadoTransacaoTef), "Delete"); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token)) { GatewayTbEstadoTransacaoTef.Delete(token, cdEstadoTransacaoTef); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } }
// GET /RecebimentoParcela/token/colecao/campo/orderBy/pageSize/pageNumber?CAMPO1=VALOR&CAMPO2=VALOR public HttpResponseMessage Get(string token, int colecao = 0, int campo = 0, int orderBy = 0, int pageSize = 0, int pageNumber = 0) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, null, "Get", _db); HttpResponseMessage result = null; Dictionary <string, string> queryString = Request.GetQueryNameValuePairs().ToDictionary(x => x.Key, x => x.Value); string outValue = null; HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { Retorno dados = GatewayRecebimentoParcela.Get(token, colecao, campo, orderBy, pageSize, pageNumber, queryString, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); if (queryString.TryGetValue("" + (int)GatewayRecebimentoParcela.CAMPOS.EXPORTAR, out outValue)) { result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new StreamContent(new MemoryStream(Negocios.Util.GatewayExportar.CSV(dados.Registros.ToArray()))); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); result.Content.Headers.ContentDisposition.FileName = "file" + DateTime.Now.ToString(); return(result); } return(Request.CreateResponse <Retorno>(HttpStatusCode.OK, dados)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log);//, _db); throw new HttpResponseException(HttpStatusCode.InternalServerError); } //finally //{ // // Fecha conexão // _db.Database.Connection.Close(); // _db.Dispose(); //} } // } //} }
// POST /webpages_Roles/token/ public HttpResponseMessage Post(string token, [FromBody] webpages_Roles param) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { HttpResponseMessage retorno = new HttpResponseMessage(); log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Post", _db); if (Permissoes.Autenticado(token, _db)) { Int32 dados = GatewayWebpagesRoles.Add(token, param, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse <Int32>(HttpStatusCode.OK, dados)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; log.msgErro = "Unauthorized"; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { if (e.Message.Equals("401")) { log.codResposta = (int)HttpStatusCode.Unauthorized; log.msgErro = "Unauthorized"; Bibliotecas.LogAcaoUsuario.Save(log); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } else { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } } }
// POST /Recebimento/token/ public HttpResponseMessage Post(string token, [FromBody] Recebimento param) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Post", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db) && Permissoes.GetRoleLevel(token, _db) <= 1) { Int32 id = GatewayRecebimento.Add(token, param, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK, id)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log);//, _db); throw new HttpResponseException(HttpStatusCode.InternalServerError); } //finally //{ // // Fecha conexão // _db.Database.Connection.Close(); // _db.Dispose(); //} } }
/*// POST /tbEmpresa/token/ * public HttpResponseMessage Post(string token, [FromBody]tbEmpresa param) * { * tbLogAcessoUsuario log = new tbLogAcessoUsuario(); * try * { * log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Post"); * * HttpResponseMessage retorno = new HttpResponseMessage(); * if (Permissoes.Autenticado(token)) * { * string dados = GatewayTbEmpresa.Add(token, param); * log.codResposta = (int)HttpStatusCode.OK; * Bibliotecas.LogAcaoUsuario.Save(log); * return Request.CreateResponse<string>(HttpStatusCode.OK, dados); * } * else * { * log.codResposta = (int)HttpStatusCode.Unauthorized; * Bibliotecas.LogAcaoUsuario.Save(log); * return Request.CreateResponse(HttpStatusCode.Unauthorized); * } * } * catch (Exception e) * { * log.codResposta = (int)HttpStatusCode.InternalServerError; * log.msgErro = e.Message; * Bibliotecas.LogAcaoUsuario.Save(log); * throw new HttpResponseException(HttpStatusCode.InternalServerError); * } * } * * // PUT /tbEmpresa/token/ * public HttpResponseMessage Put(string token, [FromBody]tbEmpresa param) * { * tbLogAcessoUsuario log = new tbLogAcessoUsuario(); * try * { * log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Put"); * * HttpResponseMessage retorno = new HttpResponseMessage(); * if (Permissoes.Autenticado(token)) * { * Retorno dados = GatewayTbEmpresa.Update(token, param); * log.codResposta = (int)HttpStatusCode.OK; * Bibliotecas.LogAcaoUsuario.Save(log); * return Request.CreateResponse<Retorno>(HttpStatusCode.OK,dados); * } * else * { * log.codResposta = (int)HttpStatusCode.Unauthorized; * Bibliotecas.LogAcaoUsuario.Save(log); * return Request.CreateResponse(HttpStatusCode.Unauthorized); * } * } * catch (Exception e) * { * log.codResposta = (int)HttpStatusCode.InternalServerError; * log.msgErro = e.Message; * Bibliotecas.LogAcaoUsuario.Save(log); * throw new HttpResponseException(HttpStatusCode.InternalServerError); * } * }*/ /*// DELETE /tbEmpresa/token/nrCNPJBase * public HttpResponseMessage Delete(string token, string nrCNPJBase) * { * tbLogAcessoUsuario log = new tbLogAcessoUsuario(); * try * { * log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject("nrCNPJBase : " + nrCNPJBase), "Delete"); * * HttpResponseMessage retorno = new HttpResponseMessage(); * if (Permissoes.Autenticado(token)) * { * GatewayTbEmpresa.Delete(token, nrCNPJBase); * log.codResposta = (int)HttpStatusCode.OK; * Bibliotecas.LogAcaoUsuario.Save(log); * return Request.CreateResponse(HttpStatusCode.OK); * } * else * { * log.codResposta = (int)HttpStatusCode.Unauthorized; * Bibliotecas.LogAcaoUsuario.Save(log); * return Request.CreateResponse(HttpStatusCode.Unauthorized); * } * } * catch (Exception e) * { * log.codResposta = (int)HttpStatusCode.InternalServerError; * log.msgErro = e.Message; * Bibliotecas.LogAcaoUsuario.Save(log); * throw new HttpResponseException(HttpStatusCode.InternalServerError); * } * }*/ // PATCH /tbEmpresa/token/ public HttpResponseMessage Patch(string token) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, null, "Patch", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { Dictionary <string, string> queryString = Request.GetQueryNameValuePairs().ToDictionary(x => x.Key, x => x.Value); Mensagem mensagem = GatewayTbEmpresa.Patch(token, queryString, _db); log.codResposta = mensagem.cdMensagem; if (mensagem.cdMensagem != 200) { log.msgErro = mensagem.dsMensagem; } Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse <Mensagem>(HttpStatusCode.OK, mensagem)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
// DELETE /tbRecebimentoTEF/token/idRecebimentoTEF public HttpResponseMessage Delete(string token, Int32 idRecebimentoTEF) { // Abre nova conexão painel_taxservices_dbContext _db = new painel_taxservices_dbContext(); tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject("idRecebimentoTEF : " + idRecebimentoTEF), "Delete", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { GatewayTbRecebimentoTEF.Delete(token, idRecebimentoTEF, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log);//, _db); throw new HttpResponseException(HttpStatusCode.InternalServerError); } finally { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } }
// POST /LogAcesso/token/ public HttpResponseMessage Post(string token, LogAcesso1 param) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Post", _db); HttpResponseMessage retorno = new HttpResponseMessage(); Int32 idController = (int)param.idController; // Usuário tem que estar autenticado e ter permissão para acessar a tela requisitada if (Permissoes.Autenticado(token, _db) && Permissoes.usuarioTemPermissaoController(token, idController, _db)) { GatewayLogAcesso.Add(token, idController, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; log.msgErro = "Unauthorized"; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
// DELETE /tbContaCorrente_tbLoginAdquirenteEmpresa/token/cdContaCorrente public HttpResponseMessage Delete(string token, Int32 cdContaCorrente, Int32 cdLoginAdquirenteEmpresa, DateTime dtInicio) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject( "cdContaCorrente : " + cdContaCorrente + "cdLoginAdquirenteEmpresa : " + cdLoginAdquirenteEmpresa + "dtInicio : " + dtInicio ), "Delete", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { GatewayTbContaCorrenteTbLoginAdquirenteEmpresa.Delete(token, cdContaCorrente, cdLoginAdquirenteEmpresa, dtInicio, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
// PUT /webpages_Users/token/ public HttpResponseMessage Put(string token, Models.Object.Usuario param) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Put", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db) /* && ((param.Id_grupo != 0 && Permissoes.usuarioPodeSeAssociarAoGrupo(token, param.Id_grupo)) || // associação de um grupo pode vir de qualquer tela de origem * Permissoes.usuarioTemPermissaoMetodoURL(token, UrlAPIs.ADMINISTRACAO_WEBPAGESUSERS, "PUT"))*/) { GatewayWebpagesUsers.Update(token, param, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
/// <summary> /// Adiciona nova TbLogAcessoUsuario /// </summary> /// <param name="param"></param> /// <returns></returns> public static Int32 Add(string token, tbLogAcessoUsuario param, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } try { _db.tbLogAcessoUsuarios.Add(param); _db.SaveChanges(); return(param.idLogAcessoUsuario); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao salvar Log de Acesso de Usuário " : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } }
public static void Save(tbLogAcessoUsuario data, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } try { //_db.Configuration.ProxyCreationEnabled = false; _db.tbLogAcessoUsuarios.Add(data); _db.SaveChanges(); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao salvar log" : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } }
// POST /VendasErp/token/ public HttpResponseMessage Post(string token, [FromBody] ImportaVendas param) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Post", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { GatewayVendasErp.ImportaVendas(token, param, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { HttpStatusCode httpStatus = e.Message.StartsWith("Permissão negada") || e.Message.StartsWith("401") ? HttpStatusCode.Unauthorized : HttpStatusCode.InternalServerError; log.codResposta = (int)httpStatus; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); //throw new HttpResponseException(HttpStatusCode.InternalServerError); return(Request.CreateResponse(httpStatus, e.Message)); } } }
/// <summary> /// Altera tbLogAcessoUsuario /// </summary> /// <param name="param"></param> /// <returns></returns> public static void Update(string token, tbLogAcessoUsuario param, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } try { tbLogAcessoUsuario value = _db.tbLogAcessoUsuarios .Where(e => e.idLogAcessoUsuario == param.idLogAcessoUsuario) .First <tbLogAcessoUsuario>(); // OBSERVAÇÂO: VERIFICAR SE EXISTE ALTERAÇÃO NO PARAMETROS //if (param.idLogAcessoUsuario != null && param.idLogAcessoUsuario != value.idLogAcessoUsuario) // value.idLogAcessoUsuario = param.idLogAcessoUsuario; //if (param.idUser != null && param.idUser != value.idUser) // value.idUser = param.idUser; if (param.dsUrl != null && param.dsUrl != value.dsUrl) { value.dsUrl = param.dsUrl; } if (param.idController != null && param.idController != value.idController) { value.idController = param.idController; } if (param.dsParametros != null && param.dsParametros != value.dsParametros) { value.dsParametros = param.dsParametros; } if (param.dsFiltros != null && param.dsFiltros != value.dsFiltros) { value.dsFiltros = param.dsFiltros; } if (param.dtAcesso != null && param.dtAcesso != value.dtAcesso) { value.dtAcesso = param.dtAcesso; } if (param.dsAplicacao != null && param.dsAplicacao != value.dsAplicacao) { value.dsAplicacao = param.dsAplicacao; } if (param.codResposta != value.codResposta) { value.codResposta = param.codResposta; } if (param.msgErro != null && param.msgErro != value.msgErro) { value.msgErro = param.msgErro; } if (param.dsJson != null && param.dsJson != value.dsJson) { value.dsJson = param.dsJson; } if (param.dsMethod != null && param.dsMethod != value.dsMethod) { value.dsMethod = param.dsMethod; } _db.SaveChanges(); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao alterar Log de Acesso de Usuário " : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } }
// PATCH: /ConciliacaoBancaria/token/ => upload de um arquivo ofx public HttpResponseMessage Patch(string token, [FromBody] List <BaixaTitulos> param) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Patch", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { List <List <string> > arquivos = GatewayConciliacaoBancaria.Patch(token, param, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); HttpResponseMessage result = Request.CreateResponse(HttpStatusCode.OK); List <string> nomesArquivo = new List <string>(); foreach (BaixaTitulos p in param) { //nomesArquivo.Add(p.dataRecebimento + "_" + p.idsRecebimento.Count); nomesArquivo.Add(p.idExtrato.ToString()); } if (arquivos.Count == 1) { string nmArquivo = nomesArquivo[0] + ".csv"; result.Content = new StreamContent(new MemoryStream(Bibliotecas.Converter.ListToCSV(arquivos[0]))); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); result.Content.Headers.ContentDisposition.FileName = nmArquivo; result.Content.Headers.Add("x-filename", nmArquivo); } else if (arquivos.Count > 1) { string nmArquivo = "file" + DateTime.Now.ToString().Replace("/", "-") + ".zip"; result.Content = new StreamContent(new MemoryStream(GatewayUtilNfe.DownloadZipCSVs(arquivos, nomesArquivo))); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); result.Content.Headers.ContentDisposition.FileName = nmArquivo; result.Content.Headers.Add("x-filename", nmArquivo); } return(result); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log);//, _db); //throw new HttpResponseException(HttpStatusCode.InternalServerError); return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message)); } //finally //{ // // Fecha conexão // _db.Database.Connection.Close(); // _db.Dispose(); //} } }
public static tbLogAcessoUsuario New(string token, string dsJson, string dsMethod, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } try { bool Mobile = Bibliotecas.Device.IsMobile(); tbLogAcessoUsuario log = new tbLogAcessoUsuario(); log.idUser = Bibliotecas.Permissoes.GetIdUser(token, _db); log.dsUrl = HttpContext.Current.Request.Url.Segments[1] + HttpContext.Current.Request.Url.Segments[2]; string afterUrl = HttpContext.Current.Request.RawUrl.Replace((HttpContext.Current.Request.Url.Segments[0] + HttpContext.Current.Request.Url.Segments[1] + HttpContext.Current.Request.Url.Segments[2]), ""); int index = afterUrl.IndexOf('?'); if (index > -1) { // tem filtros log.dsFiltros = afterUrl.Substring(index); log.dsParametros = afterUrl.Substring(0, index); } else { // Não tem filtros log.dsFiltros = String.Empty; log.dsParametros = afterUrl; } //log.dsFiltros = HttpContext.Current.Request.RawUrl.LastIndexOf('?') > 0 ? HttpContext.Current.Request.RawUrl.Remove(0, HttpContext.Current.Request.RawUrl.LastIndexOf('?')) : String.Empty; log.dtAcesso = DateTime.Now; log.dsAplicacao = Mobile ? "M" : "P"; log.dsMethod = dsMethod; log.idController = _db.LogAcesso1.Where(l => l.idUsers == log.idUser) .Where(l => l.flMobile == Mobile) .OrderByDescending(l => l.dtAcesso) .Select(l => l.idController) .FirstOrDefault(); /* Campos alimentados no controller*/ //log.codResposta = data.codResposta; //log.msgErro = data.msgErro; log.dsJson = dsJson != null ? dsJson : String.Empty; log.dsUserAgent = HttpContext.Current.Request.UserAgent; return(log); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao salvar log" : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } }
public static void Patch(string token, tbLogAcessoUsuario log, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } //DbContextTransaction transaction = _db.Database.BeginTransaction(); try { string pastaCSVs = HttpContext.Current.Server.MapPath("~/App_Data/Titulos_ERP/"); // Tem que estar associado a um grupo Int32 idGrupo = Permissoes.GetIdGrupo(token, _db); if (idGrupo == 0) { throw new Exception("Grupo inválido"); } // Tem que informar por filtro a conta corrente //string outValue = null; //if (!queryString.TryGetValue("" + (int)CAMPOS.CDCONTACORRENTE, out outValue)) // throw new Exception("Conta corrente não informada"); #region OBTÉM O DIRETÓRIO A SER SALVO O CSV if (!Directory.Exists(pastaCSVs)) { Directory.CreateDirectory(pastaCSVs); } string diretorio = pastaCSVs + idGrupo + "\\"; if (!Directory.Exists(diretorio)) { Directory.CreateDirectory(diretorio); } #endregion HttpRequest httpRequest = HttpContext.Current.Request; if (httpRequest.Files.Count > 0) { #region OBTÉM NOME ÚNICO PARA O ARQUIVO UPADO // Arquivo upado HttpPostedFile postedFile = httpRequest.Files[0]; // Obtém a extensão string extensao = postedFile.FileName.LastIndexOf(".") > -1 ? postedFile.FileName.Substring(postedFile.FileName.LastIndexOf(".")) : ".csv"; if (!extensao.ToLower().Equals(".csv")) { throw new Exception("Só são aceitos arquivos do tipo CSV"); } // Obtém o nome do arquivo upado string nomeArquivo = (postedFile.FileName.LastIndexOf(".") > -1 ? postedFile.FileName.Substring(0, postedFile.FileName.LastIndexOf(".")) : postedFile.FileName) + "_0" + extensao; // Remove caracteres inválidos para nome de arquivo nomeArquivo = Path.GetInvalidFileNameChars().Aggregate(nomeArquivo, (current, c) => current.Replace(c.ToString(), string.Empty)); // Valida o nome do arquivo dentro do diretório => deve ser único int cont = 0; while (File.Exists(diretorio + nomeArquivo)) { // Novo nome nomeArquivo = nomeArquivo.Substring(0, nomeArquivo.LastIndexOf("_") + 1); nomeArquivo += ++cont + extensao; } #endregion #region SALVA ARQUIVO NO DISCO string filePath = diretorio + nomeArquivo; // Salva o arquivo try { postedFile.SaveAs(filePath); } catch (Exception e) { throw new Exception("Não foi possível salvar o arquivo '" + filePath + "'! " + e.Message); } #endregion // Loga o nome do arquivo if (log != null) { log.dsJson = filePath; } // CNPJs pertencentes ao grupo List <string> CNPJSEmpresa = _db.empresas.Where(e => e.id_grupo == idGrupo).Select(e => e.nu_cnpj).ToList <string>(); Retorno retorno = new Retorno(); List <dynamic> titulosERPCSV = new List <dynamic>(); // Lê arquivo e preenche lista StreamReader reader; try { reader = new StreamReader(filePath); } catch { throw new Exception("Falha ao ler conteúdo do arquivo!"); } // Lê o arquivo todo string texto = reader.ReadToEnd(); // Obtém as linhas string[] linhas = texto.Replace("\r", "").Split('\n'); // Lê as linhas for (int contLinha = 0; contLinha < linhas.Length; contLinha++) { string[] fileira = linhas[contLinha].Split(';'); if (fileira == null) //|| fileira.Count < 10) { throw new Exception("Linha " + contLinha + " do arquivo é inválida!"); } if (fileira.Length < 10) { continue; } // CNPJ string nrCNPJ = fileira[0].Trim(); if (nrCNPJ.Equals("")) { throw new Exception("CNPJ não informado na linha " + contLinha + "!"); } // CNPJ do grupo? if (!CNPJSEmpresa.Contains(nrCNPJ)) { throw new Exception("CNPJ " + nrCNPJ + " não está cadastrado no grupo " + _db.Database.SqlQuery <grupo_empresa>("SELECT UPPER(G.ds_nome)" + " FROM cliente.grupo_empresa G (NOLOCK)" + " WHERE G.id_grupo = " + idGrupo) .FirstOrDefault()); } // NSU string nrNSU = fileira[1].Trim(); if (nrNSU.Equals("")) { if (fileira.Length < 11) { throw new Exception("NSU e código do ERP não informados na linha " + contLinha + "!"); } nrNSU = "T" + fileira[10]; // "T" + cdERP } DateTime dtTitulo = DateTime.Now; try { dtTitulo = Convert.ToDateTime(formataDataDoCSV(fileira[7])); } catch { throw new Exception("Data do título não está no formato esperado (linha " + contLinha + ")!"); } DateTime?dtVenda = null; if (!fileira[2].Trim().Equals("")) { try { dtVenda = Convert.ToDateTime(formataDataDoCSV(fileira[2])); } catch { throw new Exception("Data da venda não está no formato esperado (linha " + contLinha + ")!"); } } int nrParcela = 0; try { nrParcela = Convert.ToInt32(fileira[9]); } catch { throw new Exception("Número da parcela não está no formato esperado (linha " + contLinha + ")!"); }; DateTime?dtBaixaERP = null; if (fileira.Length >= 12 && !fileira[11].Trim().Equals("")) { try { dtBaixaERP = Convert.ToDateTime(formataDataDoCSV(fileira[11])); } catch { throw new Exception("Data da baixa no ERP não está no formato esperado (linha " + contLinha + ")!"); } } decimal vlVenda = new decimal(0.0); try { vlVenda = Convert.ToDecimal(fileira[5]); } catch { throw new Exception("Valor da venda não está no formato esperado (linha " + contLinha + ")!"); }; decimal vlParcela = new decimal(0.0); try { vlParcela = Convert.ToDecimal(fileira[8]); } catch { throw new Exception("Valor do título não está no formato esperado (linha " + contLinha + ")!"); }; int qtParcelas = 0; try { qtParcelas = Convert.ToInt32(fileira[6]); } catch { throw new Exception("Quantidade de parcelas não está no formato esperado (linha " + contLinha + ")!"); }; int cdAdquirente = 0; try { cdAdquirente = Convert.ToInt32(fileira[3]); } catch { throw new Exception("Código da adquirente não está no formato esperado (linha " + contLinha + ")!"); }; titulosERPCSV.Add(new { nrCNPJ = nrCNPJ, nrNSU = nrNSU, dtVenda = dtVenda, cdAdquirente = cdAdquirente, dsBandeira = fileira[4], vlVenda = vlVenda, qtParcelas = qtParcelas, dtTitulo = dtTitulo, vlParcela = vlParcela, nrParcela = nrParcela, cdERP = fileira.Length < 11 ? (string)null : fileira[10], dtBaixaERP = dtBaixaERP }); } if (titulosERPCSV.Count > 0) { // Importa os títulos em background retorno.Registros = titulosERPCSV; retorno.TotalDeRegistros = titulosERPCSV.Count; Semaphore semaforo = new Semaphore(0, 1); BackgroundWorker bw = new BackgroundWorker(); bw.WorkerReportsProgress = false; bw.WorkerSupportsCancellation = false; bw.DoWork += bw_DoWork; List <object> args = new List <object>(); args.Add(_db); args.Add(semaforo); args.Add(retorno); args.Add(idGrupo); args.Add(null); bw.RunWorkerAsync(args); semaforo.WaitOne(); } // Teve erro? object outValue = null; if (retorno.Totais != null && retorno.Totais.TryGetValue("erro", out outValue)) { throw new Exception(retorno.Totais["erro"].ToString()); } } } catch (Exception e) { // Rollback //transaction.Rollback(); /*if (e is DbEntityValidationException) * { * string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); * throw new Exception(erro.Equals("") ? "Falha ao enviar extrato" : erro); * }*/ throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } }
public HttpResponseMessage Get(string token, int colecao = 0, int campo = 0, int orderBy = 0, int pageSize = 0, int pageNumber = 0) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, null, "Get", _db); Dictionary <string, string> queryString = new Dictionary <string, string>(); queryString = Request.GetQueryNameValuePairs().ToDictionary(x => x.Key, x => x.Value); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { HttpResponseMessage result = null; byte[] arquivo = null; string nmArquivo = null; if (colecao == 0) // [PORTAL] Download de um XML NFe { Retorno dados = GatewayTbManifesto.Get(token, 0, campo, orderBy, pageSize, pageNumber, queryString, _db); if (dados.TotalDeRegistros > 0) { dynamic item = dados.Registros.Cast <dynamic>().Select(e => new { xmlNFe = e.xmlNFe, nrChave = e.nrChave }).First(); arquivo = GatewayUtilNfe.ArquivoXml(Convert.ToString(item.xmlNFe)); nmArquivo = item.nrChave + ".xml"; if (arquivo.Length > 0) { result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new StreamContent(new MemoryStream(arquivo)); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); result.Content.Headers.ContentDisposition.FileName = nmArquivo; result.Content.Headers.Add("x-filename", nmArquivo); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(result); } else { log.codResposta = (int)HttpStatusCode.InternalServerError; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } //return result; } else { log.codResposta = (int)HttpStatusCode.NotFound; Bibliotecas.LogAcaoUsuario.Save(log, _db); throw new HttpResponseException(HttpStatusCode.NotFound); } } else if (colecao == 1) // [PORTAL] Download de um Arquivo ZIP Contendo vários XMLs NFe { Retorno dados = GatewayTbManifesto.Get(token, 0, campo, orderBy, pageSize, pageNumber, queryString, _db); dynamic itens = dados.Registros.Cast <dynamic>().Select(e => new { xmlNFe = e.xmlNFe, nrChave = e.nrChave }).ToList(); arquivo = GatewayUtilNfe.DownloadZipXmls(dados.Registros); dynamic item = dados.Registros.Cast <dynamic>().Select(e => new { xmlNFe = e.xmlNFe, nrChave = e.nrChave, dtEmissao = e.dtEmissao, nmEmitente = e.nmEmitente, nrEmitenteCNPJCPF = e.nrEmitenteCNPJCPF }).First(); string dtEmissao = item.dtEmissao.ToString().Replace('/', '-'); //DateTime.ParseExact(item.dtEmissao + " 00:00:00.000", "dd/MM/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture).ToString("yyyyMMdd HH:mm:ss.fff"); nmArquivo = "XMLs - " + dtEmissao + " - " + item.nmEmitente + " - " + item.nrEmitenteCNPJCPF + ".zip"; if (arquivo.Length > 0) { result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new StreamContent(new MemoryStream(arquivo)); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); result.Content.Headers.ContentDisposition.FileName = nmArquivo; result.Content.Headers.ContentDisposition.Name = nmArquivo; result.Content.Headers.ContentDisposition.FileNameStar = nmArquivo; result.Content.Headers.Add("x-filename", nmArquivo); } log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(result); } else if (colecao == 2) // [PORTAL] Download de um PDF DANFE { Retorno dados = GatewayTbManifesto.Get(token, 0, campo, orderBy, pageSize, pageNumber, queryString, _db); if (dados.TotalDeRegistros > 0) { dynamic item = dados.Registros.Cast <dynamic>().Select(e => new { xmlNFe = e.xmlNFe, nrChave = e.nrChave }).First(); arquivo = GatewayUtilNfe.PDFDanfe(Convert.ToString(item.xmlNFe), Convert.ToString(item.nrChave)); nmArquivo = item.nrChave + ".pdf"; if (arquivo.Length > 0) { result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new StreamContent(new MemoryStream(arquivo)); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); result.Content.Headers.ContentDisposition.FileName = nmArquivo; result.Content.Headers.Add("x-filename", nmArquivo); } log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(result); } else { log.codResposta = (int)HttpStatusCode.NotFound; Bibliotecas.LogAcaoUsuario.Save(log, _db); throw new HttpResponseException(HttpStatusCode.NotFound); } } else if (colecao == 3) // [PORTAL] Download de um Arquivo ZIP Contendo vários PDFs DANFE { Retorno dados = GatewayTbManifesto.Get(token, 0, campo, orderBy, pageSize, pageNumber, queryString, _db); dynamic itens = dados.Registros.Cast <dynamic>().Select(e => new { xmlNFe = e.xmlNFe, nrChave = e.nrChave }).ToList(); arquivo = GatewayUtilNfe.DownloadZipPdfs(dados.Registros); dynamic item = dados.Registros.Cast <dynamic>().Select(e => new { xmlNFe = e.xmlNFe, nrChave = e.nrChave, dtEmissao = e.dtEmissao, nmEmitente = e.nmEmitente, nrEmitenteCNPJCPF = e.nrEmitenteCNPJCPF }).First(); string dtEmissao = item.dtEmissao.ToString().Replace('/', '-'); //DateTime.ParseExact(item.dtEmissao + " 00:00:00.000", "dd/MM/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture).ToString("yyyyMMdd HH:mm:ss.fff"); nmArquivo = "PDFs - " + dtEmissao + " - " + item.nmEmitente + " - " + item.nrEmitenteCNPJCPF + ".zip"; if (arquivo.Length > 0) { result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new StreamContent(new MemoryStream(arquivo)); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); //result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); result.Content.Headers.ContentDisposition.FileName = nmArquivo; result.Content.Headers.Add("x-filename", nmArquivo); } log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(result); } else { log.codResposta = (int)HttpStatusCode.NotFound; Bibliotecas.LogAcaoUsuario.Save(log, _db); throw new HttpResponseException(HttpStatusCode.NotFound); } } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
// POST /Upload/token/tipo public HttpResponseMessage Post(string token, int tipo) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(new { tipo = tipo }), "Post", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { Dictionary <string, string> queryString = Request.GetQueryNameValuePairs().ToDictionary(x => x.Key, x => x.Value); if (queryString != null) { // Remove os dois queryString.Remove("token"); queryString.Remove("tipo"); } object resp = null; TIPO tipoUpload = (TIPO)tipo; switch (tipoUpload) { case TIPO.TITULO: GatewayTitulosErp.Patch(token, log, _db); log.codResposta = (int)HttpStatusCode.OK; break; case TIPO.EXTRATO: resp = GatewayTbExtrato.Patch(token, queryString, log, _db); log.codResposta = (int)HttpStatusCode.OK; break; case TIPO.NFE: Mensagem mensagemN = GatewayTbManifesto.Patch(token, queryString, _db); log.codResposta = mensagemN.cdMensagem; if (mensagemN.cdMensagem != 200) { log.msgErro = mensagemN.dsMensagem; } resp = mensagemN; break; case TIPO.CERTIFICADODIGITAL: Mensagem mensagemC = GatewayTbEmpresa.Patch(token, queryString, _db); log.codResposta = mensagemC.cdMensagem; if (mensagemC.cdMensagem != 200) { log.msgErro = mensagemC.dsMensagem; } resp = mensagemC; break; default: return(Request.CreateResponse(HttpStatusCode.BadRequest)); } Bibliotecas.LogAcaoUsuario.Save(log, _db); if (resp != null) { return(Request.CreateResponse(HttpStatusCode.OK, resp)); } return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message)); } } }