Example #1
0
        public override MiicConditionCollections visitor(PublishInfoDao publishInfoDao)
        {
            MiicConditionCollections condition = new MiicConditionCollections(MiicDBLogicSetting.No);

            MiicCondition editStatusCondition = new MiicCondition(Config.Attribute.GetSqlColumnNameByPropertyName <AddressPublishInfo, string>(o => o.EditStatus),
                                                                  ((int)MiicYesNoSetting.No).ToString(),
                                                                  DbType.String,
                                                                  MiicDBOperatorSetting.Equal);

            condition.Add(new MiicConditionLeaf(MiicDBLogicSetting.No, editStatusCondition));

            MiicConditionCollections dateCondition = new MiicConditionCollections();
            MiicCondition            yearCondition = new MiicCondition(MiicSimpleDateTimeFunction.YearFunc <AddressPublishInfo, DateTime?>(o => o.PublishTime),
                                                                       Year,
                                                                       DbType.String,
                                                                       MiicDBOperatorSetting.Equal);

            dateCondition.Add(new MiicConditionLeaf(MiicDBLogicSetting.No, yearCondition));
            if (!string.IsNullOrEmpty(Month))
            {
                MiicCondition monthCondition = new MiicCondition(MiicSimpleDateTimeFunction.MonthFunc <AddressPublishInfo, DateTime?>(o => o.PublishTime),
                                                                 Month,
                                                                 DbType.String,
                                                                 MiicDBOperatorSetting.Equal);
                dateCondition.Add(new MiicConditionLeaf(MiicDBLogicSetting.And, monthCondition));
            }
            condition.Add(dateCondition);

            //发表人是用户
            MiicCondition createrIDCondition = new MiicCondition(Config.Attribute.GetSqlColumnNameByPropertyName <AddressPublishInfo, string>(o => o.CreaterID),
                                                                 this.UserID,
                                                                 DbType.String,
                                                                 MiicDBOperatorSetting.Equal);

            condition.Add(new MiicConditionLeaf(createrIDCondition));

            return(condition);
        }
