protected void InitializeView(UnderstoodDotOrg.Domain.Understood.Common.GroupCardModel gm) { if (gm != null) { imgModeratorImage.ImageUrl = gm.ModeratorAvatarUrl; litDesc.Text = gm.Description; litModeratorScreenName.Text = gm.ModeratorName; litModeratorTitle.Text = gm.ModeratorTitle; litTitle.Text = gm.Title; litNumMembers.Text = gm.NumOfMembers.ToString(); litNumThreads.Text = gm.NumOfDiscussions.ToString(); } }
/// <summary> /// Function to save the current page reference in session and redirect to signup/signin page /// </summary> /// <param name="currentPage"></param> /// <param name="permission">Defines user permission for current action to be performed</param> /// <param name="UrlToGoto">Alternative URL to be redirected (Note: Session reference to previous page will be cleared).</param> static public void ProfileRedirect(this BaseSublayout page, UnderstoodDotOrg.Common.Constants.UserPermission permission, string UrlToGoto = null, bool preserveURL = false) { // only set redirect if we don't already have a place to go back to - this will allow us to "chain" permission checks without losing original return URL if (page.Session[Constants.SessionPreviousUrl] == null && !preserveURL) { page.Session[Constants.SessionPreviousUrl] = page.Page.Request.RawUrl; } switch (permission) { case Constants.UserPermission.CommunityUser: //is user logged in? if (page.CurrentMember == null) { //not logged in, please log in page.Page.Response.Redirect(SignInPageItem.GetSignInPage().GetUrl()); } else { //is user registered for community? if (String.IsNullOrEmpty(page.CurrentMember.ScreenName)) { //redirect to community sign-up redirect(page, RegisterCommunityProfileItem.GetRegisterCommunityProfilePage().GetUrl()); } } break; case Constants.UserPermission.RegisteredUser: //is user logged in? if (page.CurrentMember == null) { //not logged in, please log in redirect(page, SignInPageItem.GetSignInPage().GetUrl()); } break; case Constants.UserPermission.AnonymousUser: break; case Constants.UserPermission.AdminUser: break; case Constants.UserPermission.Moderator: break; case Constants.UserPermission.Blogger: break; case Constants.UserPermission.Expert: break; case Constants.UserPermission.InternationalUser: //redirect to international user page if (page.isInternationalUser == Constants.GeoIPLookup.InternationalStatus.UnknownInternationalUser) { redirect(page, InternationalUserPageItem.GetInternationalUserPage().GetUrl()); } break; case Constants.UserPermission.AgreedToTerms: //redirect to T&C if they have not agreed yet var termsUrl = TermsandConditionsItem.GetTermsAndConditionsPage().GetUrl(); if (page.CurrentMember != null && !page.CurrentMember.AgreedToSignUpTerms && !page.Request.RawUrl.Contains(termsUrl)) { redirect(page, termsUrl); } break; case Constants.UserPermission.CanPersonalize: if (page.CurrentMember == null) { redirect(page, SignInPageItem.GetSignInPage().GetUrl()); } else { if (page.CurrentMember.Children == null || page.CurrentMember.Children.Count == 0) { redirect(page, RegisterChildInformationItem.GetRegisterChildInfoPage().GetUrl()); } } break; default: break; } if (!preserveURL) { //everything's fine, redirect to page if it was passed page.Page.Session[Constants.SessionPreviousUrl] = null; } if (!String.IsNullOrEmpty(UrlToGoto)) { redirect(page, UrlToGoto); } }