// 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); } } }
/// <summary> /// Apaga uma TbBancoParametro /// </summary> /// <param name="param"></param> /// <returns></returns> public static void Delete(string token, string cdBanco, string dsMemo, int cdGrupo, 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 { tbBancoParametro parametro = _db.tbBancoParametros.Where(e => e.cdBanco.Equals(cdBanco)) .Where(e => e.dsMemo.Equals(dsMemo)) .Where(e => e.cdGrupo == cdGrupo) .FirstOrDefault(); if (parametro == null) { throw new Exception("Parâmetro bancário inexistente"); } _db.tbBancoParametros.Remove(parametro); _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 remover parâmetro bancá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(); } } }
/// <summary> /// Altera tbBancoParametro /// </summary> /// <param name="param"></param> /// <returns></returns> public static void Update(string token, ParametrosBancarios param, painel_taxservices_dbContext _dbContext = null)//tbBancoParametro param) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } DbContextTransaction transaction = _db.Database.BeginTransaction(); try { //Int32 idGrupo = Permissoes.GetIdGrupo(token, _db); foreach (ParametroBancario parametro in param.Parametros) { tbBancoParametro value = _db.tbBancoParametros.Where(e => e.cdBanco.Equals(parametro.CdBanco)) .Where(e => e.dsMemo.Equals(parametro.DsMemo)) .Where(e => e.cdGrupo == parametro.CdGrupo) .FirstOrDefault(); if (value != null) { if (param.Deletar) { // Remove _db.tbBancoParametros.Remove(value); } else { // TIPO if (parametro.DsTipo != null && parametro.DsTipo != value.dsTipo) { value.dsTipo = parametro.DsTipo; } // Adquirente if (param.CdAdquirente != null && param.CdAdquirente != value.cdAdquirente) { if (param.CdAdquirente == -1) { value.cdAdquirente = null; } else { value.cdAdquirente = param.CdAdquirente; } } // Filial if (param.NrCnpj != null && (value.nrCnpj == null || !param.NrCnpj.Equals(value.nrCnpj))) { if (param.NrCnpj.Equals("")) { value.nrCnpj = null; } else { int idGrupo = _db.empresas.Where(t => t.nu_cnpj.Equals(param.NrCnpj)).Select(t => t.id_grupo).FirstOrDefault(); if (idGrupo != parametro.CdGrupo) { value.nrCnpj = null; } else { value.nrCnpj = param.NrCnpj; } } } // Tipo Cartão if (param.DsTipoCartao != null && (value.dsTipoCartao == null || !param.DsTipoCartao.Equals(value.dsTipoCartao.TrimEnd()))) { if (param.DsTipoCartao.Equals("")) { value.dsTipoCartao = null; } else { value.dsTipoCartao = param.DsTipoCartao; } } // Bandeira if (param.CdBandeira != null && param.CdBandeira != value.cdBandeira) { if (param.CdBandeira == -1) { value.cdBandeira = null; } else { value.cdBandeira = param.CdBandeira; } } // Visibilidade if (param.FlVisivel != value.flVisivel) { value.flVisivel = param.FlVisivel; } // Antecipação if (param.FlAntecipacao != null && param.FlAntecipacao.Value != value.flAntecipacao) { value.flAntecipacao = param.FlAntecipacao.Value; } //} } // Salva _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 atualizar parâmetros bancários" : 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(); } } }
/// <summary> /// Adiciona nova TbBancoParametro /// </summary> /// <param name="param"></param> /// <returns></returns> public static string Add(string token, tbBancoParametro param, 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 { tbBancoParametro parametro = _db.tbBancoParametros.Where(e => e.cdBanco.Equals(param.cdBanco)) .Where(e => e.dsMemo.Equals(param.dsMemo)) .Where(e => e.cdGrupo == param.cdGrupo) .FirstOrDefault(); if (parametro != null) { throw new Exception("Parâmetro bancário já existe"); } if (param.cdAdquirente == -1) { param.cdAdquirente = null; } if (param.dsTipoCartao != null && param.dsTipoCartao.Equals("")) { param.dsTipoCartao = null; } if (param.cdBandeira == -1) { param.cdBandeira = null; } if (param.nrCnpj != null) { if (param.nrCnpj.Equals("")) { param.nrCnpj = null; } else { int idGrupo = _db.empresas.Where(t => t.nu_cnpj.Equals(param.nrCnpj)).Select(t => t.id_grupo).FirstOrDefault(); if (idGrupo != param.cdGrupo) { param.nrCnpj = null; } } } param.flVisivel = true; _db.tbBancoParametros.Add(param); _db.SaveChanges(); //transaction.Commit(); return(param.cdBanco); } catch (Exception e) { //transaction.Rollback(); if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao salvar parâmetro bancá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(); } } }