示例#1
0
        public ActionResult QuitGroup(long groupUserID)
        {
            BizResultInfo result = new BizResultInfo();


            var bizModel = BizGroupUser.LoadByGroupUserID(groupUserID);

            if (groupUserID == 0 || bizModel == null)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "取不到这个数据啊呀...不要逗我玩吧。";
                return(Json(result));
            }

            var groupInfo = BizGroupInfo.LoadByGroupID(bizModel.GroupInfoID);

            if (UILoginHelper.GetUIDFromHttpContext(HttpContext) == groupInfo.CreateUesrID)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "不允许移除自己....";
                return(Json(result));
            }

            if (bizModel.IsPass == (int)ApplyStatus.Pass)
            {
                MessageBo.CreateMessage(0, MessageTypeEnum.QuitGroupSuccess, bizModel);
            }
            bizModel.IsPass = (int)ApplyStatus.Quit;
            bizModel.Save();
            result.IsSuccess = true;
            return(Json(result));
        }
示例#2
0
        /// <summary>
        /// 申请加入群组
        /// </summary>
        /// <param name="groupID"></param>
        /// <returns></returns>
        public ActionResult ApplyToGroup(long groupID)
        {
            BizResultInfo result = new BizResultInfo();

            if (groupID == 0 || BizGroupInfo.LoadByGroupID(groupID) == null)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "群组ID不能为空呀,这个数据肯定有问题...不要逗我玩吧。";
                return(Json(result));
            }
            var lstGroupUser = BizGroupUser.LoadGroupUser(UILoginHelper.GetUIDFromHttpContext(HttpContext));

            if (lstGroupUser != null && lstGroupUser.Any(model => model.GroupInfoID == groupID))
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "已经申请加入了,再等等吧....";
                return(Json(result));
            }


            BizGroupUser groupUser = new BizGroupUser();

            groupUser.GroupInfoID = groupID;
            groupUser.IsPass      = (int)ApplyStatus.Waiting;
            groupUser.CreateTime  = DateTime.Now;
            groupUser.UserInfoID  = UILoginHelper.GetUIDFromHttpContext(HttpContext);
            groupUser.Save();
            MessageBo.CreateMessage(0, MessageTypeEnum.ApplyJoinGroup, groupUser);
            result.IsSuccess      = true;
            result.SuccessMessage = "申请成功....";


            return(Json(result));
        }
示例#3
0
        /// <summary>
        /// 驳回用户
        /// </summary>
        /// <param name="groupUserID"></param>
        /// <returns></returns>
        public ActionResult RejectGroupUser(long groupUserID)
        {
            BizResultInfo result = new BizResultInfo();


            var bizModel = BizGroupUser.LoadByGroupUserID(groupUserID);

            if (groupUserID == 0 || bizModel == null)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "取不到这个数据啊呀...不要逗我玩吧。";
                return(Json(result));
            }

            if (UILoginHelper.GetUIDFromHttpContext(HttpContext) == bizModel.UserInfoID)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "不允许驳回自己....";
                return(Json(result));
            }
            bizModel.IsPass = (int)ApplyStatus.Reject;
            bizModel.Save();
            MessageBo.CreateMessage(0, MessageTypeEnum.RejecrApplyJoinGroup, bizModel);
            result.IsSuccess = true;
            return(Json(result));
        }
