/// <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); } }
/// <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); } }