示例#1
0
        // POST /api/values
        public HttpResponseMessage Post(ChirpyRUser model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                MembershipCreateStatus createStatus;
                MembershipUser         currentUser = Membership.GetUser(model.UserId);
                if (currentUser == null)
                {
                    Membership.CreateUser(model.UserId, model.Password, model.Email, passwordQuestion: null, passwordAnswer: null, isApproved: true, providerUserKey: null, status: out createStatus);

                    if (createStatus == MembershipCreateStatus.Success)
                    {
                        FormsAuthentication.SetAuthCookie(model.UserId, createPersistentCookie: false);
                        return(Request.CreateResponse <ChirpyRUser>(System.Net.HttpStatusCode.Created, model));
                    }
                    else
                    {
                        return(Request.CreateResponse <ChirpyRUser>(System.Net.HttpStatusCode.InternalServerError, model));
                    }
                }
                else
                {
                    if (currentUser.ChangePassword(model.OldPassword, model.Password))
                    {
                        Membership.UpdateUser(currentUser);
                    }
                }
            }
            return(Request.CreateResponse <ChirpyRUser>(System.Net.HttpStatusCode.InternalServerError, model));
        }
示例#2
0
        public void Register10Users()
        {
            IChirpyRRepository repository = new ChirpyRSqlRepository("ChirpyRConnection", "dbo");
            ChirpyRDataService target     = new ChirpyRDataService(repository);
            int created = 0;
            int failed  = 0;

            for (int i = 0; i < 10; i++)
            {
                try
                {
                    ChirpyRUser chirpUser = new ChirpyRUser
                    {
                        UserId   = "Test" + i.ToString(),
                        FullName = "Test User",
                        Email    = "Test" + i.ToString() + "@gmail.com"
                    };
                    long actual;
                    actual = target.RegisterUser(chirpUser);
                    created++;
                }
                catch (ApplicationException ae)
                {
                    failed++;
                }
            }
            Assert.AreEqual(10, created);
        }
示例#3
0
 public HttpResponseMessage Put(ChirpyRUser user)
 {
     if (ModelState.IsValid)
     {
         FormsAuthentication.SignOut();
     }
     return(Request.CreateResponse <ChirpyRUser>(System.Net.HttpStatusCode.OK, null));
 }
示例#4
0
        public void FollowUserTest()
        {
            IChirpyRRepository repoistory = new ChirpyRSqlRepository("ChirpyRConnection", "dbo");
            ChirpyRDataService target     = new ChirpyRDataService(repoistory);
            ChirpyRUser        user       = repoistory.GetUserById("Test");
            ChirpyRUser        follow     = repoistory.GetUserById("Test1");

            target.FollowUser(user.UserId, follow.UserId);
        }
 public long FollowChirpR(Domain.Model.ChirpyRUser currentUser, Domain.Model.ChirpyRUser followUser)
 {
     using (ChirpyRDataContext context = new ChirpyRDataContext(_connectionName, _schemaName))
     {
         ChirpyRUser     cUser    = context.ChirpyRUsers.Single <ChirpyRUser>(c => c.UserId == currentUser.UserId);
         ChirpyRUser     fUser    = context.ChirpyRUsers.Single <ChirpyRUser>(c => c.UserId == followUser.UserId);
         ChirpyRRelation relation = new ChirpyRRelation {
             Parent = cUser, Child = fUser
         };
         context.Entry <ChirpyRRelation>(relation).State = System.Data.EntityState.Added;
         return(relation.Id);
     }
 }
示例#6
0
        public HttpResponseMessage Put(ChirpyRUser model)
        {
            MembershipCreateStatus createStatus;
            MembershipUser         currentUser = Membership.GetUser(model.UserId);

            if (currentUser != null)
            {
                if (currentUser.ChangePassword(model.OldPassword, model.Password))
                {
                    Membership.UpdateUser(currentUser);
                }
            }
            return(Request.CreateResponse <ChirpyRUser>(System.Net.HttpStatusCode.Accepted, model));
        }
示例#7
0
        public HttpResponseMessage Get(string userId)
        {
            MembershipUser currentUser = Membership.GetUser(userId);

            if (currentUser != null)
            {
                ChirpyRUser model = new ChirpyRUser();
                model.UserId = userId;
                model.Email  = currentUser.Email;
                return(Request.CreateResponse <ChirpyRUser>(HttpStatusCode.Accepted, model));
            }
            else
            {
                return(null);
            }
        }
示例#8
0
        public void RegisterUserTest()
        {
            IChirpyRRepository repository = new ChirpyRSqlRepository("ChirpyRConnection", "dbo");
            ChirpyRDataService target     = new ChirpyRDataService(repository);
            ChirpyRUser        chirpUser  = new ChirpyRUser
            {
                UserId   = "Test",
                FullName = "Test User",
                Email    = "*****@*****.**"
            };
            long notExpected = 0;
            long actual;

            actual = target.RegisterUser(chirpUser);
            Assert.AreNotEqual(notExpected, actual);
        }
示例#9
0
 public HttpResponseMessage Post(ChirpyRUser user)
 {
     if (ModelState.IsValid)
     {
         if (Membership.ValidateUser(user.UserId, user.Password))
         {
             FormsAuthentication.SetAuthCookie(user.UserId, false);
             return(Request.CreateResponse <ChirpyRUser>(System.Net.HttpStatusCode.OK, user));
         }
         else
         {
             return(Request.CreateResponse <ChirpyRUser>(System.Net.HttpStatusCode.Forbidden, user));
         }
     }
     else
     {
         return(Request.CreateResponse <ChirpyRUser>(System.Net.HttpStatusCode.Forbidden, user));
     }
 }
 GetUserById(string userId)
 {
     using (ChirpyRDataContext context = new
                                         ChirpyRDataContext(_connectionName,
                                                            _schemaName))
     {
         try
         {
             ChirpyRUser user = context.ChirpyRUsers
                                .Single <ChirpyRUser>
                                    (c => c.UserId == userId);
             if (user != null)
             {
                 return(user.ToDomainEntity());
             }
         }
         catch (InvalidOperationException ex)
         {
             return(null);
             // Log the exception here
         }
     }
     return(null);
 }