public User InsertUser(User user)
        {
            user.RowKey = Guid.NewGuid().ToString();
            user.PartitionKey = partitionKey;
            user.Timestamp = DateTime.Now;

            this.context.AddObject("Users", user);
            this.context.SaveChangesWithRetries();
            return user;
        }
        public ActionResult ApprovalRequired(User user)
        {
            if (ModelState.IsValid)
            {
                var identity = this.User.Identity as IClaimsIdentity;
                var nameId = identity.Claims.GetValue(ClaimTypes.NameIdentifier);
                var email = identity.Claims.GetValue(ClaimTypes.Email);
                user.UserId = nameId;
                user.Email = (email == null ? "(Windows Live)" : email);

                this.userRepository.InsertUser(user);
                this.emailer.SendApprovalRequestEmail(user.Name + " (" + user.Email + ")");

                return View(user);
            }
            else
            {
                return RedirectToAction("ApprovalRequired");
            }
        }