示例#1
0
        // 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);
            }
        }
示例#2
0
        // 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);
                }
            }
        }
示例#3
0
        // 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));
                }
            }
        }
示例#4
0
        // 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);
                }
            }
        }
示例#5
0
        // 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);
                }
            }
        }
示例#6
0
        // 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);
                }
            }
        }
示例#7
0
        // 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);
                }
            }
        }
示例#8
0
        // 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);
            }
        }
示例#9
0
        // 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();
                //}
            }
            //    }
            //}
        }
示例#10
0
        // 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);
                    }
                }
            }
        }
示例#11
0
        // 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();
                //}
            }
        }
示例#12
0
        /*// 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);
                }
            }
        }
示例#13
0
        // 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();
            }
        }
示例#14
0
        // 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);
                }
            }
        }
示例#15
0
        // 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);
                }
            }
        }
示例#16
0
        // 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);
                }
            }
        }
示例#17
0
        /// <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();
                }
            }
        }
示例#18
0
        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();
                }
            }
        }
示例#19
0
        // 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));
                }
            }
        }
示例#20
0
        /// <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();
                }
            }
        }
示例#21
0
        // 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();
                //}
            }
        }
示例#22
0
        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();
                }
            }
        }
示例#23
0
        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();
                }
            }
        }
示例#24
0
        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);
                }
            }
        }
示例#25
0
        // 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));
                }
            }
        }