Пример #1
0
 public void PurchaseProduct(int userId, int productId)
 {
     using (var context = new UserDataContext()){
         var product = context.Products.Find(productId);
         product.OwnerId     = userId;
         product.IsPurchased = true;
         context.SaveChanges();
     }
 }
Пример #2
0
 protected void OnAddStatusClick(object sender, EventArgs e)
 {
     if (TxtInput.Text.Trim().Length > 0)
     {
         _4screen.CSB.DataAccess.Business.UserActivities.InsertDoNowThis(UserDataContext.GetUserDataContext(), TxtInput.Text.Trim());
         TxtInput.Text = string.Empty;
         LoadUserActivities();
     }
 }
Пример #3
0
 public void TraceError(string title, string message, SeverityLevel severityLevel)
 {
     using (var context = new UserDataContext()){
         context.TraceMessage.Add(
             new TraceMessage(title, message, severityLevel, DateTime.UtcNow)
             );
         context.SaveChanges();
     }
 }
Пример #4
0
        protected void OnPublishButtonClick(object sender, EventArgs e)
        {
            DataObject dataObject = DataObject.Load <DataObject>(((LinkButton)sender).CommandArgument.ToGuid(), null, true);

            dataObject.ShowState = ObjectShowState.Published;
            dataObject.Update(UserDataContext.GetUserDataContext());

            Response.Redirect(Request.RawUrl);
        }
Пример #5
0
        protected void OnWithdrawButtonClick(object sender, EventArgs e)
        {
            DataObject dataObject = DataObject.Load <DataObject>(((LinkButton)sender).CommandArgument.ToGuid(), null, true);

            dataObject.ShowState = ObjectShowState.Draft;
            dataObject.Update(UserDataContext.GetUserDataContext());

            DoSearch();
        }
Пример #6
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;
            }
        }
Пример #7
0
 public void Reload()
 {
     lastDate   = DateTime.Now;
     HasContent = false;
     this.UserActivityParameters.Udc = UserDataContext.GetUserDataContext();
     this.YMRP.DataSource            = _4screen.CSB.DataAccess.Business.UserActivities.Load(this.UserActivityParameters);
     this.YMRP.DataBind();
     numberItems = this.UserActivityParameters.ItemTotal;
 }
Пример #8
0
 private void LoadDefaultQuickParameters()
 {
     quickParameters                 = new QuickParameters();
     quickParameters.Udc             = UserDataContext.GetUserDataContext();
     quickParameters.CurrentObjectID = DataObject.ObjectID;
     quickParameters.PageSize        = pageSize;
     quickParameters.SortBy          = QuickSort.InsertedDate;
     quickParameters.Amount          = 0;
 }
Пример #9
0
        public void MoveWidgetInstance(string widgetInstanceId, int toColum, int toRow)
        {
            Guid communityId = DataAccess.Business.Utils.GetCommunityIdFromWidgetInstance(widgetInstanceId.ToGuid());

            if ((DataObject.GetUserAccess(UserDataContext.GetUserDataContext(), communityId, communityId, Common.Helper.GetObjectTypeNumericID("Community")) & ObjectAccessRight.Update) == ObjectAccessRight.Update)
            {
                SPs.HispMoveWidgetInstance(new Guid(widgetInstanceId), toColum, toRow).Execute();
            }
        }
Пример #10
0
 public DataObjectCommunity(UserDataContext userDataContext)
     : base(userDataContext)
 {
     objectType      = Helper.GetObjectType("Community").NumericId;
     emphasisListXml = new XmlDocument();
     XmlHelper.CreateRoot(emphasisListXml, "Root");
     CreateGroupUser = (CommunityUsersType)Enum.Parse(typeof(CommunityUsersType), SiteConfig.GetSetting("DefaultCreateGroupUsers"));
     UploadUsers     = (CommunityUsersType)Enum.Parse(typeof(CommunityUsersType), SiteConfig.GetSetting("DefaultUploadUsers"));
 }
