Esempio n. 1
0
        public UserModel GetUser(LoginModel model)
        {
            User user = null;
            if (model.provider == Provider.Twitter)
            {
                user = repository.AsQueryable<User>().FirstOrDefault(x => x.TwitterSecret == model.Secret && x.TwitterToken == model.Token) ?? new User();
                user.TwitterToken = model.Token;
                user.TwitterSecret = model.Secret;
                user.TwitterEnabled = true;
                repository.Save(user);
            }
            else if (model.provider == Provider.Facebook)
            {
                user = repository.AsQueryable<User>().FirstOrDefault(x => x.FacebookId == model.ExternalId) ?? new User();
                user.FacebookId = model.ExternalId;
                user.FacebookToken = model.Token;
                user.FacebookEnabled = true;
                repository.Save(user);
            }

            repository.Commit();

            var response = new UserModel()
            {
                UserId = user.Id,
                IsFacebookEnabled = user.FacebookEnabled,
                IsTwitterEnabled = user.TwitterEnabled
            };

            return response;
        }
Esempio n. 2
0
        public HttpResponseMessage Put(UserModel request)
        {
            var user = userService.UpdateUser(request);
            HttpResponseMessage response;
            if (user == null)
            {
                response = Request.CreateResponse(HttpStatusCode.NotFound, "User not found");
            }
            else
            {
                response = Request.CreateResponse(HttpStatusCode.OK, request);
            }

            return response;
        }
Esempio n. 3
0
        public UserModel UpdateUser(UserModel model)
        {
            var user = repository.AsQueryable<User>().FirstOrDefault(x => x.Id == model.UserId);
            if (user != null)
            {
                user.TwitterEnabled = model.IsTwitterEnabled;
                user.FacebookEnabled = model.IsFacebookEnabled;
                repository.Save(user);
                repository.Commit();

                model.IsTwitterEnabled = user.TwitterEnabled;
                model.IsFacebookEnabled = user.FacebookEnabled;
                model.UserId = user.Id;
                return model;
            }
            return null;
        }