Пример #1
0
        /// <summary>
        /// Adiciona nova LogAcesso
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static void Add(string token, Int32 idController, painel_taxservices_dbContext _dbContext = null)
        {
            painel_taxservices_dbContext _db;

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

            try
            {
                LogAcesso1 log = new LogAcesso1();
                log.idUsers      = Bibliotecas.Permissoes.GetIdUser(token);
                log.idController = idController;
                log.dtAcesso     = DateTime.Now;
                log.dsUserAgent  = HttpContext.Current.Request.UserAgent;
                log.flMobile     = Bibliotecas.Device.IsMobile();

                _db.LogAcesso1.Add(log);
                _db.SaveChanges();
            }
            catch (Exception e)
            {
                if (e is DbEntityValidationException)
                {
                    string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e);
                    throw new Exception(erro.Equals("") ? "Falha ao listar 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();
                }
            }
        }
Пример #2
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);
                }
            }
        }
Пример #3
0
        /// <summary>
        /// Adiciona nova LogAcesso
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static Int32 Add(string token, LogAcesso1 param, painel_taxservices_dbContext _dbContext = null)
        {
            painel_taxservices_dbContext _db;

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

            try
            {
                _db.LogAcesso1.Add(param);
                _db.SaveChanges();
                return((Int32)param.idUsers);
            }
            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();
                }
            }
        }
Пример #4
0
        public static void New(Log data)
        {
            try
            {
                using (var _db = new painel_taxservices_dbContext())
                {
                    _db.Configuration.ProxyCreationEnabled = false;

                    LogAcesso1 log = new LogAcesso1();
                    log.idUsers      = data.IdUser;
                    log.idController = data.IdController;
                    log.idMethod     = data.IdMethod;
                    log.dtAcesso     = data.DtAcesso;

                    _db.LogAcesso1.Add(log);
                    _db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                throw new Exception("Mensagem: " + (e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message));
            }
        }
Пример #5
0
        /// <summary>
        /// Altera LogAcesso
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static void Update(string token, LogAcesso1 param, painel_taxservices_dbContext _dbContext = null)
        {
            painel_taxservices_dbContext _db;

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

            try
            {
                LogAcesso1 value = _db.LogAcesso1
                                   .Where(e => e.idUsers.Equals(param.idUsers))
                                   .Where(e => e.idController.Equals(param.idController))
                                   .Where(e => e.idMethod.Equals(param.idMethod))
                                   .First <LogAcesso1>();

                // OBSERVAÇÂO: VERIFICAR SE EXISTE ALTERAÇÃO NO PARAMETROS


                if (param.idUsers != null && param.idUsers != value.idUsers)
                {
                    value.idUsers = param.idUsers;
                }
                if (param.idController != null && param.idController != value.idController)
                {
                    value.idController = param.idController;
                }
                if (param.idMethod != null && param.idMethod != value.idMethod)
                {
                    value.idMethod = param.idMethod;
                }
                if (param.dtAcesso != null && param.dtAcesso != value.dtAcesso)
                {
                    value.dtAcesso = param.dtAcesso;
                }
                _db.SaveChanges();
            }
            catch (Exception e)
            {
                if (e is DbEntityValidationException)
                {
                    string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e);
                    throw new Exception(erro.Equals("") ? "Falha ao listar atualizar 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();
                }
            }
        }