Пример #11
0
        private IRepeater LoadLastVisitors(int pageSize, bool showPagerTop, bool showPagerBottom, int amount, QuickSort sortBy, string repeater, string template)
        {
            DataObject community = DataObject.Load <DataObject>(this.CommunityID);

            QuickParametersUser paras = new QuickParametersUser();

            paras.ObjectType    = 2;
            paras.Udc           = UserDataContext.GetUserDataContext();
            paras.ViewLogParams = new ViewLogParams()
            {
                ObjectID = community.ObjectType == Helper.GetObjectTypeNumericID("ProfileCommunity") ? community.UserID : this.CommunityID,
            };
            if (amount >= 0)
            {
                paras.Amount = amount;
            }
            paras.PageNumber    = 1;
            paras.PageSize      = pageSize;
            paras.DisablePaging = (!showPagerTop && !showPagerBottom);
            paras.SortBy        = sortBy;
            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("TextLastVisitorsSingular");
                overview.ItemNamePlural     = language.GetString("TextLastVisitorsPlural");
            }

            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);
        }
Пример #12
0
        internal static string GetBanner(string pageName, UserDataContext udc)
        {
            List <string>       bannerContent     = new List <string>();
            List <Guid>         campaignIds       = new List <Guid>();
            float               costPerBannerView = 0;
            SqlConnectionHelper sqlConnection     = new SqlConnectionHelper();

            System.Data.SqlClient.SqlDataReader sqlDataReader = null;
            try
            {
                sqlConnection.Command.CommandType = CommandType.StoredProcedure;
                sqlConnection.Command.CommandText = "hisp_Filter_AdCampaigns_LoadByBannerPage";
                sqlConnection.Command.Parameters.Add(new SqlParameter("@BannerPage", SqlDbType.VarChar));
                sqlConnection.Command.Parameters["@BannerPage"].Value = pageName;
                sqlDataReader = sqlConnection.Command.ExecuteReader(CommandBehavior.CloseConnection);
                while (sqlDataReader.Read())
                {
                    if (float.Parse(sqlDataReader["FAC_Credits"].ToString()) > float.Parse(sqlDataReader["FAC_CreditsUsed"].ToString()) + float.Parse(sqlDataReader["FAC_CostPerBannerClick"].ToString()))
                    {
                        bannerContent.Add(sqlDataReader["FAC_Content"].ToString());
                        campaignIds.Add((Guid)sqlDataReader["FAC_ID"]);
                        costPerBannerView = float.Parse(sqlDataReader["FAC_CostPerBannerView"].ToString());
                    }
                }
                sqlDataReader.Close();
            }
            finally
            {
                sqlConnection.Close();
            }

            if (bannerContent.Count == 1)
            {
                if (AddView(udc.IsAuthenticated ? udc.UserID : udc.AnonymousUserId, udc.UserIP, campaignIds[0], "Banner") > 0)
                {
                    IncreaseCreditsUsed(udc, campaignIds[0], costPerBannerView);
                    AddLog(campaignIds[0], null, udc.UserID, pageName, "Banner");
                }
                return(bannerContent[0]);
            }
            else if (bannerContent.Count > 1)
            {
                Random random      = new Random();
                int    bannerIndex = random.Next(0, bannerContent.Count);
                if (AddView(udc.IsAuthenticated ? udc.UserID : udc.AnonymousUserId, udc.UserIP, campaignIds[bannerIndex], "Banner") > 0)
                {
                    IncreaseCreditsUsed(udc, campaignIds[bannerIndex], costPerBannerView);
                    AddLog(campaignIds[bannerIndex], null, udc.UserID, pageName, "Banner");
                }
                return(bannerContent[bannerIndex]);
            }
            else
            {
                return("");
            }
        }
