/// <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(); } } }
// 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); } } }
/// <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(); } } }
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)); } }
/// <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(); } } }