Ejemplo n.º 1
0
        protected void OnTextEnter(object sender, EventArgs e)
        {
            string userString = txtUser.Text;

            if (userString.Length > 0)
            {
                List <MessageReceiver> receivers = new List <MessageReceiver>();

                QuickParametersFriends parametersFriends = new QuickParametersFriends();
                parametersFriends.Udc            = UserDataContext.GetUserDataContext();
                parametersFriends.CurrentUserID  = UserProfile.Current.UserId;
                parametersFriends.OnlyNotBlocked = true;
                parametersFriends.Amount         = 10000;
                parametersFriends.PageSize       = 10000;
                parametersFriends.DisablePaging  = true;
                parametersFriends.SortBy         = QuickSort.Title;
                parametersFriends.Direction      = QuickSortDirection.Asc;
                parametersFriends.ShowState      = ObjectShowState.Published;
                List <DataObjectFriend> friends = DataObjects.Load <DataObjectFriend>(parametersFriends);
                receivers.AddRange(friends.FindAll(x => x.Nickname.ToLower().Contains(userString.ToLower()) ||
                                                   (!string.IsNullOrEmpty(x.Vorname) && x.Vorname.ToLower().Contains(userString.ToLower())) ||
                                                   (!string.IsNullOrEmpty(x.Name) && x.Name.ToLower().Contains(userString.ToLower())))
                                   .Take(20).ToList().ConvertAll(x => new MessageReceiver()
                {
                    User = x
                }));

                Dictionary <string, FriendType> friendTypes = new Dictionary <string, FriendType>();
                foreach (FriendType friendType in Enum.GetValues(typeof(FriendType)))
                {
                    if (friends.Exists(x => x.FriendType == friendType))
                    {
                        string text = GuiLanguage.GetGuiLanguage("UserControls.WebUI.Base").GetString(string.Format("TextFriendType{0}", (int)friendType));
                        friendTypes.Add(text, friendType);
                    }
                }
                receivers.AddRange(friendTypes.Where(x => x.Key.ToLower().Contains(userString.ToLower())).ToList().ConvertAll(x => new MessageReceiver()
                {
                    FriendType = x.Value
                }));

                if (receivers.Count > 0)
                {
                    repSuggest.DataSource = receivers;
                    repSuggest.DataBind();
                    pnlSuggest.Visible = true;
                }
                else
                {
                    pnlSuggest.Visible = false;
                }
            }
            else
            {
                pnlSuggest.Visible = false;
            }
        }
Ejemplo n.º 2
0
        // Interface IReloadable
        public void Reload()
        {
            UserDataContext udc = UserDataContext.GetUserDataContext();
            DataObjectList <DataObjectFriend> lstFriends = null;
            QuickParametersFriends            qp         = new QuickParametersFriends
            {
                CurrentUserID     = UserProfile.Current.UserId,
                FriendType        = friendType,
                FriendSearchParam = generealSearchParam,
                Udc         = udc,
                Nickname    = userName,
                SortBy      = QuickSort.StartDate,
                PageNumber  = currentPage,
                PageSize    = pageSize,
                IgnoreCache = true
            };

            qp.OnlyNotBlocked = true;
            lstFriends        = DataObjects.Load <DataObjectFriend>(qp);

            numberItems = lstFriends.ItemTotal;
            lstFriends.Sort(new NicknameSorterFriend());
            this.friendRepeater.DataSource = lstFriends;
            this.friendRepeater.DataBind();
            // Check if the number of messages got smaller and the page would be out of bounce
            int checkedPage = this.pager1.CheckPageRange(this.currentPage, numberItems);

            if (checkedPage != currentPage)
            {
                this.currentPage     = checkedPage;
                this.PBPageNum.Value = "" + checkedPage;
                lstFriends           = DataObjects.Load <DataObjectFriend>(qp);
                numberItems          = lstFriends.ItemTotal;
                lstFriends.Sort(new NicknameSorterFriend());
                this.friendRepeater.DataSource = lstFriends;
                this.friendRepeater.DataBind();
            }
            this.pager1.InitPager(currentPage, numberItems);
            this.pager2.InitPager(currentPage, numberItems);

            if (numberItems > 0)
            {
                this.noitem.Visible = false;
            }
        }
Ejemplo n.º 3
0
        protected void OnSendMessageClick(object sender, EventArgs e)
        {
            bool msgSent = false;

            errorMsg.Text = string.Empty;

            List <MessageReceiver> receivers = new List <MessageReceiver>();

            if (receiverType == "friend")
            {
                if (receiverId.HasValue)
                {
                    receivers.Add(new MessageReceiver()
                    {
                        UserId = receiverId
                    });
                }
                else if (Request.Form.GetValues("receiver") != null)
                {
                    QuickParametersFriends parametersFriends = new QuickParametersFriends();
                    parametersFriends.Udc            = UserDataContext.GetUserDataContext();
                    parametersFriends.CurrentUserID  = UserProfile.Current.UserId;
                    parametersFriends.OnlyNotBlocked = true;
                    parametersFriends.Amount         = 10000;
                    parametersFriends.PageSize       = 10000;
                    parametersFriends.DisablePaging  = true;
                    parametersFriends.SortBy         = QuickSort.Title;
                    parametersFriends.Direction      = QuickSortDirection.Asc;
                    parametersFriends.ShowState      = ObjectShowState.Published;
                    List <DataObjectFriend> friends = DataObjects.Load <DataObjectFriend>(parametersFriends);

                    string[] rawReceivers = Request.Form.GetValues("receiver");
                    foreach (var receiver in rawReceivers)
                    {
                        int friendType;
                        if (receiver.IsGuid() && friends.Exists(x => x.UserID == receiver.ToGuid()))
                        {
                            receivers.Add(new MessageReceiver()
                            {
                                UserId = receiver.ToGuid()
                            });
                        }
                        else if (int.TryParse(receiver, out friendType))
                        {
                            foreach (var friend in friends.FindAll(x => x.FriendType == (FriendType)friendType))
                            {
                                if (!receivers.Exists(x => x.UserId == friend.UserID))
                                {
                                    receivers.Add(new MessageReceiver()
                                    {
                                        UserId = friend.UserID
                                    });
                                }
                            }
                        }
                        else
                        {
                            receivers.Add(new MessageReceiver()
                            {
                                EmailAddress = receiver
                            });
                        }
                    }
                }
            }
            else if (receiverType == "member")
            {
                List <Member> list = Members.Load(objectId.Value);
                foreach (Member item in list.FindAll(x => x.UserId != UserProfile.Current.UserId))
                {
                    receivers.Add(new MessageReceiver()
                    {
                        UserId = item.UserId
                    });
                }
            }
            else if (receiverType == "report")
            {
                foreach (var emailAddress in ConfigurationManager.AppSettings["ReportMail"].Split(','))
                {
                    receivers.Add(new MessageReceiver()
                    {
                        EmailAddress = emailAddress
                    });
                }
            }

            if (receivers.Count == 0)
            {
                pnlError.Visible = true;
                ScriptManager.RegisterClientScriptBlock(up, up.GetType(), "AutoSize", "GetRadWindow().autoSize();", true);
                errorMsg.Text = language.GetString("ErrorMessageNoConect");
            }
            else if (string.IsNullOrEmpty(txtBody.Content.StripHTMLTags().Trim()))
            {
                pnlError.Visible = true;
                ScriptManager.RegisterClientScriptBlock(up, up.GetType(), "AutoSize", "GetRadWindow().autoSize();", true);
                errorMsg.Text = language.GetString("ErrorMessageNoText");
            }
            else
            {
                if (messageType.ToLower() == "msg")
                {
                    msgSent = SendMessage(receivers, txtSubject.Text, txtBody.Content);
                }
                else if (messageType.ToLower() == "rec")
                {
                    msgSent = SendRecommendation(receivers, rawLink, txtSubject.Text, txtBody.Content);
                }
                else if (messageType.ToLower() == "invite")
                {
                    msgSent = SendInvitation(receivers, txtSubject.Text, txtBody.Content);
                }
                else if (messageType.ToLower() == "ymr")
                {
                    msgSent = SendFriendshipRequest(receivers, txtSubject.Text, txtBody.Content);
                }
                else if (messageType.ToLower() == "rep")
                {
                    msgSent = SendReport(receivers, txtSubject.Text, txtBody.Content);
                }
                else if (messageType.ToLower() == "pbo")
                {
                    msgSent = SendPinboardResponse(receivers, txtSubject.Text, txtBody.Content, MessageTypes.PinboardOfferResponse);
                }
                else if (messageType.ToLower() == "pbs")
                {
                    msgSent = SendPinboardResponse(receivers, txtSubject.Text, txtBody.Content, MessageTypes.PinboardSearchResponse);
                }

                if (msgSent)
                {
                    ScriptManager.RegisterClientScriptBlock(up, up.GetType(), "CloseWindow", "$telerik.$(function() { RefreshParentPage();GetRadWindow().Close(); } );", true);
                }
                else
                {
                    pnlError.Visible = true;
                    ScriptManager.RegisterClientScriptBlock(up, up.GetType(), "AutoSize", "GetRadWindow().autoSize();", true);
                    errorMsg.Text = language.GetString("ErrorMessageCouldNotSend");
                }
            }
        }
Ejemplo n.º 4
0
        private IRepeater LoadMyFriends(int pageSize, bool showPagerTop, bool showPagerBottom, int amount, QuickSort sortBy, string repeater, string template)
        {
            QuickParametersFriends paras = new QuickParametersFriends();

            paras.ObjectType = 2;
            paras.Udc        = UserDataContext.GetUserDataContext();
            if (this._Host.ParentPageType == PageType.None)
            {
                DataObject user = DataObject.Load <DataObject>(this._Host.ParentCommunityID);
                paras.CurrentUserID = user.UserID;
            }
            else
            {
                paras.CurrentUserID = paras.Udc.UserID;
            }
            paras.OnlyNotBlocked = true;
            if (amount >= 0)
            {
                paras.Amount = amount;
            }
            paras.PageNumber    = 1;
            paras.PageSize      = pageSize;
            paras.DisablePaging = (!showPagerTop && !showPagerBottom);
            paras.SortBy        = QuickSort.Title;
            paras.Direction     = QuickSortDirection.Asc;
            paras.IgnoreCache   = false;
            paras.WithCopy      = false;
            paras.OnlyConverted = true;
            paras.ShowState     = ObjectShowState.Published;

            Control ctrl = LoadControl("~/UserControls/Repeaters/" + repeater);

            IRepeater overview = ctrl as IRepeater;

            if (overview != null)
            {
                overview.QuickParameters    = paras;
                overview.OutputTemplate     = template;
                overview.TopPagerVisible    = showPagerTop;
                overview.BottomPagerVisible = showPagerBottom;
                overview.ItemNameSingular   = language.GetString("TextMyFriendsSingular");
                overview.ItemNamePlural     = language.GetString("TextMyFriendsPlural");
            }

            ISettings settings = ctrl as ISettings;

            if (settings != null)
            {
                if (settings.Settings == null)
                {
                    settings.Settings = new System.Collections.Generic.Dictionary <string, object>();
                }

                if (!settings.Settings.ContainsKey("ParentPageType"))
                {
                    settings.Settings.Add("ParentPageType", (int)_Host.ParentPageType);
                }
            }

            return(overview);
        }