Пример #13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            pinboardOffer = (DataObjectPinboardOffer)dataObject;
            udc           = UserDataContext.GetUserDataContext();

            if (UserProfile.Current.IsAnonymous)
            {
                this.CTCTBTN.Visible = false;
            }

            this.CTCTBTN.NavigateUrl = string.Format("Javascript:radWinOpen('/Pages/popups/MessageSend.aspx?MsgType=pbo&recid={0}&objid={1}', '{2}', 510, 490, false, null)", pinboardOffer.UserID, pinboardOffer.ObjectID, language.GetString("CommandPinboardContactTitle").StripForScript());

            // Disable tooltip managers by default -> tooltip managers without targets don't work
            this.RTTM.Visible    = false;
            this.RTTMIMG.Visible = false;
            if (pinboardOffer != null)
            {
                foreach (string tooltipId in _4screen.CSB.DataAccess.Business.AdWordHelper.GetCampaignObjectIds(pinboardOffer.ObjectID.Value))
                {
                    this.RTTM.TargetControls.Add(tooltipId, true);
                    this.RTTM.Visible = true;
                }
            }

            this.DESCLIT.Text = pinboardOffer.DescriptionLinked;

            decimal price;

            if (pinboardOffer.Price.EndsWith("0") || decimal.TryParse(pinboardOffer.Price, out price))
            {
                this.PRICELIT.Text = string.Format("{0}: {1} CHF", language.GetString("CommandPinboardPrice"), pinboardOffer.Price);
            }
            else if (pinboardOffer.Price != "")
            {
                this.PRICELIT.Text = string.Format("{0}: {1}", language.GetString("CommandPinboardPrice"), pinboardOffer.Price);
            }
            else
            {
                this.PRICELIT.Text = string.Format("{0}: {1}", language.GetString("CommandPinboardPrice"), language.GetString("CommandPinboardNoPrice"));
            }

            pinboardPictures = DataObjects.Load <DataObjectPicture>(new QuickParameters {
                RelationParams = new RelationParams {
                    ParentObjectID = pinboardOffer.ObjectID, ChildObjectType = Helper.GetObjectTypeNumericID("Picture")
                }, ShowState = ObjectShowState.Published, Amount = 0, Direction = QuickSortDirection.Asc, PageNumber = 0, PageSize = 999999, SortBy = QuickSort.RelationSortNumber, Udc = UserDataContext.GetUserDataContext()
            });

            foreach (DataObjectPicture picture in pinboardPictures)
            {
                string imageId = "Img_" + picture.ObjectID.Value.ToString();
                this.RTTMIMG.TargetControls.Add(imageId, true);
                this.RTTMIMG.Visible = true;
                LiteralControl image = new LiteralControl(string.Format("<div style=\"float:left;width:110px;\"><div><img class ='articlepic' src=\"{0}{1}\" id=\"{2}\" /></div><div>{3}</div></div>", _4screen.CSB.Common.SiteConfig.MediaDomainName, picture.GetImage(PictureVersion.S), imageId, picture.Title));
                this.PhImgs.Controls.Add(image);
            }
        }
Пример #14
0
        protected void OnRemoveItemClick(object sender, EventArgs e)
        {
            Guid objectId = ((LinkButton)sender).CommandArgument.ToGuid();
            DataObjectForumTopicItem item = DataObject.Load <DataObjectForumTopicItem>(objectId, null, true);

            item.ItemStatus = CommentStatus.Deleted;
            item.Update(UserDataContext.GetUserDataContext());

            Reload();
        }
Пример #15
0
 protected override void OnInit(EventArgs e)
 {
     HasContent   = true;
     lnkE.ToolTip = GuiLanguage.GetGuiLanguage("UserControls.WebUI.Base").GetString("TooltipNavigationEdit");
     udc          = UserDataContext.GetUserDataContext();
     //Print the languagebar here for the events to to fire
     ShowNormalMode();
     lnkE.Visible     = IsUserEditor();
     lnkE.NavigateUrl = string.Format("/admin/NavigationsEdit.aspx?NavID={0}&Src={1}", NavigationID, Server.UrlEncode(Request.Url.PathAndQuery));
 }
