/// <summary> /// 通过ID登录,一般用于SSO /// </summary> /// <param name="userId"></param> /// <param name="ipAddress"></param> public void IncomeLogin(int userId, string ipAddress) { var success = Execute(db => { AssertUtil.AreBigger(userId, 0, "参数错误,你想怎么样"); AssertUtil.NotNullOrWhiteSpace(ipAddress, "你想怎么样"); var user = db.User.FirstOrDefault(u => u.State == false && u.Id == userId); AssertUtil.IsNotNull(user, "账号不存在或密码错误"); //上次登录时间和ip地址 DateTime?lastLoginTime = user.CurrentLoginTime; string lastLoginIp = user.CurrentLoginIp; //记录新的当前登录事件和上次登录时间 user.LastLoginIp = lastLoginIp; user.LastLoginTime = lastLoginTime; user.CurrentLoginTime = DateTime.Now; user.CurrentLoginIp = ipAddress; db.Entry <User>(user).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; return(db.SaveChanges() > 0); }); if (success) { CreateCache <User>(); } }
/// <summary> /// 修改等级 /// </summary> /// <param name="id"></param> /// <param name="levelName"></param> /// <param name="levelStart"></param> /// <param name="levelEnd"></param> /// <param name="levelIcon"></param> /// <param name="createUserId"></param> /// <returns></returns> public bool UpdateUserLevel(int id, string levelName, int levelStart, int levelEnd, string levelIcon, int createUserId) { AssertUtil.AreBigger(id, 0, LanguageUtil.Translate("api_Repository_UserLevel_UpdateUserLevel_id_AreBigger")); AssertUtil.NotNullOrWhiteSpace(levelName, LanguageUtil.Translate("api_Repository_UserLevel_UpdateUserLevel_levelName_NotNullOrWhiteSpace")); AssertUtil.AreBigger(levelEnd, levelStart, LanguageUtil.Translate("api_Repository_UserLevel_UpdateUserLevel_levelEnd_AreBigger")); AssertUtil.NotNullOrWhiteSpace(levelIcon, LanguageUtil.Translate("api_Repository_UserLevel_UpdateUserLevel_levelIcon_NotNullOrWhiteSpace")); AssertUtil.AreBigger(createUserId, 0, LanguageUtil.Translate("api_Repository_UserLevel_UpdateUserLevel_createUserId_AreBigger")); var success = Execute <bool>(db => { var manage = db.Manage.FirstOrDefault(m => m.State == false && m.Id == createUserId); AssertUtil.IsNotNull(manage, LanguageUtil.Translate("api_Repository_UserLevel_UpdateUserLevel_createUserId_IsNotNull")); var userLevel = db.UserLevel.FirstOrDefault(ul => ul.State == false && ul.Id == id); AssertUtil.IsNotNull(userLevel, LanguageUtil.Translate("api_Repository_UserLevel_UpdateUserLevel_id_IsNotNull")); userLevel.UpdateTime = DateTime.Now; userLevel.UpdateUserId = manage.Id; userLevel.LevelEnd = levelEnd; userLevel.LevelIcon = levelIcon; userLevel.LevelName = levelName; userLevel.LevelStart = levelStart; db.Entry(userLevel).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; return(db.SaveChanges() > 0); }); if (success) { CreateCache <UserLevel>(); } return(success); }
/// <summary> /// 取消收藏所有视频 /// Author : AxOne /// </summary> /// <param name="userId"></param> /// <returns></returns> public bool DelAllCollectVideo(int userId) { var success = Execute(db => { AssertUtil.AreBigger(userId, 0, LanguageUtil.Translate("api_Repository_UserCollect_DelAllCollectVideo_userId")); var user = db.User.FirstOrDefault(u => u.State == false && u.Id == userId); AssertUtil.IsNotNull(user, LanguageUtil.Translate("api_Repository_UserCollect_DelAllCollectVideo_user")); var collects = db.UserCollect.Where(c => c.UserId == userId && c.State == false).ToList(); AssertUtil.IsNotNull(collects, LanguageUtil.Translate("api_Repository_UserCollect_DelAllCollectVideo_collects")); foreach (var collect in collects) { var video = db.Video.FirstOrDefault(v => v.State == false && v.Id == collect.VideoId && v.VideoState == 3); AssertUtil.IsNotNull(video, LanguageUtil.Translate("api_Repository_UserCollect_DelAllCollectVideo_video")); collect.UpdateUserId = user.Id; collect.UpdateTime = DateTime.Now; collect.State = true; db.Entry(collect).State = EntityState.Modified; video.CollectionCount = video.CollectionCount - 1; db.Entry(video).State = EntityState.Modified; } db.Configuration.ValidateOnSaveEnabled = false; return(db.SaveChanges() > 0); }); if (success) { CreateCache <UserCollect>(); CreateCache <Video>(); } return(success); }
/// <summary> /// 取消赞评论 /// </summary> /// <param name="userId"></param> /// <param name="commentId"></param> /// <returns></returns> public bool CancelPraisesComment(int userId, int commentId) { var success = Execute <bool>((db) => { AssertUtil.AreBigger(userId, 0, LanguageUtil.Translate("api_Repository_Praises_CancelPraisesComment_userId")); AssertUtil.AreBigger(commentId, 0, LanguageUtil.Translate("api_Repository_Praises_CancelPraisesComment_commentId")); var user = db.User.FirstOrDefault(u => u.State == false && u.Id == userId); AssertUtil.IsNotNull(user, LanguageUtil.Translate("api_Repository_Praises_CancelPraisesComment_user")); Comments comment = db.Comments.FirstOrDefault(c => c.State >= 0 && c.Id == commentId && c.EntityType == (int)CommentEnum.Video); AssertUtil.IsNotNull(comment, LanguageUtil.Translate("api_Repository_Praises_CancelPraisesComment_comment")); AssertUtil.AreNotEqual(user.Id, comment.CreateUserId, LanguageUtil.Translate("api_Repository_Praises_CancelPraisesComment_notPraisesSelf")); var cancelPraises = db.Praises.FirstOrDefault(p => p.State == false && p.CreateUserId == user.Id && p.ThemeId == comment.Id && p.ThemeTypeId == 2); AssertUtil.IsNull(cancelPraises, LanguageUtil.Translate("api_Repository_Praises_CancelPraisesComment_cancelPraises")); var praises = db.Praises.FirstOrDefault(p => p.State == true && p.CreateUserId == user.Id && p.ThemeId == comment.Id && p.ThemeTypeId == 2); AssertUtil.IsNotNull(praises, LanguageUtil.Translate("api_Repository_Praises_CancelPraisesComment_praises")); db.Entry <Praises>(praises).State = EntityState.Deleted; comment.PraisesNum = comment.PraisesNum - 1;//点赞次数减一 db.Entry <Comments>(comment).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; return(db.SaveChanges() > 0); }); if (success) { CreateCache <Praises>(); CreateCache <Comments>(); } return(success); }
/// <summary> /// 取消收藏视频,无ID编号时 /// Author : xuzhoujie /// </summary> /// <param name="id"></param> /// <param name="userId"></param> /// <param name="videoId"></param> /// <returns></returns> public bool UnCollectVideo(int userId, int videoId) { var success = Execute <bool>((db) => { AssertUtil.AreBigger(userId, 0, LanguageUtil.Translate("api_Repository_UserCollect_UnCollectVideo_userId_notId")); AssertUtil.AreBigger(videoId, 0, LanguageUtil.Translate("api_Repository_UserCollect_UnCollectVideo_videoId_notId")); var user = db.User.FirstOrDefault(u => u.State == false && u.Id == userId); AssertUtil.IsNotNull(user, LanguageUtil.Translate("api_Repository_UserCollect_UnCollectVideo_user_notId")); var video = db.Video.FirstOrDefault(v => v.State == false && v.Id == videoId && v.VideoState == 3); AssertUtil.IsNotNull(video, LanguageUtil.Translate("api_Repository_UserCollect_UnCollectVideo_video_notId")); var collect = db.UserCollect.FirstOrDefault(c => c.UserId == userId && c.VideoId == videoId && c.State == false); AssertUtil.IsNotNull(collect, LanguageUtil.Translate("api_Repository_UserCollect_UnCollectVideo_collect_notId")); AssertUtil.AreNotEqual(collect.State, true, LanguageUtil.Translate("api_Repository_UserCollect_UnCollectVideo_collectState_notId")); collect.UpdateUserId = user.Id; collect.UpdateTime = DateTime.Now; collect.State = true; db.Entry(collect).State = EntityState.Modified; video.CollectionCount = video.CollectionCount - 1; db.Entry <Video>(video).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; return(db.SaveChanges() > 0); }); if (success) { CreateCache <UserCollect>(); CreateCache <Video>(); } return(success); }
/// <summary> /// 修改积分规则 /// </summary> /// <param name="id"></param> /// <param name="name"></param> /// <param name="score"></param> /// <param name="limitScore"></param> /// <param name="createUserId"></param> /// <returns></returns> public bool UpdateUserScoreRule(int id, string name, int score, int limitScore, int createUserId) { AssertUtil.AreBigger(id, 0, LanguageUtil.Translate("api_Repository_UserScoreRule_UpdateUserScoreRule_id_AreBigger")); AssertUtil.NotNullOrWhiteSpace(name, LanguageUtil.Translate("api_Repository_UserScoreRule_UpdateUserScoreRule_name_NotNullOrWhiteSpace")); AssertUtil.AreBigger(score, 0, LanguageUtil.Translate("api_Repository_UserScoreRule_UpdateUserScoreRule_score_AreBigger")); AssertUtil.AreBigger(limitScore, score, LanguageUtil.Translate("api_Repository_UserScoreRule_UpdateUserScoreRule_limitScore_AreBigger")); AssertUtil.AreBigger(createUserId, 0, LanguageUtil.Translate("api_Repository_UserScoreRule_UpdateUserScoreRule_createUserId_AreBigger")); var success = Execute <bool>(db => { var manage = db.Manage.FirstOrDefault(m => m.State == false && m.Id == createUserId); AssertUtil.IsNotNull(manage, LanguageUtil.Translate("api_Repository_UserScoreRule_UpdateUserScoreRule_createUserId_IsNotNull")); var userScoreRule = db.UserScoreRule.FirstOrDefault(ul => ul.State == false && ul.Id == id); AssertUtil.IsNotNull(userScoreRule, LanguageUtil.Translate("api_Repository_UserScoreRule_UpdateUserScoreRule_id_IsNotNull")); userScoreRule.UpdateTime = DateTime.Now; userScoreRule.UpdateUserId = manage.Id; userScoreRule.Name = name; userScoreRule.Score = score; userScoreRule.LimitScore = limitScore; db.Entry(userScoreRule).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; return(db.SaveChanges() > 0); }); if (success) { CreateCache <UserScoreRule>(); } return(success); }
/// <summary> /// 添加积分规则 /// </summary> /// <param name="name"></param> /// <param name="score"></param> /// <param name="limitScore"></param> /// <param name="createUserId"></param> /// <returns></returns> public bool CreateUserScoreRule(string name, int score, int limitScore, int createUserId) { AssertUtil.NotNullOrWhiteSpace(name, LanguageUtil.Translate("api_Repository_UserScoreRule_CreateUserScoreRule_name_NotNullOrWhiteSpace")); AssertUtil.AreBigger(score, 0, LanguageUtil.Translate("api_Repository_UserScoreRule_CreateUserScoreRule_score_AreBigger")); AssertUtil.AreBigger(limitScore, score, LanguageUtil.Translate("api_Repository_UserScoreRule_CreateUserScoreRule_limitScore_AreBigger")); AssertUtil.AreBigger(createUserId, 0, LanguageUtil.Translate("api_Repository_UserScoreRule_CreateUserScoreRule_createUserId_AreBiggere")); var success = Execute <bool>(db => { var manage = db.Manage.FirstOrDefault(m => m.State == false && m.Id == createUserId); AssertUtil.IsNotNull(manage, LanguageUtil.Translate("api_Repository_UserScoreRule_CreateUserScoreRule_createUserId_IsNotNul")); var userScoreRule = new UserScoreRule() { CreateTime = DateTime.Now, CreateUserId = manage.Id, Name = name, Score = score, LimitScore = limitScore }; db.UserScoreRule.Add(userScoreRule); return(db.SaveChanges() > 0); }); if (success) { CreateCache <UserScoreRule>(); } return(success); }
/// <summary> /// 删除空间留言 /// </summary> /// <param name="loginUserId">登录用户编号</param> /// <param name="commentId">留言内容</param> /// <returns></returns> public bool DeleteSpaceComment(int loginUserId, int commentId) { #region 验证参数是否正确 AssertUtil.AreBigger(loginUserId, 0, "用户未登录"); AssertUtil.AreBigger(commentId, 0, "回复留言不存在"); #endregion var success = Execute <bool>((db) => { #region 验证数据库是否存在 var loginUser = db.User.FirstOrDefault(u => u.State == false && u.Id == loginUserId); AssertUtil.IsNotNull(loginUser, "用户不存在或者被禁用"); var comment = db.Comments.FirstOrDefault(c => c.State >= 0 && c.Id == commentId && c.EntityType == (int)CommentEnum.User); AssertUtil.IsNotNull(comment, "回复的留言可能已经被删除或者审核不通过"); #endregion AssertUtil.AreEqual(loginUser.Id, comment.EntityId, "只有空间用户才能删除留言"); var childCommnets = db.Comments.Where(c => c.State >= (int)CommentStateEnum.Waiting && c.EntityType == (int)CommentEnum.User && c.LocalPath.StartsWith(comment.LocalPath)); foreach (var childCommnet in childCommnets) { db.Entry <Comments>(childCommnet).State = EntityState.Deleted; } db.Configuration.ValidateOnSaveEnabled = false; return(db.SaveChanges() > 0); }); if (success) { CreateCache <Comments>(); } return(success); }
/// <summary> /// 添加等级 /// </summary> /// <param name="levelName"></param> /// <param name="levelStart"></param> /// <param name="levelEnd"></param> /// <param name="levelIcon"></param> /// <param name="createUserId"></param> /// <returns></returns> public bool CreateUserLevel(string levelName, int levelStart, int levelEnd, string levelIcon, int createUserId) { AssertUtil.NotNullOrWhiteSpace(levelName, LanguageUtil.Translate("api_Repository_UserLevel_CreateUserLevel_levelName_NotNullOrWhiteSpace")); AssertUtil.AreBigger(levelEnd, levelStart, LanguageUtil.Translate("api_Repository_UserLevel_CreateUserLevel_levelEnd_AreBigger")); AssertUtil.NotNullOrWhiteSpace(levelIcon, LanguageUtil.Translate("api_Repository_UserLevel_CreateUserLevel_levelIcon_NotNullOrWhiteSpace")); AssertUtil.AreBigger(createUserId, 0, LanguageUtil.Translate("api_Repository_UserLevel_CreateUserLevel_createUserId_AreBigger")); var success = Execute <bool>(db => { var manage = db.Manage.FirstOrDefault(m => m.State == false && m.Id == createUserId); AssertUtil.IsNotNull(manage, LanguageUtil.Translate("api_Repository_UserLevel_CreateUserLevel_createUserId_IsNotNull")); var userLevel = new UserLevel() { CreateTime = DateTime.Now, CreateUserId = manage.Id, LevelEnd = levelEnd, LevelIcon = levelIcon, LevelName = levelName, LevelStart = levelStart }; db.UserLevel.Add(userLevel); return(db.SaveChanges() > 0); }); if (success) { CreateCache <UserLevel>(); } return(success); }
/// <summary> /// 订阅和取消订阅 /// </summary> /// <param name="createUserId">登录的用户编号</param> /// <param name="subscribeUserId">订阅的用户编号</param> /// <param name="careState">订阅状态</param> /// <returns></returns> public bool UserSubscribeTransaction(int createUserId, int subscribeUserId, bool careState) { var success = Execute <bool>((db) => { AssertUtil.AreBigger(createUserId, 0, "您还没有登录"); AssertUtil.AreBigger(subscribeUserId, 0, "您订阅的用户不存在"); var subscribeUser = db.User.FirstOrDefault(u => u.State == false && u.Id == createUserId); AssertUtil.IsNotNull(subscribeUser, "您还没有登录或者被禁用"); var fansUser = db.User.FirstOrDefault(u => u.State == false && u.Id == subscribeUserId); AssertUtil.IsNotNull(subscribeUser, "您订阅的用户不存在或者被禁用"); AssertUtil.AreNotEqual(createUserId, subscribeUserId, "用户不能自己订阅的自己"); //用户粉丝 var userFans = db.UserFans.FirstOrDefault(p => p.CreateUserId == createUserId && p.SubscribeUserId == subscribeUserId); if (userFans == null) { //添加 var newuserFans = new UserFans { CreateUserId = createUserId, SubscribeUserId = subscribeUserId, CreateTime = DateTime.Now, State = careState }; fansUser.FansCount += 1; subscribeUser.SubscribeNum += 1; db.UserFans.Add(newuserFans); } else { if (careState) { fansUser.FansCount -= 1; subscribeUser.SubscribeNum -= 1; } else { fansUser.FansCount += 1; subscribeUser.SubscribeNum += 1; } //修改 userFans.UpdateTime = DateTime.Now; userFans.UpdateUserId = createUserId; userFans.State = careState; db.Entry <UserFans>(userFans).State = EntityState.Modified; } db.Entry <User>(subscribeUser).State = EntityState.Modified; db.Entry <User>(fansUser).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; return(db.SaveChanges() > 0); }); if (success) { CreateCache <UserFans>(); CreateCache <User>(); } return(success); }
/// <summary> /// 检测消息类型不能小于0 /// </summary> /// <param name="userByType"></param> private void CheckUserByType(short userByType) { SystemMessageEnum systemMessageEnum; Enum.TryParse <SystemMessageEnum>(userByType.ToString(), out systemMessageEnum); int type = (int)systemMessageEnum; AssertUtil.AreBigger(type, 0, LanguageUtil.Translate("api_Business_SystemMessage_CheckUserByType")); }
/// <summary> /// 赞视频 /// </summary> /// <param name="userId"></param> /// <param name="vedioId"></param> /// <returns></returns> public int PraisesVedio(int userId, int vedioId) { var success = false; var id = Execute <int>((db) => { AssertUtil.AreBigger(userId, 0, LanguageUtil.Translate("api_Repository_Praises_PraisesVedio_userId")); AssertUtil.AreBigger(vedioId, 0, LanguageUtil.Translate("api_Repository_Praises_PraisesVedio_vedioId")); var user = db.User.FirstOrDefault(u => u.State == false && u.Id == userId); AssertUtil.IsNotNull(user, LanguageUtil.Translate("api_Repository_Praises_PraisesVedio_user")); var video = db.Video.FirstOrDefault(v => v.State == false && v.Id == vedioId); AssertUtil.IsNotNull(video, LanguageUtil.Translate("api_Repository_Praises_PraisesVedio_video")); var praises = db.Praises.FirstOrDefault(p => p.State == true && p.CreateUserId == user.Id && p.ThemeId == video.Id && p.ThemeTypeId == 2); AssertUtil.IsNull(praises, LanguageUtil.Translate("api_Repository_Praises_PraisesVedio_praises")); if (video.VideoSource) { AssertUtil.AreNotEqual(user.Id, video.CreateManageId, LanguageUtil.Translate("api_Repository_Praises_PraisesVedio_notPraisesSelf")); } var newpraises = new Praises() { CreateTime = DateTime.Now, CreateUserId = userId, ThemeId = (int)video.Id, ThemeTypeId = 2, State = true }; db.Praises.Add(newpraises); video.PraiseCount = video.PraiseCount + 1;//点赞次数加一 db.Entry <Video>(video).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; success = db.SaveChanges() > 0; return(newpraises.Id); }); if (success) { CreateCache <Praises>(); CreateCache <Video>(); } return(id); }
/// <summary> /// 删除空间留言 /// </summary> /// <param name="loginUserId">登录用户编号</param> /// <param name="ownerUserId">留言空间用户编号</param> /// <param name="commentId">留言内容</param> /// <returns></returns> public bool DeleteSpaceComment(int loginUserId, int ownerUserId, int commentId) { #region 验证参数是否正确 AssertUtil.AreBigger(loginUserId, 0, LanguageUtil.Translate("api_Repository_Comments_DeleteSpaceComment_loginUserId")); AssertUtil.AreBigger(ownerUserId, 0, LanguageUtil.Translate("api_Repository_Comments_DeleteSpaceComment_ownerUserId")); AssertUtil.AreBigger(commentId, 0, LanguageUtil.Translate("api_Repository_Comments_DeleteSpaceComment_commentId")); #endregion var success = Execute <bool>((db) => { #region 验证数据库是否存在 var loginUser = db.User.FirstOrDefault(u => u.State == false && u.Id == loginUserId); AssertUtil.IsNotNull(loginUser, LanguageUtil.Translate("api_Repository_Comments_DeleteSpaceComment_loginUser")); var toUser = db.User.FirstOrDefault(u => u.State == false && u.Id == ownerUserId); AssertUtil.IsNotNull(toUser, LanguageUtil.Translate("api_Repository_Comments_DeleteSpaceComment_toUser")); var comment = db.Comments.FirstOrDefault(c => c.State >= 0 && c.Id == commentId && c.EntityType == (int)CommentEnum.User && c.EntityId == toUser.Id); AssertUtil.IsNotNull(comment, LanguageUtil.Translate("api_Repository_Comments_DeleteSpaceComment_comment")); #endregion AssertUtil.AreEqual(loginUser.Id, comment.EntityId, LanguageUtil.Translate("api_Repository_Comments_DeleteSpaceComment_spaceUserDelete")); var childCommnets = db.Comments.Where(c => c.State >= (int)CommentStateEnum.Waiting && c.EntityType == (int)CommentEnum.User && c.LocalPath.StartsWith(comment.LocalPath)); foreach (var childCommnet in childCommnets) { db.Entry <Comments>(childCommnet).State = EntityState.Deleted; } db.Configuration.ValidateOnSaveEnabled = false; return(db.SaveChanges() > 0); }); if (success) { CreateCache <Comments>(); } return(success); }
/// <summary> /// 赞评论 /// </summary> /// <param name="userId"></param> /// <param name="commentId"></param> /// <returns></returns> public int PraisesComment(int userId, int commentId) { var success = false; var id = Execute <int>((db) => { AssertUtil.AreBigger(userId, 0, LanguageUtil.Translate("api_Repository_Praises_PraisesComment_userId")); AssertUtil.AreBigger(commentId, 0, LanguageUtil.Translate("api_Repository_Praises_PraisesComment_commentId")); var user = db.User.FirstOrDefault(u => u.State == false && u.Id == userId); AssertUtil.IsNotNull(user, LanguageUtil.Translate("api_Repository_Praises_PraisesComment_user")); Comments comment = db.Comments.FirstOrDefault(c => c.State >= 0 && c.Id == commentId && c.EntityType == (int)CommentEnum.Video); AssertUtil.IsNotNull(comment, LanguageUtil.Translate("api_Repository_Praises_PraisesComment_comment")); AssertUtil.AreNotEqual(user.Id, comment.CreateUserId, LanguageUtil.Translate("api_Repository_Praises_PraisesComment_notPraisesSelf")); var praises = db.Praises.FirstOrDefault(p => p.State == true && p.CreateUserId == user.Id && p.ThemeId == comment.Id && p.ThemeTypeId == 2); AssertUtil.IsNull(praises, LanguageUtil.Translate("api_Repository_Praises_PraisesComment_praises")); var newpraises = new Praises() { CreateTime = DateTime.Now, CreateUserId = userId, ThemeId = comment.Id, ThemeTypeId = 2, State = true }; db.Praises.Add(newpraises); comment.PraisesNum = comment.PraisesNum + 1;//点赞次数加一 db.Entry <Comments>(comment).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; success = db.SaveChanges() > 0; return(newpraises.Id); }); if (success) { CreateCache <Praises>(); CreateCache <Comments>(); } return(id); }
/// <summary> /// 检测分类编号大于0 /// </summary> /// <param name="categoryId"></param> private void CheckCategoryId(int categoryId) { AssertUtil.AreBigger(categoryId, 0, LanguageUtil.Translate("api_Business_BannerVideo_CheckCategoryId")); }
/// <summary> /// 检测消息编号不能小于0 /// </summary> /// <param name="messageId"></param> private void CheckMessageId(int messageId) { AssertUtil.AreBigger(messageId, 0, LanguageUtil.Translate("api_Business_UserCenter_Message_CheckMessageId")); }
private void CheckAlbumId(int albumId) { AssertUtil.AreBigger(albumId, 0, "专辑参数传递错误,专辑不存在!"); }
/// <summary> /// 检测板块编号不能小于0 /// </summary> /// <param name="plateId"></param> private void CheckPlateId(int plateId) { AssertUtil.AreBigger(plateId, 0, LanguageUtil.Translate("api_Business_PlateVideo_CheckPlateId")); }
/// <summary> /// 收藏视频 /// </summary> /// <param name="videoId"></param> /// <param name="userId"></param> /// <returns></returns> public bool CollectVideo(int videoId, int userId) { var success = Execute <bool>((db) => { AssertUtil.AreBigger(userId, 0, LanguageUtil.Translate("api_Repository_UserCollect_CollectVideo_userId")); AssertUtil.AreBigger(videoId, 0, LanguageUtil.Translate("api_Repository_UserCollect_CollectVideo_videoId")); var user = db.User.FirstOrDefault(u => u.State == false && u.Id == userId); AssertUtil.IsNotNull(user, LanguageUtil.Translate("api_Repository_UserCollect_CollectVideo_user")); var video = db.Video.FirstOrDefault(v => v.State == false && v.Id == videoId && v.VideoState == 3); AssertUtil.IsNotNull(video, LanguageUtil.Translate("api_Repository_UserCollect_CollectVideo_video")); var collect = db.UserCollect.FirstOrDefault(c => c.UserId == user.Id && c.VideoId == video.Id); if (collect == null) { var newCollect = new UserCollect { CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = user.Id, UpdateUserId = user.Id, UserId = userId, State = false, VideoId = (int)video.Id }; db.UserCollect.Add(newCollect); video.CollectionCount = video.CollectionCount + 1; db.Entry <Video>(video).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; var result = db.SaveChanges() > 0; if (result) { //喜欢人与上传用户不一致 if (user.Id != video.CreateManageId) { //添加消息通知 var sysMessage = new SysMessage() { Content = "表示喜欢了你的内容", CreateManageId = 1, CreateTime = DateTime.Now, EntityId = newCollect.Id, EntityType = (int)SysMessageEnum.UserCollect, SendType = (int)SystemMessageEnum.ByUser, ToUserIds = video.CreateManageId + ""//通知上传者 }; db.SysMessage.Add(sysMessage); result = db.SaveChanges() > 0; } } return(result); } else { AssertUtil.AreNotEqual(collect.State, false, LanguageUtil.Translate("api_Repository_UserCollect_CollectVideo_collectState")); collect.UpdateUserId = user.Id; collect.UpdateTime = DateTime.Now; collect.State = false; db.Entry(collect).State = EntityState.Modified; video.CollectionCount = video.CollectionCount + 1; db.Entry <Video>(video).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; var result = db.SaveChanges() > 0; if (result) { //喜欢人与上传用户不一致 if (user.Id != video.CreateManageId) { //添加消息通知 var sysMessage = new SysMessage() { Content = "表示喜欢了你的内容", CreateManageId = 1, CreateTime = DateTime.Now, EntityId = collect.Id, EntityType = (int)SysMessageEnum.UserCollect, SendType = (int)SystemMessageEnum.ByUser, ToUserIds = video.CreateManageId + ""//通知上传者 }; db.SysMessage.Add(sysMessage); result = db.SaveChanges() > 0; } } return(result); } }); if (success) { CreateCache <UserCollect>(); CreateCache <Video>(); CreateCache <SysMessage>(); } return(success); }
/// <summary> /// 发表视频评论 /// </summary> /// <param name="loginUserId"></param> /// <param name="commentContent"></param> /// <param name="videoId"></param> /// <returns></returns> public int CreateVideoComment(int loginUserId, int videoId, string commentContent) { var success = false; #region 验证参数是否正确 AssertUtil.AreBigger(loginUserId, 0, LanguageUtil.Translate("api_Repository_Comments_CreateVideoComment_loginUserId")); AssertUtil.AreBigger(videoId, 0, LanguageUtil.Translate("api_Repository_Comments_CreateVideoComment_videoId")); AssertUtil.NotNullOrWhiteSpace(commentContent, LanguageUtil.Translate("api_Repository_Comments_CreateVideoComment_commentContent")); AssertUtil.AreSmallerOrEqual(commentContent.Length, 140, LanguageUtil.Translate("api_Repository_Comments_CreateVideoComment_commentContentLength")); #endregion var commentId = Execute <int>((db) => { #region 验证数据库是否存在 var loginUser = db.User.FirstOrDefault(u => u.State == false && u.Id == loginUserId); AssertUtil.IsNotNull(loginUser, LanguageUtil.Translate("api_Repository_Comments_CreateVideoComment_loginUser")); var video = db.Video.FirstOrDefault(v => v.State == false && v.Id == videoId); AssertUtil.IsNotNull(video, LanguageUtil.Translate("api_Repository_Comments_CreateVideoComment_video")); #endregion var comment = new Comments() { FromUserId = loginUser.Id, ToUserId = 0, EntityType = (int)CommentEnum.Video, EntityId = (int)video.Id, Content = commentContent, CreateUserId = loginUser.Id, CreateTime = DateTime.Now, LocalPath = ""//发表视频评论的位置为最大"" }; db.Comments.Add(comment); //视频评论次数加一 video.CommentCount = video.CommentCount + 1; db.Entry <Video>(video).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; success = db.SaveChanges() > 0; if (success) { comment.LocalPath = GetLocalPath(comment.LocalPath, comment.Id); db.Entry <Comments>(comment).State = EntityState.Modified; //发表评论的人不是上传者 if (video.CreateManageId != loginUser.Id) { //添加消息通知 var sysMessage = new SysMessage() { Content = comment.Content, CreateManageId = 1, CreateTime = DateTime.Now, EntityId = comment.Id, EntityType = (int)SysMessageEnum.VideoComment, SendType = (int)SystemMessageEnum.ByUser, ToUserIds = video.CreateManageId + ""//通知上传者 }; db.SysMessage.Add(sysMessage); } db.Configuration.ValidateOnSaveEnabled = false; success = db.SaveChanges() > 0; } return(comment.Id); }); if (success) { CreateCache <Video>(); CreateCache <Comments>(); CreateCache <SysMessage>(); } return(commentId); }
/// <summary> /// 检测视频编号不小于0 /// </summary> /// <param name="vedioId"></param> private void CheckVedioId(int vedioId) { AssertUtil.AreBigger(vedioId, 0, LanguageUtil.Translate("api_Business_Praises_CheckVedioId")); }
/// <summary> /// 检测显示数量大于0 /// </summary> /// <param name="pageSize"></param> private void CheckPageSize(int pageSize) { AssertUtil.AreBigger(pageSize, 0, LanguageUtil.Translate("api_Business_Plate_CheckPageSize")); }
/// <summary> /// 回复视频评论 /// </summary> /// <param name="loginUserId"></param> /// <param name="commentContent"></param> /// <param name="videoId"></param> /// <param name="commentId"></param> /// <returns></returns> public int ReplyVideoComment(int loginUserId, int videoId, int commentId, string commentContent) { var success = false; #region 验证参数是否正确 AssertUtil.AreBigger(loginUserId, 0, LanguageUtil.Translate("api_Repository_Comments_ReplyVideoComment_loginUserId")); AssertUtil.AreBigger(videoId, 0, LanguageUtil.Translate("api_Repository_Comments_ReplyVideoComment_videoId")); AssertUtil.AreBigger(commentId, 0, LanguageUtil.Translate("api_Repository_Comments_ReplyVideoComment_commentId")); AssertUtil.NotNullOrWhiteSpace(commentContent, LanguageUtil.Translate("api_Repository_Comments_ReplyVideoComment_commentContent")); AssertUtil.AreSmallerOrEqual(commentContent.Length, 140, LanguageUtil.Translate("api_Repository_Comments_ReplyVideoComment_commentContentLength")); #endregion var id = Execute <int>((db) => { #region 验证数据库是否存在 var loginUser = db.User.FirstOrDefault(u => u.State == false && u.Id == loginUserId); AssertUtil.IsNotNull(loginUser, LanguageUtil.Translate("api_Repository_Comments_ReplyVideoComment_loginUser")); var video = db.Video.FirstOrDefault(v => v.State == false && v.Id == videoId); AssertUtil.IsNotNull(video, LanguageUtil.Translate("api_Repository_Comments_ReplyVideoComment_video")); var parentComment = db.Comments.FirstOrDefault(c => c.State >= 0 && c.Id == commentId && c.EntityType == (int)CommentEnum.Video && c.EntityId == video.Id); AssertUtil.IsNotNull(parentComment, LanguageUtil.Translate("api_Repository_Comments_ReplyVideoComment_parentComment")); #endregion AssertUtil.AreNotEqual(loginUser.Id, parentComment.FromUserId, LanguageUtil.Translate("api_Repository_Comments_ReplyVideoComment_notReplySelf")); var comment = new Comments() { FromUserId = loginUser.Id, ToUserId = parentComment.FromUserId, EntityType = (int)CommentEnum.Video, EntityId = (int)video.Id, Content = commentContent, CreateUserId = loginUser.Id, CreateTime = DateTime.Now, ParentId = parentComment.Id, LocalPath = GetLocalPath(parentComment.LocalPath, parentComment.Id) }; db.Comments.Add(comment); //回复次数加一 parentComment.ReplyNum++; db.Entry <Comments>(parentComment).State = EntityState.Modified; video.CommentCount = video.CommentCount + 1; db.Entry <Video>(video).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; success = db.SaveChanges() > 0; if (success) { comment.LocalPath = GetLocalPath(parentComment.LocalPath, comment.Id); db.Entry <Comments>(comment).State = EntityState.Modified; //添加消息通知 var sysMessage = new SysMessage() { Content = comment.Content, CreateManageId = 1, CreateTime = DateTime.Now, EntityId = comment.Id, EntityType = (int)SysMessageEnum.VideoComment, SendType = (int)SystemMessageEnum.ByUser }; //回复的人不是上传者 if (video.CreateManageId != loginUser.Id && parentComment.FromUserId != video.CreateManageId) { sysMessage.ToUserIds = video.CreateManageId + "|" + parentComment.FromUserId; //通知上传者和接受者,上传者在自己视频下回复不通知 } else { sysMessage.ToUserIds = parentComment.FromUserId + ""; //通知接受者 } db.SysMessage.Add(sysMessage); db.Configuration.ValidateOnSaveEnabled = false; success = db.SaveChanges() > 0; } return(comment.Id); }); if (success) { CreateCache <Video>(); CreateCache <Comments>(); CreateCache <SysMessage>(); } return(id); }
/// <summary> /// 检测编号不能小于0 /// </summary> private void CheckId() { AssertUtil.AreBigger(UserId, 0, LanguageUtil.Translate("api_Business_Manage_CheckId")); }
/// <summary> /// 用户空间留言 /// </summary> /// <param name="loginUserId">登录用户编号</param> /// <param name="ownerUserId">留言空间用户编号</param> /// <param name="commentContent">留言内容</param> /// <returns></returns> public int CreateSpaceComment(int loginUserId, int ownerUserId, string commentContent) { var success = false; #region 验证输入 AssertUtil.AreBigger(loginUserId, 0, LanguageUtil.Translate("api_Repository_Comments_CreateSpaceComment_loginUserId")); AssertUtil.AreBigger(ownerUserId, 0, LanguageUtil.Translate("api_Repository_Comments_CreateSpaceComment_ownerUserId")); AssertUtil.NotNullOrWhiteSpace(commentContent, LanguageUtil.Translate("api_Repository_Comments_CreateSpaceComment_commentContent")); AssertUtil.AreSmallerOrEqual(commentContent.Length, 140, LanguageUtil.Translate("api_Repository_Comments_CreateSpaceComment_commentContentLength")); #endregion var id = Execute <int>((db) => { #region 验证数据库是否存在 var loginUser = db.User.FirstOrDefault(u => u.State == false && u.Id == loginUserId); AssertUtil.IsNotNull(loginUser, LanguageUtil.Translate("api_Repository_Comments_CreateSpaceComment_loginUser")); var toUser = db.User.FirstOrDefault(u => u.State == false && u.Id == ownerUserId); AssertUtil.IsNotNull(toUser, LanguageUtil.Translate("api_Repository_Comments_CreateSpaceComment_toUser")); #endregion var comment = new Comments() { FromUserId = loginUser.Id, ToUserId = toUser.Id, EntityType = (int)CommentEnum.User, EntityId = (int)toUser.Id, Content = commentContent, CreateUserId = loginUser.Id, CreateTime = DateTime.Now, LocalPath = ""//发表视频评论的位置为最大"" }; db.Comments.Add(comment); success = db.SaveChanges() > 0; if (success) { comment.LocalPath = GetLocalPath(comment.LocalPath, comment.Id); db.Entry <Comments>(comment).State = EntityState.Modified; //留言用户不是自己 if (toUser.Id != loginUser.Id) { //添加消息通知 var sysMessage = new SysMessage() { Content = comment.Content, CreateManageId = 1, CreateTime = DateTime.Now, EntityId = comment.Id, EntityType = (int)SysMessageEnum.SpaceComment, SendType = (int)SystemMessageEnum.ByUser, ToUserIds = toUser.Id + "" //通知空间所属者 }; db.SysMessage.Add(sysMessage); } db.Configuration.ValidateOnSaveEnabled = false; success = db.SaveChanges() > 0; } return(comment.Id); }); if (success) { CreateCache <Comments>(); CreateCache <SysMessage>(); } return(id); }
/// <summary> /// 检测板览图编号大于0 /// </summary> /// <param name="id"></param> private void CheckId(int id) { AssertUtil.AreBigger(id, 0, LanguageUtil.Translate("api_Business_BannerVideo_CheckId")); }
/// <summary> /// 检测videoId不能小于0 /// </summary> /// <param name="videoId"></param> private void CheckVideoId(int videoId) { AssertUtil.AreBigger(videoId, 0, LanguageUtil.Translate("api_Business_Comment_CheckVideoId")); }
/// <summary> /// 回复用户留言 /// </summary> /// <param name="loginUserId">登录用户编号</param> /// <param name="commentContent">留言内容</param> /// <param name="ownerUserId">留言的用户空间用户编号</param> /// <param name="commentId">留言编号</param> /// <returns></returns> public int ReplySpaceComment(int loginUserId, int ownerUserId, int commentId, string commentContent) { var success = false; #region 验证输入 AssertUtil.AreBigger(loginUserId, 0, LanguageUtil.Translate("api_Repository_Comments_ReplySpaceComment_loginUserId")); AssertUtil.AreBigger(ownerUserId, 0, LanguageUtil.Translate("api_Repository_Comments_ReplySpaceComment_ownerUserId")); AssertUtil.AreBigger(commentId, 0, LanguageUtil.Translate("api_Repository_Comments_ReplySpaceComment_commentId")); AssertUtil.NotNullOrWhiteSpace(commentContent, LanguageUtil.Translate("api_Repository_Comments_ReplySpaceComment_commentContent")); AssertUtil.AreSmallerOrEqual(commentContent.Length, 140, LanguageUtil.Translate("api_Repository_Comments_ReplySpaceComment_commentContentLength")); #endregion var id = Execute <int>((db) => { #region 验证数据库是否存在 var loginUser = db.User.FirstOrDefault(u => u.State == false && u.Id == loginUserId); AssertUtil.IsNotNull(loginUser, LanguageUtil.Translate("api_Repository_Comments_ReplySpaceComment_loginUser")); var toUser = db.User.FirstOrDefault(u => u.State == false && u.Id == ownerUserId); AssertUtil.IsNotNull(toUser, LanguageUtil.Translate("api_Repository_Comments_ReplySpaceComment_toUser")); var parentComment = db.Comments.FirstOrDefault(c => c.State >= 0 && c.Id == commentId && c.EntityType == (int)CommentEnum.User && c.EntityId == toUser.Id); AssertUtil.IsNotNull(parentComment, LanguageUtil.Translate("api_Repository_Comments_ReplySpaceComment_parentComment")); #endregion AssertUtil.AreNotEqual(loginUser.Id, parentComment.FromUserId, LanguageUtil.Translate("api_Repository_Comments_ReplySpaceComment_notReplySelf")); var comment = new Comments() { FromUserId = loginUser.Id, ToUserId = parentComment.FromUserId, EntityType = (int)CommentEnum.User, EntityId = toUser.Id, Content = commentContent, CreateUserId = loginUser.Id, CreateTime = DateTime.Now, ParentId = parentComment.Id, LocalPath = GetLocalPath(parentComment.LocalPath, parentComment.Id) }; db.Comments.Add(comment); parentComment.ReplyNum = parentComment.ReplyNum + 1; db.Entry(parentComment).State = EntityState.Modified; db.Configuration.ValidateOnSaveEnabled = false; success = db.SaveChanges() > 0; if (success) { comment.LocalPath = GetLocalPath(parentComment.LocalPath, comment.Id); db.Entry <Comments>(comment).State = EntityState.Modified; //添加消息通知 var sysMessage = new SysMessage() { Content = comment.Content, CreateManageId = 1, CreateTime = DateTime.Now, EntityId = comment.Id, EntityType = (int)SysMessageEnum.SpaceComment, SendType = (int)SystemMessageEnum.ByUser }; //回复留言不是空间所属者 if (toUser.Id != loginUser.Id && parentComment.FromUserId != toUser.Id) { sysMessage.ToUserIds = toUser.Id + "|" + parentComment.FromUserId;//通知空间所属者和接受者 } else { sysMessage.ToUserIds = parentComment.FromUserId + "";////通知接受者 } db.SysMessage.Add(sysMessage); db.Configuration.ValidateOnSaveEnabled = false; success = db.SaveChanges() > 0; } return(comment.Id); }); if (success) { CreateCache <Comments>(); CreateCache <SysMessage>(); } return(id); }
/// <summary> /// 检测分类编号不小于0 /// </summary> /// <param name="id"></param> private void CheckIdBiggerZero(int id) { AssertUtil.AreBigger(id, 0, LanguageUtil.Translate("api_Business_Dictionary_CheckIdBiggerZero")); }
/// <summary> /// 检测评论编号不小于0 /// </summary> /// <param name="commentId"></param> private void CheckCommentId(int commentId) { AssertUtil.AreBigger(commentId, 0, LanguageUtil.Translate("api_Business_Praises_CheckCommentId")); }