示例#4
0
        private void BindUserList()
        {
            // Check if any of the checkboxes are checked. If yes, bind. Else dont do anything
            bool          blBindUsers = false;
            StringBuilder sbRoleList  = new StringBuilder();

            if (Session[SessionContents.CurrentUserRole].ToString().ToLower().Equals(strUserTypeSuperAdmin))
            {
                // If Superadmin, then bind all advisers by default
                blBindUsers = AddDefaultUserRole(sbRoleList, "1000");
            }
            else if (Session[SessionContents.CurrentUserRole].ToString().Equals(strUserRoleRM))
            {
                // If RM, then bind all customers by default
                blBindUsers = AddDefaultUserRole(sbRoleList, "1003");
            }
            else
            {
                foreach (ListItem li in ChkBxRoleList.Items)
                {
                    if (li.Selected)
                    {
                        blBindUsers = true;
                        break;
                    }
                }
            }

            if (blBindUsers)
            {
                MessageBo msgBo      = new MessageBo();
                DataTable dtUserList = new DataTable();

                if (!(Session[SessionContents.CurrentUserRole].ToString().Equals(strUserTypeSuperAdmin)) && !(Session[SessionContents.CurrentUserRole].ToString().Equals(strUserRoleRM)))
                {
                    foreach (ListItem li in ChkBxRoleList.Items)
                    {
                        if (li.Selected)
                        {
                            if (li.Value != "0")
                            {
                                sbRoleList.Append(li.Value);
                                sbRoleList.Append(",");
                            }
                        }
                    }
                    sbRoleList.Remove(sbRoleList.Length - 1, 1);
                }

                dtUserList = (msgBo.GetUserListSpecificToRole(Session[SessionContents.CurrentUserRole].ToString(), userVo.UserId, sbRoleList.ToString())).Tables[0];

                if (dtUserList.Rows.Count > 0)
                {
                    LBUser.DataSource     = dtUserList;
                    LBUser.DataTextField  = "Name";
                    LBUser.DataValueField = "UserId";
                    LBUser.DataBind();
                }
            }
        }
        protected void RadGridOutbox_ItemCommand(object sender, GridCommandEventArgs e)
        {
            if (e.CommandName == "Read")
            {
                GridDataItem dataItem    = e.Item as GridDataItem;
                string       strKeyValue = dataItem.GetDataKeyValue("M_MessageId").ToString();

                /*
                 * check if the message has alreaDY been read by user. If yes, then do not update DB.
                 * Else if not read then update DB flag.
                 */
                tblMessageHeaders.Visible = true;
                DataSet dsOutbox = (DataSet)ViewState["dsOutbox"];
                msgBo = new MessageBo();
                string strMessage = msgBo.GetMessage(Convert.ToInt64(strKeyValue));

                foreach (DataRow dr in dsOutbox.Tables[0].Rows)
                {
                    if (dr["M_MessageId"].ToString() == strKeyValue)
                    {
                        lblMessageContent.Text      = strMessage;
                        lblRecipientsContent.Text   = dr["Recipients"].ToString();
                        lblSubjectContent.Text      = dr["Subject"].ToString();
                        lblSentContent.Text         = dataItem["Sent"].Text;
                        ViewState["ReadMessRecpId"] = strKeyValue;
                        break;
                    }
                }
            }
        }