Пример #16
0
 protected void LbtnInput_Click1(object sender, EventArgs e)
 {
     if (TxtInput.Text.Trim().Length > 0)
     {
         _4screen.CSB.DataAccess.Business.UserActivities.InsertDoNowThis(UserDataContext.GetUserDataContext(), TxtInput.Text.Trim());
         TxtInput.Text = string.Empty;
         Reload(true);
     }
     hasContent = true;
 }
Пример #17
0
        public void Run()
        {
            using (UserDataContext context = new UserDataContext())
            {
                var tbUser = context.TB_USER.Where(u => u.ID == "U002").First();

                tbUser.AGE = 30;
                context.SubmitChanges();
            }
        }
Пример #18
0
        public void Run()
        {
            using (UserDataContext context = new UserDataContext())
            {
                var tbUser = context.TB_USER.Where(u => u.ID == "U009").First();

                context.TB_USER.DeleteOnSubmit(tbUser);
                context.SubmitChanges();
            }
        }
Пример #19
0
        protected void OnPublishItemClick(object sender, EventArgs e)
        {
            Guid objectId = ((LinkButton)sender).CommandArgument.ToGuid();
            DataObjectForumTopicItem item = DataObject.Load <DataObjectForumTopicItem>(objectId, null, true);

            item.ShowState = ObjectShowState.Published;
            item.Update(UserDataContext.GetUserDataContext());

            Reload();
        }
Пример #20
0
        protected void OnCancelClick(object sender, EventArgs e)
        {
            DataObjectLocation location = DataObject.Load <DataObjectLocation>(control.ObjectID);

            if (location.State != ObjectState.Added)
            {
                location.Delete(UserDataContext.GetUserDataContext());
            }
            ScriptManager.RegisterStartupScript(this, GetType(), "CloseWindow", "$telerik.$(function() { GetRadWindow().Close(); } );", true);
        }
Пример #21
0
        protected void Page_Load(object sender, EventArgs e)
        {
            dataObjectFolder = (DataObjectFolder)dataObject;
            udc = UserDataContext.GetUserDataContext();

            if (!IsPostBack)
            {
                LoadFolder();
            }
        }
Пример #22
0
 protected void LbtAdd_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(TxtAnswer.Text))
     {
         pollQuestion.AddAnswer(Common.Extensions.StripHTMLTags(TxtAnswer.Text).CropString(100), CbxRight.Checked);
         pollQuestion.Update(UserDataContext.GetUserDataContext());  
         FillAnswers();
         TxtAnswer.Text = string.Empty; 
     }
 }
Пример #23
0
        public User getUserById(int?id)
        {
            var dataContext = new UserDataContext();
            var query       = (from m in dataContext.Users
                               where m.Id == id
                               select m);
            User user = query.First();

            return(user);
        }
Пример #24
0
        public void deleteUserById(int?id)
        {
            var dataContext = new UserDataContext();
            var query       = (from m in dataContext.Users
                               where m.Id == id
                               select m);

            dataContext.Users.DeleteOnSubmit(query.First());
            dataContext.SubmitChanges();
        }