Example #2
0
        bool ICommon <CollectInfo> .Insert(CollectInfo collectInfo)
        {
            Contract.Requires <ArgumentNullException>(collectInfo != null, "参数collectInfo:不能为空!");
            Contract.Requires <ArgumentNullException>(!string.IsNullOrEmpty(collectInfo.ID), "参数collectInfo.ID:不能为空!");
            bool          result   = false;
            List <string> sqls     = new List <string>();
            string        message  = string.Empty;
            string        message1 = string.Empty;
            string        message2 = string.Empty;
            string        message3 = string.Empty;
            IPublishInfo  Itemp    = new PublishInfoDao();

            sqls.Add(DBService.InsertSql(collectInfo, out message1));
            try
            {
                PublishInfo temp = ((ICommon <PublishInfo>)Itemp).GetInformation(collectInfo.PublishID);
                sqls.Add(DBService.UpdateSql(new PublishInfo()
                {
                    ID         = collectInfo.PublishID,
                    CollectNum = temp.CollectNum + 1
                }, out message2));
                Notice.MessageInfo messageInfo = new Notice.MessageInfo()
                {
                    ID            = Guid.NewGuid().ToString(),
                    PublisherID   = collectInfo.CollectorID,
                    PublisherName = collectInfo.CollectorName,
                    PublishTime   = collectInfo.CollectTime,
                    PublishID     = collectInfo.PublishID,
                    NoticerID     = temp.CreaterID,
                    NoticerName   = temp.CreaterName,
                    ReadStatus    = ((int)MiicReadStatusSetting.UnRead).ToString(),
                    Source        = ((int)Miic.Friends.Common.Setting.BusinessTypeSetting.Community).ToString(),
                    MessageType   = ((int)Miic.Friends.Behavior.Setting.BehaviorTypeSetting.Collect).ToString()
                };
                if (collectInfo.CollectorID != temp.CreaterID)
                {
                    sqls.Add(DBService.InsertSql(messageInfo, out message3));
                }
                result = dbService.excuteSqls(sqls, out message);
                //积分
                sqls.Add(DBService.InsertSql <UserScopeHistory>(new UserScopeHistory()
                {
                    ID         = Guid.NewGuid().ToString(),
                    BusinessID = collectInfo.ID,
                    CreateTime = DateTime.Now,
                    GetWay     = ((int)GetWayTypeSetting.Behavior).ToString(),
                    Score      = ScoreConfig.Score.BehaviorScore,
                    ServiceID  = ScoreConfig.ServiceID,
                    UserID     = collectInfo.CollectorID,
                    UserName   = collectInfo.CollectorName
                }, out message));
                if (result == true)
                {
                    InsertCache(collectInfo);
                    lock (syncRoot)
                    {
                        if (PublishInfoDao.items.Find(o => o.ID == collectInfo.PublishID) != null)
                        {
                            PublishInfoDao.items.Find(o => o.ID == collectInfo.PublishID).CollectNum = temp.CollectNum + 1;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Config.IlogicLogService.Write(new LogicLog()
                {
                    AppName       = Config.AppName,
                    ClassName     = ClassName,
                    NamespaceName = NamespaceName,
                    MethodName    = MethodBase.GetCurrentMethod().Name,
                    Message       = ex.Message,
                    Oper          = Config.Oper
                });
            }

            return(result);
        }
Example #3
0
        bool ICommon <CommentInfo> .Delete(string id)
        {
            Contract.Requires <ArgumentNullException>(!string.IsNullOrEmpty(id), "参数id:不能为空");
            bool          result   = false;
            List <string> sqls     = new List <string>();
            string        message  = string.Empty;
            string        message1 = string.Empty;
            string        message2 = string.Empty;
            IPublishInfo  Itemp    = new PublishInfoDao();

            try
            {
                CommentInfo tempCommentInfo = ((ICommon <CommentInfo>) this).GetInformation(id);
                PublishInfo tempPublishInfo = ((ICommon <PublishInfo>)Itemp).GetInformation(tempCommentInfo.PublishID);
                sqls.Add(DBService.DeleteSql(new CommentInfo()
                {
                    ID = id
                }, out message1));
                sqls.Add(DBService.UpdateSql(new PublishInfo()
                {
                    ID         = tempCommentInfo.PublishID,
                    CommentNum = tempPublishInfo.CommentNum - 1
                }, out message2));
                //删除级联noticeInfo
                MiicConditionCollections noticeCondition    = new MiicConditionCollections(MiicDBLogicSetting.No);
                MiicCondition            commentIDCondition = new MiicCondition(Config.Attribute.GetSqlColumnNameByPropertyName <NoticeInfo, string>(o => o.CommentID),
                                                                                id,
                                                                                DbType.String,
                                                                                MiicDBOperatorSetting.Equal);
                noticeCondition.Add(new MiicConditionLeaf(MiicDBLogicSetting.No, commentIDCondition));
                MiicCondition readStatusCondition = new MiicCondition(Config.Attribute.GetSqlColumnNameByPropertyName <NoticeInfo, string>(o => o.ReadStatus),
                                                                      ((int)Miic.Base.Setting.MiicReadStatusSetting.UnRead).ToString(),
                                                                      DbType.String,
                                                                      MiicDBOperatorSetting.Equal);
                noticeCondition.Add(new MiicConditionLeaf(readStatusCondition));
                sqls.Add(DBService.DeleteConditionsSql <NoticeInfo>(noticeCondition, out message));
                //积分
                sqls.Add(DBService.InsertSql <UserScopeHistory>(new UserScopeHistory()
                {
                    ID         = Guid.NewGuid().ToString(),
                    BusinessID = tempCommentInfo.ID,
                    CreateTime = DateTime.Now,
                    GetWay     = ((int)GetWayTypeSetting.Comment).ToString(),
                    Score      = -1 * ScoreConfig.Score.CommentScore,
                    ServiceID  = ScoreConfig.ServiceID,
                    UserID     = tempCommentInfo.FromCommenterID,
                    UserName   = tempCommentInfo.FromCommenterName
                }, out message));
                result = dbService.excuteSqls(sqls, out message);
                if (result == true)
                {
                    DeleteCache(o => o.ID == id);
                    lock (syncRoot)
                    {
                        if (PublishInfoDao.items.Find(o => o.ID == tempCommentInfo.PublishID) != null)
                        {
                            PublishInfoDao.items.Find(o => o.ID == tempCommentInfo.PublishID).CommentNum = tempPublishInfo.CommentNum - 1;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Config.IlogicLogService.Write(new LogicLog()
                {
                    AppName       = Config.AppName,
                    ClassName     = ClassName,
                    NamespaceName = NamespaceName,
                    MethodName    = MethodBase.GetCurrentMethod().Name,
                    Message       = ex.Message,
                    Oper          = Config.Oper
                });
            }
            return(result);
        }
Example #4
0
 public abstract MiicConditionCollections visitor(PublishInfoDao publishInfoDao);
Example #5
0
        bool ICommon <BrowseInfo> .Insert(BrowseInfo browseInfo)
        {
            Contract.Requires <ArgumentNullException>(browseInfo != null, "参数browseInfo:不能为空!");
            Contract.Requires <ArgumentNullException>(!string.IsNullOrEmpty(browseInfo.ID), "参数browseInfo.ID:不能为空!");
            bool          result   = false;
            List <string> sqls     = new List <string>();
            string        message  = string.Empty;
            string        message1 = string.Empty;
            string        message2 = string.Empty;
            IPublishInfo  Itemp    = new PublishInfoDao();

            //设置提示
            browseInfo.IsHinted = ((int)MiicYesNoSetting.Yes).ToString();
            sqls.Add(DBService.InsertSql(browseInfo, out message1));
            //积分
            //sqls.Add(DBService.InsertSql<UserScopeHistory>(new UserScopeHistory()
            //{
            //    ID = Guid.NewGuid().ToString(),
            //    BusinessID = browseInfo.PublishID,
            //    CreateTime = DateTime.Now,
            //    GetWay = ((int)GetWayTypeSetting.Behavior).ToString(),
            //    Score = ScoreConfig.BehaviorScore,
            //    ServiceID = ScoreConfig.ServiceID,
            //    UserID = browseInfo.BrowserID,
            //    UserName = browseInfo.BrowserName
            //}, out message));
            try
            {
                PublishInfo temp = ((ICommon <PublishInfo>)Itemp).GetInformation(browseInfo.PublishID);
                sqls.Add(DBService.UpdateSql(new PublishInfo()
                {
                    ID        = browseInfo.PublishID,
                    BrowseNum = temp.BrowseNum + 1
                }, out message2));
                result = dbService.excuteSqls(sqls, out message);
                if (result == true)
                {
                    InsertCache(browseInfo);
                    lock (syncRoot)
                    {
                        if (PublishInfoDao.items.Find(o => o.ID == browseInfo.PublishID) != null)
                        {
                            PublishInfoDao.items.Find(o => o.ID == browseInfo.PublishID).BrowseNum = temp.BrowseNum + 1;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Config.IlogicLogService.Write(new LogicLog()
                {
                    AppName       = Config.AppName,
                    ClassName     = ClassName,
                    NamespaceName = NamespaceName,
                    MethodName    = MethodBase.GetCurrentMethod().Name,
                    Message       = ex.Message,
                    Oper          = Config.Oper
                });
            }

            return(result);
        }
Example #6
0
        bool ICommon <CollectInfo> .Delete(string id)
        {
            Contract.Requires <ArgumentNullException>(!string.IsNullOrEmpty(id), "参数id:不能为空");
            bool          result          = false;
            List <string> sqls            = new List <string>();
            string        message         = string.Empty;
            string        message1        = string.Empty;
            string        message2        = string.Empty;
            string        message3        = string.Empty;
            IPublishInfo  IpublishInfo    = new PublishInfoDao();
            CollectInfo   tempCollectInfo = ((ICommon <CollectInfo>) this).GetInformation(id);

            if (tempCollectInfo == null)
            {
                throw new NoNullAllowedException("收藏信息不能为空,请核查!");
            }
            PublishInfo tempPublishInfo = ((ICommon <PublishInfo>)IpublishInfo).GetInformation(tempCollectInfo.PublishID);

            if (tempPublishInfo == null)
            {
                throw new NoNullAllowedException("朋友圈发布信息不能为空,请核查!");
            }
            sqls.Add(DBService.DeleteSql(new CollectInfo()
            {
                ID = id
            }, out message1));
            sqls.Add(DBService.UpdateSql(new PublishInfo()
            {
                ID         = tempCollectInfo.PublishID,
                CollectNum = tempPublishInfo.CollectNum - 1
            }, out message2));
            MessageInfo messageInfo = new MessageInfo()
            {
                ID            = Guid.NewGuid().ToString(),
                PublisherID   = tempCollectInfo.CollectorID,
                PublisherName = tempCollectInfo.CollectorName,
                PublishTime   = tempCollectInfo.CollectTime,
                PublishID     = tempCollectInfo.PublishID,
                NoticerID     = tempPublishInfo.CreaterID,
                NoticerName   = tempPublishInfo.CreaterName,
                ReadStatus    = ((int)MiicReadStatusSetting.UnRead).ToString(),
                Source        = ((int)BusinessTypeSetting.Moments).ToString(),
                MessageType   = ((int)BehaviorTypeSetting.CancelCollect).ToString()
            };

            if (tempCollectInfo.CollectorID != tempPublishInfo.CreaterID)
            {
                sqls.Add(DBService.InsertSql(messageInfo, out message3));
            }

            //积分
            sqls.Add(DBService.InsertSql <UserScopeHistory>(new UserScopeHistory()
            {
                ID         = Guid.NewGuid().ToString(),
                BusinessID = tempCollectInfo.ID,
                CreateTime = DateTime.Now,
                GetWay     = ((int)GetWayTypeSetting.Behavior).ToString(),
                Score      = -1 * ScoreConfig.Score.BehaviorScore,
                ServiceID  = ScoreConfig.ServiceID,
                UserID     = tempCollectInfo.CollectorID,
                UserName   = tempCollectInfo.CollectorName
            }, out message));

            try
            {
                result = dbService.excuteSqls(sqls, out message);
            }
            catch (Exception ex)
            {
                Config.IlogicLogService.Write(new LogicLog()
                {
                    AppName       = Config.AppName,
                    ClassName     = ClassName,
                    NamespaceName = NamespaceName,
                    MethodName    = MethodBase.GetCurrentMethod().Name,
                    Message       = ex.Message,
                    Oper          = Config.Oper
                });
            }
            if (result == true)
            {
                if (tempCollectInfo.CollectorID != tempPublishInfo.CreaterID)
                {
                    MessageInfoDao.InsertCache(messageInfo);
                }
                DeleteCache(o => o.ID == id);
                lock (syncRoot)
                {
                    if (PublishInfoDao.items.Find(o => o.ID == tempCollectInfo.PublishID) != null)
                    {
                        PublishInfoDao.items.Find(o => o.ID == tempCollectInfo.PublishID).CollectNum = tempPublishInfo.CollectNum - 1;
                    }
                }
            }
            return(result);
        }