示例#6
0
        protected void btnSend_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                DataSet   dsUsers     = new DataSet();
                string    strUsersXML = string.Empty;
                bool      blResult    = false;
                DataTable dtUsers     = new DataTable();
                dtUsers.Columns.Add("RecipientId");
                DataRow   drUsers;
                MessageBo msgBo = new MessageBo();
                MessageVo msgVo = new MessageVo();
                string    strLinksEncodedMessage = FindLinksInText(txtMessage.Text.Trim());
                string    strResult = string.Empty;

                // This part can be done during Message Compose
                strResult = InsertLineBreaks(strLinksEncodedMessage, 100, new char[] { ' ', ',', ';' });
                // This part can be done during Message Compose

                // Add selected users into a dataset and retrieve the xml version of the dataset
                if (LBSelectedUser.Items.Count != 0)
                {
                    foreach (ListItem listItem in LBSelectedUser.Items)
                    {
                        drUsers    = dtUsers.NewRow();
                        drUsers[0] = listItem.Value.ToString();
                        dtUsers.Rows.Add(drUsers);
                    }
                    dtUsers.TableName = "Table";
                    dsUsers.Tables.Add(dtUsers);
                    dsUsers.DataSetName = "Recipients";

                    // Adding details into MessageVo
                    msgVo.UserId             = userId;
                    msgVo.Subject            = txtSubject.Text.Trim();
                    msgVo.Message            = strResult;
                    msgVo.strXMLRecipientIds = dsUsers.GetXml().ToString();
                    msgVo.AdviserId          = advisorVo.advisorId;

                    if (msgBo.InsertComposedMessage(msgVo))
                    {
                        blResult = true;
                    }
                }
                else
                {
                    ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "Message", "alert('Please select recipients!');", true);
                }

                if (blResult)
                {
                    ClearFields();
                    ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "Message", "alert('Message sent successfully!');", true);
                }
            }
        }
        protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
        {
            if (e.CommandName == "Read")
            {
                #region Look into performance enhancement as multiple calls are made to DB

                GridDataItem dataItem    = e.Item as GridDataItem;
                string       strKeyValue = dataItem.GetDataKeyValue("MR_MessageRecipientId").ToString();
                string       strMsgId    = dataItem.GetDataKeyValue("M_MessageId").ToString();

                /*
                 *      check if the message has alreaDY been read by user. If yes, then do not update DB.
                 *      Else if not read then update DB flag.
                 */
                tblMessageHeaders.Visible = true;
                DataSet dsInbox = (DataSet)ViewState["dsInbox"];
                msgBo = new MessageBo();
                string strMessage = msgBo.GetMessage(Convert.ToInt64(strMsgId));

                foreach (DataRow dr in dsInbox.Tables[0].Rows)
                {
                    if (dr["MR_MessageRecipientId"].ToString() == strKeyValue)
                    {
                        lblMessageContent.Text      = strMessage;
                        lblSenderContent.Text       = dr["Sender"].ToString();
                        lblSubjectContent.Text      = dr["Subject"].ToString();
                        lblSentContent.Text         = dataItem["Received"].Text;
                        ViewState["ReadMessRecpId"] = strKeyValue;
                        break;
                    }
                }

                if (!Boolean.Parse(dataItem["ReadByUser"].Text))
                {
                    // If message is read first time, update DB that the message is read.
                    Int64 intRecipientId = Int64.Parse(strKeyValue);
                    bool  blResult       = false;
                    // update DB with read flag
                    msgBo    = new MessageBo();
                    blResult = msgBo.UpdateMessageReadFlag(intRecipientId);

                    if (blResult)
                    {
                        // this should retrieve only the flag values and update the existing dataset which is stored in the cache with new flag values.
                        RadGrid1.Rebind();
                    }
                }

                #endregion
            }
        }
示例#8
0
        public ActionResult AddToGroupAgain(long groupUserID)
        {
            BizResultInfo result = new BizResultInfo();


            var bizModel = BizGroupUser.LoadByGroupUserID(groupUserID);

            if (groupUserID == 0 || bizModel == null)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "取不到这个数据啊呀...不要逗我玩吧。";
                return(Json(result));
            }
            bizModel.IsPass = (int)ApplyStatus.Waiting;
            bizModel.Save();
            MessageBo.CreateMessage(0, MessageTypeEnum.ApplyJoinGroup, bizModel);
            result.IsSuccess = true;
            return(Json(result));
        }
示例#9
0
        public ActionResult AddBookmarkLikeLog(long bookmarkID)
        {
            BizResultInfo result   = new BizResultInfo();
            var           loginUID = UILoginHelper.GetUIDFromHttpContext(HttpContext);

            var bookmarkInfo = BizBookmarkInfo.LoadByID(bookmarkID);

            if (bookmarkInfo != null)
            {
                var likelog = BizLikeLog.LoadUserIDAndBookmarkID(loginUID, bookmarkID);
                if (likelog != null)
                {
                    result.IsSuccess    = false;
                    result.ErrorMessage = "你已经点赞过了呀,不要重复点赞了。";
                }
                else
                {
                    likelog            = new BizLikeLog();
                    likelog.InfoID     = bookmarkID;
                    likelog.InfoType   = (int)InfoTypeEnum.Bookmark;
                    likelog.UserInfoID = loginUID;
                    likelog.Save();

                    bookmarkInfo.LoadLikeLog();
                    result.Target         = bookmarkInfo.LikeCount;
                    result.IsSuccess      = true;
                    result.SuccessMessage = "点赞成功。";

                    UserDynamicInfoBo.CreateDynamicInfoMessage(loginUID, DynamicInfoType.NewLikeBookmark, bookmarkInfo);
                    MessageBo.CreateMessage(loginUID, MessageTypeEnum.NewLikeBookmarkLog, bookmarkInfo);
                }
            }
            else
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "找不到书签呀,刷新一下再来试试?";
            }


            return(Json(result));
        }
        private void ShowUnreadMessageAlert()
        {
            MessageBo msgBo = new MessageBo();
            DataTable dt;
            // Get unread messages from the DB
            int intCount  = 0;
            int flavourId = 0;

            intCount           = msgBo.GetUnreadMessageCount(userVo.UserId, out flavourId);
            hdfFlavourId.Value = flavourId.ToString();
            if (intCount > 0)
            {
                lnkbtnInbox1.Text  = "New Massage " + "(" + intCount + ")";
                imgInbox1.ImageUrl = "~/Images/msgUnRead.png";
            }

            else
            {
                lnkbtnInbox1.Text  = "New Massage " + "(" + intCount + ")";
                imgInbox1.ImageUrl = "~/Images/messageread.png";
            }
        }