Пример #25
0
        public bool Save()
        {
            try
            {
                XmlDocument xmlDocument = _4screen.CSB.DataAccess.Business.Utils.LoadWidgetInstanceSettings(InstanceId);

                if (xmlDocument.DocumentElement == null)
                {
                    XmlHelper.CreateRoot(xmlDocument, "root");
                }

                XmlHelper.SetElementInnerText(xmlDocument.DocumentElement, "uid", UserDataContext.GetUserDataContext().UserID);

                for (int intGrp = 1; intGrp < 2; intGrp++)
                {
                    XmlNode xmlGrp = xmlDocument.DocumentElement.SelectSingleNode("grp");
                    if (xmlGrp == null)
                    {
                        xmlGrp = XmlHelper.AppendNode(xmlDocument.DocumentElement, "grp");
                    }

                    string strCbxType = string.Format("cbx{0}type", intGrp);
                    XmlHelper.SetElementInnerText(xmlGrp, strCbxType, ((CheckBox)Helper.FindControl(this, strCbxType)).Checked);

                    strCbxType = string.Format("cbx{0}typeMust", intGrp);
                    XmlHelper.SetElementInnerText(xmlGrp, strCbxType, ((CheckBox)Helper.FindControl(this, strCbxType)).Checked);


                    for (int i = 0; i < 10; i++)
                    {
                        string strTxt = string.Format("txt{0}t{1}", intGrp, i);
                        XmlHelper.SetElementInnerText(xmlGrp, strTxt, ((TextBox)Helper.FindControl(this, strTxt)).Text.Trim());
                    }
                }

                for (int i = 0; i < 10; i++)
                {
                    string formField = string.Format("TxtForm{0}", i);
                    XmlHelper.SetElementInnerText(xmlDocument.DocumentElement, formField, ((TextBox)Helper.FindControl(this, formField)).Text);

                    formField = string.Format("CbxForm{0}Must", i);
                    XmlHelper.SetElementInnerText(xmlDocument.DocumentElement, formField, ((CheckBox)Helper.FindControl(this, formField)).Checked);
                }

                XmlHelper.SetElementInnerText(xmlDocument.DocumentElement, "CbxAdressShow", CbxAdressShow.Checked);
                XmlHelper.SetElementInnerText(xmlDocument.DocumentElement, "DdlAdressSave", DdlAdressSave.SelectedItem.Value);
                XmlHelper.SetElementInnerText(xmlDocument.DocumentElement, "CbxAdressCommentShow", CbxAdressCommentShow.Checked);
                XmlHelper.SetElementInnerText(xmlDocument.DocumentElement, "CbxMustAuth", CbxMustAuth.Checked);
                return(_4screen.CSB.DataAccess.Business.Utils.SaveWidgetInstanceSettings(InstanceId, xmlDocument));
            }
            catch
            {
                return(false);
            }
        }
Пример #26
0
        public override bool ShowObject(string settingsXml)
        {
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.LoadXml(settingsXml);
            bool          urlOverride   = XmlHelper.GetElementValue(xmlDocument.DocumentElement, "Url", false);
            string        mapPreset     = XmlHelper.GetElementValue(xmlDocument.DocumentElement, "MapPreset", "Default");
            MapStyle      mapStyle      = (MapStyle)Enum.Parse(typeof(MapStyle), XmlHelper.GetElementValue(xmlDocument.DocumentElement, "MapStyle", MapStyle.Aerial.ToString()));
            MapNavigation mapNavigation = (MapNavigation)Enum.Parse(typeof(MapNavigation), XmlHelper.GetElementValue(xmlDocument.DocumentElement, "MapNavigation", MapNavigation.Normal.ToString()));
            double        latitude      = (double)XmlHelper.GetElementValue(xmlDocument.DocumentElement, "Latitude", 47.05m);
            double        longitude     = (double)XmlHelper.GetElementValue(xmlDocument.DocumentElement, "Longitude", 8.3m);
            int           zoom          = XmlHelper.GetElementValue(xmlDocument.DocumentElement, "Zoom", 8);

            IMap map = (IMap)LoadControl("~/UserControls/GoogleMap.ascx");

            if (urlOverride)
            {
                map.MapLayout = MapLayout.MapOnly;
                if (!string.IsNullOrEmpty(Request.QueryString["OID"]))
                {
                    map.ObjectId = Request.QueryString["OID"].ToGuid();
                }
                else
                {
                    QuickParameters quickParameters = new QuickParameters();
                    quickParameters.Udc             = UserDataContext.GetUserDataContext();
                    quickParameters.QuerySourceType = QuerySourceType.Page;
                    quickParameters.OnlyGeoTagged   = true;
                    quickParameters.FromNameValueCollection(Request.QueryString);
                    quickParameters.Amount          = 1000;
                    quickParameters.DisablePaging   = true;
                    quickParameters.ShowState       = ObjectShowState.Published;
                    quickParameters.QuerySourceType = QuerySourceType.Page;
                    map.QuickParameters             = quickParameters;
                }
            }
            else
            {
                var mapSettings = MapSection.CachedInstance.Maps[mapPreset];
                map.MapLayout          = mapSettings.MapLayout;
                map.ObjectTypesAndTags = mapSettings.ObjectTypes.LINQEnumarable.ToList();
            }
            map.Zoom         = zoom;
            map.Latitude     = latitude;
            map.Longitude    = longitude;
            map.MapNaviation = mapNavigation;
            map.MapStyle     = mapStyle;
            int width = map.MapLayout == MapLayout.MapOnly ? WidgetHost.ColumnWidth - WidgetHost.ContentPadding : WidgetHost.ColumnWidth - WidgetHost.ContentPadding - 200;

            map.Width  = width;
            map.Height = (int)Math.Round(width * 0.75);
            Ph.Controls.Add((UserControl)map);

            return(map.HasContent);
        }
