Exemple #1
0
        /// <summary>
        /// 发帖
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="content"></param>
        /// <param name="imgPath"></param>
        /// <param name="loaction"></param>
        /// <returns></returns>
        public long Add(long userId, string content, string imgPath, string loaction)
        {
            PostEntity post = new PostEntity
            {
                Id             = RandomHelper.CreateId(15),
                UserId         = userId,
                Caption        = content,
                DisplayUrl     = imgPath,
                ShortCode      = RandomHelper.CreatePostCode(),
                CreateDateTime = DateTime.Now,
                Location       = loaction,
            };

            using (InShareContext db = new InShareContext())
            {
                BaseService <TagEntity> tagService = new BaseService <TagEntity>(db);
                foreach (var tagName in StringHelper.GetTagList(content))
                {
                    //ToDo:应该减少查询次数
                    var tag = tagService.GetAll().FirstOrDefault(t => t.Name == tagName);
                    if (tag == null)
                    {
                        post.Tags.Add(new TagEntity {
                            Name = tagName
                        });
                    }
                    else
                    {
                        post.Tags.Add(tag);
                    }
                }
                BaseService <PostEntity> baseService = new BaseService <PostEntity>(db);
                while (baseService.GetAll().Any(p => p.ShortCode == post.ShortCode))
                {
                    post.ShortCode = RandomHelper.CreatePostCode();
                }
                while (baseService.GetAll().Any(p => p.Id == post.Id))
                {
                    post.Id = RandomHelper.CreateId(15);
                }
                db.Posts.Add(post);
                db.SaveChanges();
                return(post.Id);
            }
        }
Exemple #2
0
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="fullName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public long Add(string userName, string fullName, string password)
        {
            long       id   = RandomHelper.CreateId(10);
            string     salt = RandomHelper.CreateSalt();
            UserEntity user = new UserEntity
            {
                Id       = id,
                UserName = userName,
                FullName = fullName,
                Profile  = new UserProfileEntity
                {
                    Id           = id,
                    Password     = EncryptHelper.MD5Encrypt(id + password + salt),
                    PasswordSalt = salt,
                }
            };

            using (InShareContext db = new InShareContext())
            {
                BaseService <UserEntity> baseService = new BaseService <UserEntity>(db);
                while (true)
                {
                    if (baseService.IsExist(user.Id))
                    {
                        user.Id = user.Profile.Id = RandomHelper.CreateId(10);
                    }
                    else
                    {
                        break;
                    }
                }
                db.Users.Add(user);
                db.SaveChanges();
                return(id);
            }
        }