示例#11
0
        public ActionResult SaveBookmarkComment(long bookmarkID, string content)
        {
            BizResultInfo result = new BizResultInfo();

            try
            {
                var bookmark = BizBookmarkInfo.LoadByID(bookmarkID);
                if (bookmark == null || bookmark.BookmarkInfoID == 0)
                {
                    result.IsSuccess    = false;
                    result.ErrorMessage = "序列化书签数据失败,目测你要重新加载页面。";
                    return(Json(result));
                }
                BizBookmarkComment comment = new BizBookmarkComment();
                comment.CriticsUserID  = UILoginHelper.GetUIDFromHttpContext(HttpContext);
                comment.CommentTitle   = "";
                comment.CommentContent = content;
                comment.BookmarkInfoID = bookmark.BookmarkInfoID;
                comment.CreateTime     = DateTime.Now;
                comment.BookmarkUserID = bookmark.UserInfoID;
                comment.Save();
                var loginUID = UILoginHelper.GetUIDFromHttpContext(HttpContext);
                MessageBo.CreateMessage(bookmark.UserInfoID, MessageTypeEnum.NewBookmarkComment, comment);
                UserDynamicInfoBo.CreateDynamicInfoMessage(loginUID, DynamicInfoType.NewBookmarkComment, bookmark);

                result.IsSuccess      = true;
                result.SuccessMessage = "提交成功。";
            }catch (Exception ex)
            {
                LogHelper.WriteException("SaveBookmarkComment", ex, new {
                    BookmarkID = bookmarkID,
                    SubmitUser = UILoginHelper.GetUIDFromHttpContext(HttpContext),
                    Content    = content,
                });
                result.ErrorMessage = "提交失败,目测网络挂了或者别的....";
                result.IsSuccess    = false;
            }
            return(Json(result));
        }
        protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            DataSet dsInbox = new DataSet();

            msgBo = new MessageBo();

            dsInbox = msgBo.GetInboxRecords(userVo.UserId);

            if (dsInbox.Tables[0].Rows.Count > 0)
            {
                RadGrid1.DataSource  = dsInbox.Tables[0];
                trContent.Visible    = true;
                trNoRecords.Visible  = false;
                ViewState["dsInbox"] = dsInbox;
            }
            else
            {
                // display no records found
                lblNoRecords.Visible = true;
                trContent.Visible    = false;
                trNoRecords.Visible  = true;
            }
        }
        private void ShowUnreadMessageAlert()
        {
            msgBo = new MessageBo();

            // Get unread messages from the DB
            int intCount = 0, flavourId = 0;

            intCount = msgBo.GetUnreadMessageCount(userVo.UserId, out flavourId);

            // Store the messages in a label control
            if (intCount > 0)
            {
                if (Session[SessionContents.UserTopRole] == "RM" && flavourId == 10)
                {
                    lnkBtnNewMessages.Visible = true;
                    lnkBtnNewMessages.Text    = "<u>You have " + intCount + " unread messages</u>";
                }
                else
                {
                    lnkBtnNewMessages.Visible = false;
                }
            }
        }
        protected void RadGridOutbox_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            DataSet dsInbox = new DataSet();

            msgBo   = new MessageBo();
            dsInbox = msgBo.GetOutboxRecords(userVo.UserId);

            if (dsInbox.Tables[0].Rows.Count > 0)
            {
                RadGridOutbox.DataSource = dsInbox.Tables[0];
                trContent.Visible        = true;
                trNoRecords.Visible      = false;
                ViewState["dsOutbox"]    = dsInbox;
                //if (Cache["dsOutbox"] != null)
                //    Cache.Remove("dsOutbox");
                //Cache.Insert("dsOutbox", dsInbox, null, DateTime.Now.AddMinutes(60), TimeSpan.Zero);
            }
            else
            {
                // display no records found
                trContent.Visible   = false;
                trNoRecords.Visible = true;
            }
        }