Пример #27
0
        public override bool ShowObject(string settingsXml)
        {
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.LoadXml(settingsXml);

            var searchableObjectTypes = SiteObjectSection.CachedInstance.SiteObjects.LINQEnumarable.Where(x => x.IsSearchable);

            Dictionary <int, int> numberItems = new Dictionary <int, int>();

            foreach (var objectType in searchableObjectTypes)
            {
                QuickParameters quickParameters = new QuickParameters();
                quickParameters.FromNameValueCollection(Request.QueryString);
                quickParameters.Udc              = UserDataContext.GetUserDataContext();
                quickParameters.ObjectType       = objectType.NumericId;
                quickParameters.PageSize         = XmlHelper.GetElementValue(xmlDocument.DocumentElement, "NumberResults", 5);
                quickParameters.Amount           = objectType.DefaultLoadAmount;
                quickParameters.SortBy           = QuickSort.Title;
                quickParameters.Direction        = QuickSortDirection.Asc;
                quickParameters.ShowState        = ObjectShowState.Published;
                quickParameters.DateQueryMethode = QuickDateQueryMethode.BetweenStartOpenEndOpen;
                quickParameters.FromStartDate    = DateTime.Now;
                quickParameters.ToEndDate        = DateTime.Now;

                Control control = LoadControl("~/UserControls/Repeaters/SearchResults.ascx");
                control.ID = "SRB" + objectType.NumericId;


                IRepeater overview = control as IRepeater;
                if (overview != null)
                {
                    overview.QuickParameters    = quickParameters;
                    overview.OutputTemplate     = ""; // template;
                    overview.TopPagerVisible    = false;
                    overview.BottomPagerVisible = true;
                }

                Ph.Controls.Add(control);
                if (((IBrowsable)control).GetNumberItems() > 0)
                {
                    numberItems.Add(objectType.NumericId, ((IBrowsable)control).GetNumberItems());
                }
            }

            DlRes.DataSource = numberItems;
            DlRes.DataBind();

            if (numberItems.Count == 0)
            {
                Ph.Controls.Add(new LiteralControl(GuiLanguage.GetGuiLanguage("WidgetSearchResults").GetString("MessageNothingFound")));
            }

            return(true);
        }
