public void ViewModelToBusinessObject_Empty_Id()
 {
     var user = new UserModel();
     user.Id = new BoRef();
     UserBo userBo = Mapper.Map<UserModel, UserBo>(user);
     Assert.That(userBo.Id, Is.Not.EqualTo(ObjectId.Empty));
 }
        public MicropostsForUserModel GetMicropostsForUser(UserModel user)
        {
            var micropostsForUser = new MicropostsForUserModel();
            micropostsForUser.User = user;

            var micropostOwners = user.Microposts
                                      .Select(m => new MicropostOwnerModel {Owner = user, Micropost = m})
                                      .ToList();

            foreach (BoRef userId in user.Following)
            {
                var userBo = _repository.FindById<UserBo>(userId);
                UserModel followingUser = Mapper.Map<UserBo, UserModel>(userBo);
                if (followingUser != null)
                {
                    var micropostsFollowOwner = followingUser.Microposts
                                                             .Where(m => m != null)
                                                             .Select(m => new MicropostOwnerModel { Owner = followingUser, Micropost = m })
                                                             .ToList();
                    micropostOwners.AddRange(micropostsFollowOwner);
                }
            }

            micropostsForUser.Microposts = micropostOwners.OrderByDescending(mo => mo.Micropost.CreatedAt);
            return micropostsForUser;
        }
 public void ViewModelToBusinessObject_Email()
 {
     var user = new UserModel();
     user.Email = "*****@*****.**";
     UserBo userBo = Mapper.Map<UserModel, UserBo>(user);
     Assert.That(userBo.Email, Is.EqualTo(user.Email));
 }
 public bool Save(UserModel user, string micropostContent)
 {
     UserBo userBo = Mapper.Map<UserModel, UserBo>(user);
     var micropost = new MicropostModel { Content = micropostContent };
     MicropostBo micropostBo = Mapper.Map<MicropostModel, MicropostBo>(micropost);
     userBo.Microposts.Add(micropostBo);
     return _repository.Save(userBo);
 }
 public MicropostModel SaveNew(UserModel user, string micropostContent)
 {
     UserBo userBo = Mapper.Map<UserModel, UserBo>(user);
     var micropost = new MicropostModel { Content = micropostContent };
     MicropostBo micropostBo = Mapper.Map<MicropostModel, MicropostBo>(micropost);
     userBo.Microposts.Add(micropostBo);
     bool saved = _repository.Save(userBo);
     return (saved) ? Mapper.Map<MicropostBo, MicropostModel>(micropostBo) : new MicropostModel();
 }
 public bool Delete(UserModel user, BoRef micropostId)
 {
     var userBo = _repository.FindById<UserBo>(user.Id);
     var micropostOid = ObjectIdConverter.ConvertBoRefToObjectId(micropostId);
     MicropostBo micropostBo = userBo.Microposts.FirstOrDefault(m => m.Id == micropostOid);
     if (micropostBo != null)
     {
         userBo.Microposts.Remove(micropostBo);
         return _repository.Save(userBo);
     }
     return false;
 }
        public ActionResult SignIn(UserModel user)
        {
            UserModel userLogged = _userBS.Login(user);
            if (userLogged.Id.IsEmpty())
            {
                ViewBag.FlashMessage = "Invalid email/password combination.";
                ViewBag.FlashClass = "error";
                return View(user);
            }

            _userBS.Authenticate(userLogged);

            if (TempData.ContainsKey(CustomAuthentication.RedirectKey))
            {
                string returnUrl = TempData[CustomAuthentication.RedirectKey].ToString();
                TempData.Remove(CustomAuthentication.RedirectKey);
                return Redirect(returnUrl);
            }
            return RedirectToAction("Show", "Users", new { id = userLogged.Id.Value });
        }
