コード例 #1
0
        // PUT /tbContaCorrente/token/
        public HttpResponseMessage Put(string token, [FromBody] tbContaCorrente 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))
                    {
                        GatewayTbContaCorrente.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);//, _db);
                    throw new HttpResponseException(HttpStatusCode.InternalServerError);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Apaga uma TbContaCorrente
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static void Delete(string token, Int32 cdContaCorrente, 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
            {
                tbContaCorrente conta = _db.tbContaCorrentes.Where(e => e.cdContaCorrente == cdContaCorrente).FirstOrDefault();
                if (conta == null)
                {
                    throw new Exception("Conta inexistente!");
                }
                // Remove as vigências

                /*GatewayTbContaCorrenteTbLoginAdquirenteEmpresa.Delete(token, conta.cdContaCorrente);
                *  // Remove os extratos e os arquivos associados
                *  List<tbExtrato> extratos = _db.tbExtratos.Where(e => e.cdContaCorrente == conta.cdContaCorrente).ToList<tbExtrato>();
                *  foreach (var extrato in extratos) GatewayTbExtrato.Delete(token, extrato.idExtrato);*/
                // Remove a conta
                _db.tbContaCorrentes.Remove(conta);
                _db.SaveChanges();
                //transaction.Commit();
            }
            catch (Exception e)
            {
                //transaction.Rollback();
                if (e is DbEntityValidationException)
                {
                    string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e);
                    throw new Exception(erro.Equals("") ? "Falha ao apagar conta corrente" : 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();
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Altera tbContaCorrente
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static void Update(string token, tbContaCorrente param, painel_taxservices_dbContext _dbContext = null)
        {
            painel_taxservices_dbContext _db;

            if (_dbContext == null)
            {
                _db = new painel_taxservices_dbContext();
            }
            else
            {
                _db = _dbContext;
            }

            try
            {
                // Avalia grupo
                Int32 IdGrupo = Permissoes.GetIdGrupo(token, _db);
                if (IdGrupo > 0)
                {
                    param.cdGrupo = IdGrupo;
                    int id_grupo = _db.empresas.Where(t => t.nu_cnpj.Equals(param.nrCnpj)).Select(t => t.id_grupo).FirstOrDefault();
                    if (id_grupo != IdGrupo)
                    {
                        //if (_db.empresas.Where(t => t.nu_cnpj.Equals(param.nrCnpj)).Select(t => t.id_grupo).FirstOrDefault() != IdGrupo)
                        throw new Exception("Filial não pertence ao grupo que o usuário está associado!");
                    }
                }
                else
                {
                    IdGrupo = _db.empresas.Where(t => t.nu_cnpj.Equals(param.nrCnpj)).Select(t => t.id_grupo).FirstOrDefault();
                    if (IdGrupo == 0)
                    {
                        throw new Exception("Filial inválida!");
                    }

                    if (!Permissoes.usuarioPodeSeAssociarAoGrupo(token, IdGrupo, _db))
                    {
                        throw new Exception("Unauthorized");
                    }

                    param.cdGrupo = IdGrupo;
                }

                tbContaCorrente value = _db.tbContaCorrentes
                                        .Where(e => e.cdContaCorrente == param.cdContaCorrente)
                                        .First <tbContaCorrente>();

                if (value == null)
                {
                    throw new Exception("Conta inexistente!");
                }

                if (param.nrCnpj != null && param.nrCnpj != value.nrCnpj)
                {
                    value.nrCnpj = param.nrCnpj;
                }
                if (param.cdBanco != null && param.cdBanco != value.cdBanco)
                {
                    value.cdBanco = param.cdBanco;
                }
                if (param.nrAgencia != null && param.nrAgencia != value.nrAgencia)
                {
                    value.nrAgencia = param.nrAgencia;
                }
                if (param.nrConta != null && param.nrConta != value.nrConta)
                {
                    value.nrConta = param.nrConta;
                }
                if (param.flAtivo != value.flAtivo)
                {
                    value.flAtivo = param.flAtivo;
                }
                _db.SaveChanges();
                //transaction.Commit();
            }
            catch (Exception e)
            {
                //transaction.Rollback();
                if (e is DbEntityValidationException)
                {
                    string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e);
                    throw new Exception(erro.Equals("") ? "Falha ao alterar conta corrente" : 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();
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// Adiciona nova TbContaCorrente
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static Int32 Add(string token, tbContaCorrente param, painel_taxservices_dbContext _dbContext = null)
        {
            painel_taxservices_dbContext _db;

            if (_dbContext == null)
            {
                _db = new painel_taxservices_dbContext();
            }
            else
            {
                _db = _dbContext;
            }

            try
            {
                // Avalia grupo
                Int32 IdGrupo = Permissoes.GetIdGrupo(token, _db);
                if (IdGrupo > 0)
                {
                    param.cdGrupo = IdGrupo;
                    int id_grupo = _db.empresas.Where(t => t.nu_cnpj.Equals(param.nrCnpj)).Select(t => t.id_grupo).FirstOrDefault();
                    if (id_grupo != IdGrupo)
                    {
                        throw new Exception("Filial não pertence ao grupo que o usuário está associado!");
                    }
                }
                else
                {
                    IdGrupo = _db.empresas.Where(t => t.nu_cnpj.Equals(param.nrCnpj)).Select(t => t.id_grupo).FirstOrDefault();
                    if (IdGrupo == 0)
                    {
                        throw new Exception("Filial inválida!");
                    }

                    if (!Permissoes.usuarioPodeSeAssociarAoGrupo(token, IdGrupo, _db))
                    {
                        throw new Exception("Unauthorized");
                    }

                    param.cdGrupo = IdGrupo;
                }

                //DbContextTransaction transaction = _db.Database.BeginTransaction();

                var verify = _db.tbContaCorrentes
                             .Where(e => e.cdGrupo == param.cdGrupo)
                             .Where(e => e.nrCnpj.Equals(param.nrCnpj))
                             .Where(e => e.cdBanco.Equals(param.cdBanco))
                             .Where(e => e.nrAgencia.Equals(param.nrAgencia))
                             .Where(e => e.nrConta.Equals(param.nrConta))
                             .FirstOrDefault();

                if (verify == null)
                {
                    param.flAtivo = true;
                    _db.tbContaCorrentes.Add(param);
                    _db.SaveChanges();
                    //transaction.Commit();
                    return(param.cdContaCorrente);
                }

                throw new Exception("Conta já cadastrada!");
            }
            catch (Exception e)
            {
                //transaction.Rollback();
                if (e is DbEntityValidationException)
                {
                    string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e);
                    throw new Exception(erro.Equals("") ? "Falha ao salvar conta corrente" : 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();
                }
            }
        }