Пример #28
0
        /// <summary>
        /// 根据指定的查询参数查询用户句柄。
        /// </summary>
        /// <param name="query">查询参数。</param>
        /// <returns>一个包含了所有满足查询条件的用户句柄的查询结果对象。</returns>
        /// <exception cref="ArgumentNullException"/>
        public ReadOnlyCollection <UserHandle> QueryUsers(UserQueryParameter query)
        {
            if (query == null)
            {
                throw new ArgumentNullException(nameof(query));
            }
            if (query.QueryByOrganization && query.Organization == null)
            {
                throw new ArgumentNullException(nameof(query.Organization));
            }

            bool hasQuery = query.QueryByOrganization || query.QueryByUsergroup;

            if (!hasQuery)
            {
                // 没有查询参数。返回空列表。
                return(new ReadOnlyCollection <UserHandle>(new List <UserHandle>()));
            }
            else
            {
                return(m_factory.WithContext(context =>
                {
                    IQueryable <UserProfileEntity> profiles = context.GetAllUserProfiles();
                    if (query.QueryByOrganization)
                    {
                        profiles = UserDataContext.QueryUserProfileEntitiesByOrganization(profiles, query.Organization);
                    }
                    if (query.QueryBySex)
                    {
                        profiles = UserDataContext.QueryUserProfileEntitiesBySex(profiles, (NativeUserSex)query.Sex);
                    }
                    if (query.QueryByUsergroup)
                    {
                        profiles = UserDataContext.QueryUserProfileEntitiesByUsergroup(profiles,
                                                                                       (NativeUserGroup)query.UserGroup);
                    }

                    // 对查询结果进行排序以准备随时分页。
                    profiles.OrderBy(item => item.Username);

                    if (query.EnablePageQuery)
                    {
                        profiles = profiles.Page(query.PageQuery);
                    }

                    List <UserHandle> handles = new List <UserHandle>();
                    foreach (UserProfileEntity ent in profiles)
                    {
                        handles.Add(UserHandle.FromUserProfileEntity(ent));
                    }

                    return new ReadOnlyCollection <UserHandle>(handles);
                }));
            }
        }
Пример #29
0
        private IRepeater LoadCommunityMembers(int pageSize, bool showPagerTop, bool showPagerBottom, int amount, QuickSort sortBy, string repeater, string template)
        {
            QuickParametersUser paras = new QuickParametersUser();

            paras.ObjectType       = 2;
            paras.Udc              = UserDataContext.GetUserDataContext();
            paras.MembershipParams = new MembershipParams()
            {
                CommunityID = this.WidgetHost.ParentCommunityID
            };
            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("TextCommunityMembersSingular");
                overview.ItemNamePlural     = language.GetString("TextCommunityMembersPlural");
            }

            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)WidgetHost.ParentPageType);
                }
            }

            return(overview);
        }
Пример #30
0
        private void RenderCloud(int tagWordCloudSize, int relvance, int relevanceType, int?relatedObjectType, Guid?relatedCommunityID, Guid?relatedUserID)
        {
            QuickTagCloudRelevanceGroup enuRepevance     = (QuickTagCloudRelevanceGroup)relvance;
            QuickTagCloudRelevance      enurelevanceType = (QuickTagCloudRelevance)relevanceType;
            int groupAmount = 24;

            if (relvance > 0)
            {
                if (relvance <= 3)
                {
                    groupAmount = 60;
                }
                else if (relvance <= 5)
                {
                    groupAmount = 24;
                }
                else
                {
                    groupAmount = 16;
                }
            }

            QuickParametersTag quickParametersTag = new QuickParametersTag();

            quickParametersTag.Udc                  = UserDataContext.GetUserDataContext();
            quickParametersTag.IgnoreCache          = false;
            quickParametersTag.Amount               = tagWordCloudSize;
            quickParametersTag.RelevanceGroup       = enuRepevance;
            quickParametersTag.RelevanceGroupAmount = groupAmount;
            quickParametersTag.Relevance            = enurelevanceType;
            if (relatedObjectType.HasValue)
            {
                quickParametersTag.RelatedObjectType = relatedObjectType.Value;
            }
            if (relatedCommunityID.HasValue)
            {
                quickParametersTag.RelatedCommunityID = relatedCommunityID.Value;
            }
            if (relatedUserID.HasValue)
            {
                quickParametersTag.RelatedUserID = relatedUserID.Value;
            }

            List <TagCloudItem> tagCloud = DataObjectTag.GetTagCloud(5, quickParametersTag);

            hasContent = (tagCloud.Count > 0);
            StringBuilder sb = new StringBuilder();

            foreach (TagCloudItem tagWord in tagCloud)
            {
                sb.AppendFormat("<span class=\"t{0}\">&bull; <a href=\"/Tag/{1}\">{2}</a></span> ", tagWord.TagClass, tagWord.Tag.Title, tagWord.Tag.Title);
            }
            this.LitTags.Text = sb.ToString();
        }