/// <summary> /// 构造函数 /// </summary> /// <param name="userProfileSettings">用户资料设置</param> /// <param name="userSettings">用户设置</param> /// <param name="inviteFriendSettings">邀请朋友设置</param> public UserSettingsEditModel(UserProfileSettings userProfileSettings, UserSettings userSettings, InviteFriendSettings inviteFriendSettings) { if (userSettings != null) { RegistrationMode = userSettings.RegistrationMode; AccountActivation = userSettings.AccountActivation; EnableNotActivatedUsersToLogin = userSettings.EnableNotActivatedUsersToLogin; EnableTrackAnonymous = userSettings.EnableTrackAnonymous; UserOnlineTimeWindow = userSettings.UserOnlineTimeWindow; UserPasswordFormat = userSettings.UserPasswordFormat; AutomaticModerated = userSettings.AutomaticModerated; NoModeratedUserPoint = userSettings.NoModeratedUserPoint; EnableNickname = userSettings.EnableNickname; DisplayNameType = userSettings.DisplayNameType; DisallowedUserNames = userSettings.DisallowedUserNames; MyHomePageAsSiteEntry = userSettings.MyHomePageAsSiteEntry; } if (userProfileSettings != null) { Avatar = userProfileSettings.IntegrityProportions[0]; Birthday = userProfileSettings.IntegrityProportions[1]; NowArea = userProfileSettings.IntegrityProportions[2]; HomeArea = userProfileSettings.IntegrityProportions[3]; IM = userProfileSettings.IntegrityProportions[4]; Mobile = userProfileSettings.IntegrityProportions[5]; EducationExperience = userProfileSettings.IntegrityProportions[6]; WorkExperience = userProfileSettings.IntegrityProportions[7]; Introduction = userProfileSettings.IntegrityProportions[8]; MaxPersonTag = userProfileSettings.MaxPersonTag; MinIntegrity = userProfileSettings.MinIntegrity; } if (inviteFriendSettings != null) { AllowInvitationCodeUseOnce = inviteFriendSettings.AllowInvitationCodeUseOnce; InvitationCodeTimeLiness = inviteFriendSettings.InvitationCodeTimeLiness; InvitationCodeUnitPrice = inviteFriendSettings.InvitationCodeUnitPrice; DefaultUserInvitationCodeCount = inviteFriendSettings.DefaultUserInvitationCodeCount; } }
public ActionResult MyHome(string spaceKey) { User user = userService.GetFullUser(spaceKey); ViewData["user"] = user; IUser currentUser = UserContext.CurrentUser; if (currentUser == null || currentUser.UserId != user.UserId) { return RedirectToAction("SpaceHome"); } #region 显示用户资料向导 int integrity = 0; if (user.Profile != null) { integrity = user.Profile.Integrity; } UserProfileSettings userProfileSetting = new UserProfileSettings(); if (integrity < userProfileSetting.MinIntegrity && !user.Profile.IsNeedGuide) { //读取Cookie,判断是否显示用户资料向导 HttpCookie GuideDisplayed = Request.Cookies.Get("GuideDisplayed"); if (GuideDisplayed == null) { GuideDisplayed = new HttpCookie("GuideDisplayed", "true"); GuideDisplayed.Expires = DateTime.Now.Date.AddDays(1); GuideDisplayed.HttpOnly = true; Response.Cookies.Add(GuideDisplayed); return RedirectToAction("UserProfileGuideAvatar", "UserSpaceSettings"); } } ViewData["integrity"] = integrity; #endregion #region Title pageResourceManager.InsertTitlePart("我的首页"); ViewBag.Title = user.DisplayName + "的首页"; #endregion #region 分组栏 List<Category> categoriesShow = null;//前三个分组 List<Category> categoriesMore = null;//更多分组 IEnumerable<Category> categories = categoryService.GetOwnerCategories(user.UserId, TenantTypeIds.Instance().User()); if (categories != null) { categoriesShow = categories.Take(3).ToList(); categoriesMore = categories.Skip(3).ToList(); } ViewData["categoriesShow"] = categoriesShow; if (categoriesMore != null && categoriesMore.Count > 0) ViewData["menuItem"] = categoriesMore.Select(n => new MenuItem { Text = n.CategoryName, Value = n.CategoryId.ToString(), Url = SiteUrls.Instance()._MyTimeline(Url.SpaceKey(), n.CategoryId) }); #endregion #region 导航&应用 NavigationService service = DIContainer.Resolve<NavigationService>(); ViewData["applications"] = applicationService.GetAll(true); IEnumerable<ApplicationModel> apps = applicationService.GetAll(true); IEnumerable<PresentAreaNavigation> navigations = service.GetRootPresentAreaNavigations(PresentAreaKeysOfBuiltIn.UserSpace, user.UserId); if (navigations != null && apps != null) { ViewData["navigations"] = navigations .ToDictionary(v => v, k => { var app = apps.FirstOrDefault(n => k.ApplicationId == n.ApplicationId); if (app != null) return app.ApplicationKey; return string.Empty; }); } #endregion #region 气泡 //获取内容数的链接 string tenantTypeId = TenantTypeIds.Instance().User(); Dictionary<int, List<OwnerStatisticData>> OwnerStatisticDataDictionary = new Dictionary<int, List<OwnerStatisticData>>(); Dictionary<int, string> dictionary = new Dictionary<int, string>(); IEnumerable<string> dataKeys = OwnerDataSettings.GetDataKeys(tenantTypeId); IEnumerable<ApplicationBase> applicationBase = applicationService.GetInstalledApplicationsOfOwner(PresentAreaKeysOfBuiltIn.UserSpace, user.UserId); foreach (var application in applicationBase) { var applicationDataKeys = dataKeys.Where(n => n.StartsWith(application.ApplicationKey)); var ownerStatisticDataList = new List<OwnerStatisticData>(); foreach (var dataKey in applicationDataKeys) { OwnerStatisticData ownerStatisticData = new OwnerStatisticData(); IOwnerDataGetter dataGetter = OwnerDataGetterFactory.Get(dataKey); if (dataGetter != null) { ownerStatisticData.DataName = dataGetter.DataName; ownerStatisticData.DataUrl = dataGetter.GetDataUrl(spaceKey, user.UserId); ownerStatisticData.ContentCount = new OwnerDataService(TenantTypeIds.Instance().User()).GetLong(user.UserId, dataKey); ownerStatisticDataList.Add(ownerStatisticData); } } dictionary[application.ApplicationId] = application.Config.ApplicationName; OwnerStatisticDataDictionary[application.ApplicationId] = ownerStatisticDataList; } ViewData["OwnerStatisticDataDictionary"] = OwnerStatisticDataDictionary; ViewData["dictionary"] = dictionary; ViewData["applicationBase"] = applicationBase.Where(n => n.IsEnabled).ToList(); #endregion return View(); }