Beispiel #1
0
        // 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);
                }
            }
        }
Beispiel #2
0
        /// <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();
                }
            }
        }
Beispiel #3
0
        /// <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();
                }
            }
        }
Beispiel #4
0
        /// <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();
                }
            }
        }
Beispiel #5
0
        /// <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();
                }
            }
        }