Exemple #1
0
        public void Save(UserItem item)
        {
            var errors = item.GetValidationErrors();

            if (item.Id == 0 && item.Password.IsEmptyOrWhiteSpace())
            {
                errors.Add(new DbValidationError("Password is empty, please provide password for new user"));
            }
            errors.ThrowIfHasErrors();

            User user;

            if (item.Id == 0)
            {
                user          = Db.CreateAndAdd <User>();
                user.Password = item.Password.ToHash();
            }
            else
            {
                user = Db.Users.Single(x => x.Id == item.Id);
                if (item.Password.IsNotEmptyOrWhiteSpace())
                {
                    user.Password = item.Password.ToHash();
                }
            }
            user.Email     = item.Email;
            user.FirstName = item.FirstName;
            user.LastName  = item.LastName;
            user.Phone     = item.Phone;
            user.Role      = item.Role ?? 0;

            Db.SaveChanges();

            item.Id = user.Id;
        }