示例#1
0
        // 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);
            }
        }
示例#2
0
        /// <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);
            }
        }