// POST /tbDispositivoUsuario/token/ public HttpResponseMessage Post(string token, [FromBody] IonicWebHook param) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Post"); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token)) { Int32 dados = GatewayTbDispositivoUsuario.Add(token, param); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log); return(Request.CreateResponse <Int32>(HttpStatusCode.OK, dados)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log); 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 TbDispositivoUsuario /// </summary> /// <param name="param"></param> /// <returns></returns> public static Int32 Add(string token, IonicWebHook param) { try { // Atualiza o contexto ((IObjectContextAdapter)_db).ObjectContext.Refresh(RefreshMode.StoreWins, _db.ChangeTracker.Entries().Select(c => c.Entity)); tbDispositivoUsuario disUser = new tbDispositivoUsuario(); if (param.usuario == null) { return(1); } else { disUser.dsPlataforma = param.device.platform; disUser.dsModelo = param.device.model; disUser.dsVersao = param.device.version; disUser.tmLargura = param.device.screen_width; disUser.tmAltura = param.device.screen_height; disUser.idIONIC = param.device.uuid; disUser.idUserIONIC = param.user_id; if (param._push.android_tokens.Count > 0) { disUser.cdTokenValido = param._push.android_tokens.First(); } else if (param._push.ios_tokens.Count > 0) { disUser.cdTokenValido = param._push.ios_tokens.First(); } else { disUser.cdTokenValido = null; } disUser.idUser = Permissoes.GetIdUserPeloLogin(param.usuario); _db.tbDispositivoUsuarios.Add(disUser); _db.SaveChanges(); return(1); } } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao salvar TbDispositivoUsuario" : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } }