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; } }
// 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; } }
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"); } } }
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); }