Exemple #8
0
 public bool Follow(BoRef loggedId, UserModel userToFollow)
 {
     bool result = false;
     var loggedUserBo = _repository.FindById<UserBo>(loggedId);
     var followUserBo = _repository.FindById<UserBo>(userToFollow.Id);
     if (loggedUserBo != null && followUserBo != null)
     {
         //TODO: Transactional?
         if (!loggedUserBo.Following.Contains(followUserBo.Id))
         {
             loggedUserBo.Following.Add(followUserBo.Id);
             result = _repository.Save(loggedUserBo);
         }
         if (result && !followUserBo.Followers.Contains(loggedUserBo.Id))
         {
             followUserBo.Followers.Add(loggedUserBo.Id);
             result = _repository.Save(followUserBo);
         }
     }
     return result;
 }
 public static string GetAvatarPath(UserModel user)
 {
     return "~/Content/images/avatars/" + GetAvatarName(user);
 }
 private string FormatAvatarName(UserModel user, HttpPostedFileBase file)
 {
     return string.Format("avatar_{0}.{1}", user.Id.Value, file.ContentType.Split('/')[1]);
 }
 private static string GetAvatarName(UserModel user)
 {
     return (string.IsNullOrEmpty(user.Avatar) || user.Id.IsEmpty())
             ? "noavatar.png"
             : user.Avatar;
 }
        public ActionResult Update(UserModel user, HttpPostedFileBase avatarFile)
        {
            UserModel loggedUser = _userBS.GetUser(user.Id);
            if (loggedUser.Email != user.Email &&
                _userBS.IsEmailUsedBySomeone(user))
            {
                ViewBag.FlashMessage = "Email is already used by someone.";
                ViewBag.FlashClass = "alert";
                return View("Settings", user);
            }

            if (TryUpdateModel(loggedUser))
            {
                bool avatarChanged = (avatarFile != null && avatarFile.ContentLength > 0);
                if (avatarChanged)
                {
                    loggedUser.Avatar = FormatAvatarName(loggedUser, avatarFile);
                    string path = Server.MapPath(GetAvatarPath(loggedUser));
                    avatarFile.SaveAs(path);
                }
                loggedUser = _userBS.Save(loggedUser, true);
            }
            return RedirectToAction("Show", "Users", new { id = loggedUser.Id.Value });
        }
Exemple #13
0
 public UserModel Save(UserModel user, bool updatePassword)
 {
     UserBo userBo = Mapper.Map<UserModel, UserBo>(user);
     if (updatePassword)
     {
         IHashSalt hashSalt = _encryptorBS.CreatePasswordHashSalt(user.Password);
         userBo.PasswordHash = hashSalt.Hash;
         userBo.PasswordSalt = hashSalt.Salt;
     }
     if (_repository.Save(userBo))
     {
         return Mapper.Map<UserBo, UserModel>(userBo);
     }
     return new UserModel();
 }
 public void ViewModelToBusinessObject_Password()
 {
     var user = new UserModel();
     user.Password = "******";
     UserBo userBo = Mapper.Map<UserModel, UserBo>(user);
     Assert.That(userBo.PasswordHash, Is.Not.Null);
     Assert.That(user.Password, Is.Not.EqualTo(userBo.PasswordHash));
 }
 private UserModel GetUserForTest(string name, string password, string email)
 {
     var user = new UserModel();
     user.Id = new BoRef();
     user.Name = name;
     user.Password = password;
     user.Email = email;
     return user;
 }
Exemple #16
0
        public UserModel Login(UserModel user)
        {
            var userBo = _repository.FindByKeyValue<UserBo>("Email", user.Email.ToLower());
            if (userBo != null)
            {
                string hash2Authenticate = Encryptor.CreateHashedPassword(user.Password, userBo.PasswordSalt);
                if (hash2Authenticate == userBo.PasswordHash)
                {
                    return Mapper.Map<UserBo, UserModel>(userBo);
                }
            }

            user.Id = new BoRef();
            return user;
        }
 public void ViewModelToBusinessObject_Id()
 {
     var user = new UserModel();
     user.Id = new BoRef("4f5ea430ee62da0cc0df2483");
     UserBo userBo = Mapper.Map<UserModel, UserBo>(user);
     Assert.That(userBo.Id.ToString(), Is.EqualTo(user.Id.Value));
 }
Exemple #18
0
 public void Authenticate(UserModel user)
 {
     FormsAuthentication.SetAuthCookie(user.Id.Value, false);
 }
 public void ViewModelToBusinessObject_Name()
 {
     var user = new UserModel();
     user.Name = "abcde";
     UserBo userBo = Mapper.Map<UserModel, UserBo>(user);
     Assert.That(userBo.Name, Is.EqualTo(user.Name));
 }
Exemple #20
0
 public bool IsEmailUsedBySomeone(UserModel user)
 {
     UserBo thisUserBo = Mapper.Map<UserModel, UserBo>(user);
     var otherUserBo = _repository.FindByKeyValue<UserBo>("Email", thisUserBo.Email.ToLower());
     return (otherUserBo != null && thisUserBo.Id != otherUserBo.Id);
 }
        public ActionResult SignUp(UserModel user)
        {
            if (_userBS.IsEmailUsedBySomeone(user))
            {
                ViewBag.FlashMessage = "Email is already used by someone.";
                ViewBag.FlashClass = "alert";
                return View(user);
            }

            UserModel userSaved = _userBS.Save(user, true);
            if (userSaved.Id.IsEmpty())
            {
                ViewBag.FlashMessage = "Sign up failure!";
                ViewBag.FlashClass = "error";
                return View(user);
            }

            _userBS.Authenticate(userSaved);
            return RedirectToAction("Show", "Users", new { id = userSaved.Id.Value, isNewUser = true });
        }