// PUT /tbBandeira/token/ public HttpResponseMessage Put(string token, [FromBody] tbBandeira param) { 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)) { GatewayTbBandeira.Update(token, param, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } } }
/// <summary> /// Altera tbBandeira /// </summary> /// <param name="param"></param> /// <returns></returns> public static void Update(string token, tbBandeira param, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } try { tbBandeira value = _db.tbBandeiras .Where(e => e.cdBandeira == param.cdBandeira) .First <tbBandeira>(); if (param.dsBandeira != null && param.dsBandeira != value.dsBandeira) { value.dsBandeira = param.dsBandeira; } if (param.cdAdquirente != value.cdAdquirente) { value.cdAdquirente = param.cdAdquirente; } if (param.dsTipo != null && param.dsTipo != value.dsTipo) { value.dsTipo = param.dsTipo; } _db.SaveChanges(); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao listar 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(); } } }
/// <summary> /// Adiciona nova TbBandeira /// </summary> /// <param name="param"></param> /// <returns></returns> public static Int32 Add(string token, tbBandeira param, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } try { _db.tbBandeiras.Add(param); _db.SaveChanges(); return(param.cdBandeira); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao listar 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(); } } }
/// <summary> /// Altera tbBandeiraSacado /// </summary> /// <param name="param"></param> /// <returns></returns> public static void Update(string token, TbBandeiraSacadoUpdate 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 { Int32 cdGrupo = Permissoes.GetIdGrupo(token, _db); if (cdGrupo != 0 && cdGrupo != param.cdGrupo) { throw new Exception("O usuário não está associado ao grupo empresarial cuja relação bandeira-sacado corresponde!"); } param.cdGrupo = cdGrupo; tbBandeiraSacado value = _db.Database.SqlQuery <tbBandeiraSacado>("SELECT *" + " FROM card.tbBandeiraSacado B (NOLOCK)" + " WHERE B.cdGrupo = " + param.cdGrupo + " AND B.cdBandeira = " + param.oldCdBandeira + " AND B.qtParcelas = " + param.oldQtParcelas).FirstOrDefault(); if (value == null) { throw new Exception("Bandeira-Sacado inexistente!"); } List <string> update = new List <string>(); if (param.newCdBandeira != value.cdBandeira) { // Consulta bandeira tbBandeira tbBandeira = _db.tbBandeiras.Where(t => t.cdBandeira == param.newCdBandeira).FirstOrDefault(); if (tbBandeira == null) { throw new Exception("Bandeira inexistente!"); } update.Add("B.cdBandeira = " + param.newCdBandeira); if (tbBandeira.dsTipo.StartsWith("DÉBITO")) { update.Add("B.qtParcelas = 0"); } else if (param.newQtParcelas == 0) { update.Add("B.qtParcelas = 36"); // default } else { update.Add("B.qtParcelas = " + param.newQtParcelas); } } if (param.newCdSacado != null && !param.newCdSacado.Equals(value.cdSacado)) { update.Add("B.cdSacado = '" + param.newCdSacado + "'"); } if (update.Count > 0) { string script = "UPDATE B" + " SET " + string.Join(", ", update) + " FROM card.tbBandeiraSacado B (NOLOCK)" + " WHERE B.cdGrupo = " + param.cdGrupo + " AND B.cdBandeira = " + param.oldCdBandeira + " AND B.qtParcelas = " + param.oldQtParcelas; _db.Database.ExecuteSqlCommand(script); _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 bandeira-sacado" : 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 TbBandeiraSacado /// </summary> /// <param name="param"></param> /// <returns></returns> public static Int32 Add(string token, tbBandeiraSacado 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 { Int32 cdGrupo = Permissoes.GetIdGrupo(token, _db); if (param.cdGrupo != 0 && cdGrupo != param.cdGrupo) { throw new Exception("O usuário não está associado ao grupo empresarial cuja relação bandeira-sacado corresponde!"); } param.cdGrupo = cdGrupo; // Consulta bandeira tbBandeira tbBandeira = _db.tbBandeiras.Where(t => t.cdBandeira == param.cdBandeira).FirstOrDefault(); if (tbBandeira == null) { throw new Exception("Bandeira inexistente!"); } if (tbBandeira.dsTipo.StartsWith("DÉBITO")) { param.qtParcelas = 0; } else if (param.qtParcelas <= 0) { param.qtParcelas = 36; // default } _db.tbBandeiraSacados.Add(param); _db.SaveChanges(); //transaction.Commit(); return(param.cdGrupo); } catch (Exception e) { //transaction.Rollback(); if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao adicionar bandeira-sacado" : 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(); } } }