Beispiel #1
0
        /// <summary>
        /// 纯粹插入数据库,不检查表情、at用户、不处理tag;不处理转发
        /// </summary>
        /// <param name="creator"></param>
        /// <param name="msg"></param>
        /// <param name="dataType"></param>
        /// <param name="dataId"></param>
        /// <param name="ip"></param>
        public virtual void AddSimple(User creator, String msg, String dataType, int dataId, String ip)
        {
            Microblog x = new Microblog();

            x.User    = creator;
            x.Content = msg;
            x.Ip      = ip;

            x.DataType = dataType;
            x.DataId   = dataId;

            x.insert();
        }
Beispiel #2
0
        /// <summary>
        /// 不展示在信息流中的数据,可以供管理员和自己查看,但朋友看不到
        /// </summary>
        /// <param name="creator"></param>
        /// <param name="msg"></param>
        /// <param name="dataType"></param>
        /// <param name="dataId"></param>
        /// <param name="ip"></param>
        public virtual void AddSimplePrivate(User creator, string msg, string dataType, long dataId, string ip)
        {
            Microblog x = new Microblog();

            x.User    = creator;
            x.Content = msg;
            x.Ip      = ip;

            x.DataType = dataType;
            x.DataId   = dataId;

            x.SaveStatus = SaveStatus.Private;

            x.insert();
        }
        public virtual void Insert(Microblog blog, int i)
        {
            String rcontent = blog.Content;

            MicroblogBinder smbinder = new MicroblogBinder();

            MicroblogParser mp = new MicroblogParser(blog.Content, smbinder);

            mp.Process();

            blog.Content = mp.ToString();

            blog.Content = processEmotions(blog.Content);

            Result result = blog.insert();

            if (i == 0)
            {
                // 保存tag
                TagService.SaveDataTag(blog, mp.GetTagList());

                // 发通知
                addNotification(smbinder.GetValidUsers(), blog);
            }

            // 转发需要刷新原帖的转发量
            if (blog.ParentId > 0)
            {
                Microblog parent = GetById(blog.ParentId);
                if (parent != null)
                {
                    parent.Reposts = Microblog.count("ParentId=" + parent.Id);
                    parent.update("Reposts");
                }
            }

            if (result.IsValid)
            {
                addFeedInfo(blog);
            }
        }
Beispiel #4
0
        public virtual void Insert( Microblog blog, int i )
        {
            String rcontent = blog.Content;

            MicroblogBinder smbinder = new MicroblogBinder();

            MicroblogParser mp = new MicroblogParser( blog.Content, smbinder );
            mp.Process();

            blog.Content = mp.ToString();

            blog.Content = processEmotions( blog.Content );

            Result result = blog.insert();

            if( i==0 ) {

                // ����tag
                TagService.SaveDataTag( blog, mp.GetTagList() );

                // ��֪ͨ
                addNotification( smbinder.GetValidUsers(), blog );
            }

            // ת����Ҫˢ��ԭ����ת����
            if (blog.ParentId > 0) {
                Microblog parent = GetById( blog.ParentId );
                if (parent != null) {
                    parent.Reposts = Microblog.count( "ParentId=" + parent.Id );
                    parent.update( "Reposts" );
                }
            }

            if (result.IsValid) addFeedInfo( blog );
        }
        /// <summary>
        /// 纯粹插入数据库,不检查表情、at用户、不处理tag;不处理转发
        /// </summary>
        /// <param name="creator"></param>
        /// <param name="msg"></param>
        /// <param name="dataType"></param>
        /// <param name="dataId"></param>
        /// <param name="ip"></param>
        public virtual void AddSimple(User creator, string msg, string dataType, long dataId, string ip)
        {
            Microblog x = new Microblog();
            x.User = creator;
            x.Content = msg;
            x.Ip = ip;

            x.DataType = dataType;
            x.DataId = dataId;

            x.insert();
        }
Beispiel #6
0
        public virtual void Insert( Microblog blog, int i )
        {
            String rcontent = blog.Content;

            MicroblogBinder smbinder = new MicroblogBinder();

            //�ȱ���ԭʼ��content��ͬ��΢����Ҫ
            string statusText = blog.Content;

            MicroblogParser mp = new MicroblogParser( blog.Content, smbinder );
            mp.Process();

            blog.Content = mp.ToString();

            blog.Content = processEmotions( blog.Content );

            Result result = blog.insert();

            if( i==0 ) {

                // ����tag
                TagService.SaveDataTag( blog, mp.GetTagList() );

                // ��֪ͨ
                addNotification( smbinder.GetValidUsers(), blog );
            }

            // ת����Ҫˢ��ԭ����ת����
            if (blog.ParentId > 0) {
                Microblog parent = GetById( blog.ParentId );
                if (parent != null) {
                    parent.Reposts = Microblog.count( "ParentId=" + parent.Id );
                    parent.update( "Reposts" );
                }
            }

            if (result.IsValid) {
                addFeedInfo(blog);
                //�������ת����΢���Ǿ�ͬ��
                if (blog.ParentId == 0)
                {
                    string picUrl = string.IsNullOrEmpty(blog.PicOriginal) ? null : PathHelper.Map(blog.PicOriginal);
                    if (string.IsNullOrEmpty(picUrl))
                        MicroblogSyncManager.Instance.Sync(blog.User, statusText);
                    else
                        MicroblogSyncManager.Instance.SyncWithPic(blog.User, statusText, picUrl);
                }
            }
        }
Beispiel #7
0
        /// <summary>
        /// 不展示在信息流中的数据,可以供管理员和自己查看,但朋友看不到
        /// </summary>
        /// <param name="creator"></param>
        /// <param name="msg"></param>
        /// <param name="dataType"></param>
        /// <param name="dataId"></param>
        /// <param name="ip"></param>
        public virtual void AddSimplePrivate( User creator, String msg, String dataType, int dataId, String ip )
        {
            Microblog x = new Microblog();
            x.User = creator;
            x.Content = msg;
            x.Ip = ip;

            x.DataType = dataType;
            x.DataId = dataId;

            x.SaveStatus = SaveStatus.Private;

            x.insert();
        }