示例#15
0
        public ActionResult FollowUser(long beFollowUserID)
        {
            BizResultInfo result     = new BizResultInfo();
            var           befollower = BizUserInfo.LoadByUserInfoID(beFollowUserID);

            if (beFollowUserID == 0 || befollower == null || befollower.UserInfoID == 0)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "关注者ID为空,这是一条垃圾数据呀。";
                return(Json(result));
            }
            long userID = UILoginHelper.GetUIDFromHttpContext(HttpContext);
            var  status = UserRelationshipBo.CheckFollowStatus(beFollowUserID, userID);

            if (status)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "您已经关注了此用户,不能重复关注。";
                return(Json(result));
            }

            var userRelationship = new BizUserRelationship()
            {
                BeFollwedUID = beFollowUserID,
                FollowerID   = userID,
                CreateTime   = DateTime.Now,
            };

            userRelationship.Save();

            MessageBo.CreateMessage(userID, MessageTypeEnum.NewBeFollow, userRelationship);
            UserDynamicInfoBo.CreateDynamicInfoMessage(userID, DynamicInfoType.NewFollower, befollower);
            result.IsSuccess = true;

            return(Json(result));
        }
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            bool      blAnyChecked = false;
            bool      blResult     = false;
            bool      blClear      = false;
            DataSet   ds           = new DataSet();
            DataTable dt           = new DataTable();

            dt.Columns.Add("Id");
            dt.Columns.Add("IsDeleted");
            DataRow drDelete;

            foreach (GridDataItem item in RadGrid1.Items)
            {
                CheckBox chkbxRow = (CheckBox)item.FindControl("chkbxRow");
                if (chkbxRow != null)
                {
                    if (chkbxRow.Checked)
                    {
                        // Update flag for validation message [select atleast one to delete]
                        blAnyChecked = true;

                        drDelete = dt.NewRow();
                        string strKeyValue = item.GetDataKeyValue("MR_MessageRecipientId").ToString();
                        drDelete[0] = strKeyValue;
                        drDelete[1] = chkbxRow.Checked.ToString().ToLower();
                        dt.Rows.Add(drDelete);

                        if (ViewState["ReadMessRecpId"] != null)
                        {
                            string strKey = ViewState["ReadMessRecpId"].ToString();
                            if (strKey.Equals(strKeyValue))
                            {
                                blClear = true;
                            }
                        }
                    }
                }
            }

            dt.TableName = "Table";
            ds.Tables.Add(dt);
            ds.DataSetName = "Deleted";

            if (blAnyChecked)
            {
                msgBo    = new MessageBo();
                blResult = msgBo.DeleteMessages(ds.GetXml().ToString(), 1);

                if (blResult)
                {
                    RadGrid1.Rebind();
                    if (blClear)
                    {
                        ClearMessageContents();
                    }
                    ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "Message", "alert('Messages deleted successfully!');", true);
                }
                else
                {
                    RadGrid1.Rebind();
                    ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "Message", "alert('Messages could not be deleted!');", true);
                }
            }
            else
            {
                // Display validation message that atleast one checkbox should be checked
                ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "Message", "alert('Please select a message!');", true);
            }
        }