private void setupOtherInformation(msMembershipOrganization mo) { cbMembershipDirectoryOptOut.Checked = targetMembership.MembershipDirectoryOptOut; cbAutomaticallyPay.Checked = targetMembership.AutomaticallyPayForRenewal; CustomFieldSet1.MemberSuiteObject = targetMembership; CustomFieldSet1.DataBind(); }
private void setupFundraisingProducts(msMembershipOrganization mo, List <ProductInfo> dtAllProducts) { var donationProducts = dtAllProducts.FindAll(x => x.ProductType == msFundraisingProduct.CLASS_NAME); if (donationProducts.Count == 0) { divDonations.Visible = false; return; } rptDonations.DataSource = donationProducts; rptDonations.DataBind(); }
private void setupSections(msMembershipOrganization mo, msMembershipDuesProduct product) { SectionMode cm = mo.SectionMode; // check to see if we need to override on product if (product[msMembershipDuesProduct.FIELDS.SectionMode] != null) { cm = product.SafeGetValue <SectionMode>(msMembershipDuesProduct.FIELDS.SectionMode); } switch (cm) { case SectionMode.SectionsDisabled: divSections.Visible = false; return; } // let's pull all of the chapters Search sSections = new Search { Type = msSection.CLASS_NAME }; sSections.AddCriteria(Expr.Equals(msSection.FIELDS.MembershipOrganization, targetMembership.MembershipOrganization)); sSections.AddCriteria(Expr.Equals(msSection.FIELDS.IsActive, true)); sSections.AddSortColumn("Type.Name"); sSections.AddSortColumn("Name"); sSections.AddOutputColumn("Name"); sSections.AddOutputColumn("Type.Name"); _sections = APIExtensions.GetSearchResult(sSections, 0, null).Table; // ok, let's pull out all of the section types List <string> sectionTypes = new List <string>(); foreach (DataRow dr in _sections.Rows) { string typeName = ""; if (dr["Type.Name"] != DBNull.Value) { typeName = Convert.ToString(dr["Type.Name"]); } if (!sectionTypes.Contains(typeName)) { sectionTypes.Add(typeName); } } rptSections.DataSource = sectionTypes; rptSections.DataBind(); }
private void setupAdditionalItems(msMembershipOrganization mo, List <ProductInfo> dtAllProducts) { // we only want non-fundraising products var additionalItems = dtAllProducts.FindAll(x => x.ProductType != msFundraisingProduct.CLASS_NAME); if (additionalItems.Count == 0) { divOtherProducts.Visible = false; return; } rptAdditionalItems.DataSource = additionalItems; rptAdditionalItems.DataBind(); }
/// <summary> /// Initializes the target object for the page /// </summary> /// <remarks>Many pages have "target" objects that the page operates on. For instance, when viewing /// an event, the target object is an event. When looking up a directory, that's the target /// object. This method is intended to be overriden to initialize the target object for /// each page that needs it.</remarks> protected override void InitializeTargetObject() { base.InitializeTargetObject(); targetSection = LoadObjectFromAPI <msSection>(ContextID); if (targetSection == null) { GoToMissingRecordPage(); return; } targetSectionLeader = targetSection.Leaders.Find(x => x.Individual == CurrentEntity.ID); if (targetSectionLeader == null) { GoToMissingRecordPage(); return; } targetMembershipOrganization = LoadObjectFromAPI <msMembershipOrganization>(targetSection.MembershipOrganization); if (targetMembershipOrganization == null) { GoToMissingRecordPage(); return; } targetSearchManifest = MultiStepWizards.ViewSectionMembers.SearchManifest; if (targetSearchManifest == null || targetSearchManifest.DefaultSelectedFields.Count == 0) { targetSearchManifest = buildSearchManifest(); MultiStepWizards.ViewSectionMembers.SearchManifest = targetSearchManifest; } using (IConciergeAPIService proxy = GetConciegeAPIProxy()) { List <string> availableFields = defaultFieldFullPaths; //If the Membership Organization has defined criteria fields available to leaders use them but prefix with "Membership." because the settings are based on the Membership search //while this is a section membership search if (targetMembershipOrganization.LeaderSearchFields != null) { availableFields = (from field in targetMembershipOrganization.LeaderSearchFields select "Membership." + field).ToList(); } targetCriteriaFields = proxy.GetSearchFieldMetadataFromFullPath(msSectionMembership.CLASS_NAME, null, availableFields).ResultValue; } }
/// <summary> /// Initializes the target object for the page /// </summary> /// <remarks>Many pages have "target" objects that the page operates on. For instance, when viewing /// an event, the target object is an event. When looking up a directory, that's the target /// object. This method is intended to be overriden to initialize the target object for /// each page that needs it.</remarks> protected override void InitializeTargetObject() { base.InitializeTargetObject(); targetOrganizationalLayer = LoadObjectFromAPI <msOrganizationalLayer>(ContextID); if (targetOrganizationalLayer == null) { GoToMissingRecordPage(); return; } targetMembershipOrganization = LoadObjectFromAPI <msMembershipOrganization>(targetOrganizationalLayer.MembershipOrganization); if (targetMembershipOrganization == null) { GoToMissingRecordPage(); return; } targetSearchManifest = MultiStepWizards.ViewOrganizationalLayerMembers.SearchManifest; if (targetSearchManifest == null || targetSearchManifest.DefaultSelectedFields.Count == 0) { targetSearchManifest = buildSearchManifest(); MultiStepWizards.ViewOrganizationalLayerMembers.SearchManifest = targetSearchManifest; } using (IConciergeAPIService proxy = GetConciegeAPIProxy()) { List <string> availableFields = defaultFieldFullPaths; //If the Membership Organization has defined criteria fields available to leaders use them but prefix with "Membership." because the settings are based on the Membership search //while this is a chapter membership search if (targetMembershipOrganization.LeaderSearchFields != null) { availableFields = (from field in targetMembershipOrganization.LeaderSearchFields select "Membership." + field).ToList(); } targetCriteriaFields = proxy.GetSearchFieldMetadataFromFullPath(msChapterMembership.CLASS_NAME, null, availableFields).ResultValue; } drTargetOrganizationalLayerType = PortalConfiguration.OrganizationalLayerTypes.Rows.Find(targetOrganizationalLayer.Type); //Has to be in the InitializeTargetObject to have the leader before running the CheckSecurity loadDataFromConcierge(); }
private void setupChapters(msMembershipOrganization mo, msMembershipDuesProduct product) { ChapterMode cm = mo.ChapterMode; // check to see if we need to override on product if (product[msMembershipDuesProduct.FIELDS.ChapterMode] != null) { cm = product.SafeGetValue <ChapterMode>(msMembershipDuesProduct.FIELDS.ChapterMode); } switch (cm) { case ChapterMode.ChaptersDisabled: divChapter.Visible = false; // don't show it return; case ChapterMode.MemberJoinsOneChapter: divChapter.Visible = true; divAdditionalChapters.Visible = false; break; case ChapterMode.MemberCanJoinMultipleChapters: divChapter.Visible = true; divAdditionalChapters.Visible = true; break; } // let's pull all of the chapters List <NameValueStringPair> tblChapters; using (var api = GetServiceAPIProxy()) { tblChapters = api.GetApplicableChaptersForMembershipType(targetMembership.Type).ResultValue; } ddlSelectChapter.DataSource = tblChapters; ddlSelectChapter.DataTextField = "Name"; ddlSelectChapter.DataValueField = "Value"; ddlSelectChapter.DataBind(); if (divAdditionalChapters.Visible) // bind the list box, too { lbAdditionalChapters.DataSource = tblChapters; lbAdditionalChapters.DataTextField = "Name"; lbAdditionalChapters.DataValueField = "Value"; lbAdditionalChapters.DataBind(); } ddlSelectChapter.Items.Insert(0, new ListItem("---- Select a Chapter ----", "")); // ok - are we suggesting a chapter based on zip code? var cpm = mo.ChapterPostalCodeMappingMode; // check to see if we need to override on product if (product[msMembershipDuesProduct.FIELDS.ChapterPostalCodeMappingMode] != null) { cpm = product.SafeGetValue <ChapterPostalCodeMappingMode>(msMembershipDuesProduct.FIELDS.ChapterPostalCodeMappingMode); } if (cpm != ChapterPostalCodeMappingMode.Disabled) { MemberSuiteObject msoChapter = null; using (var api = GetServiceAPIProxy()) msoChapter = api.SuggestChapter(mo.ID, targetEntity.ID).ResultValue; if (msoChapter != null) // have have a chapter { ListItem li = ddlSelectChapter.Items.FindByValue(msoChapter.SafeGetValue <string>("ID")); if (li != null) // we have a match { li.Selected = true; if (cpm == ChapterPostalCodeMappingMode.Assign) { ddlSelectChapter.Enabled = false; // can't be changed trChapterAssigned.Visible = true; } // if a chapter matches, that's it, we're done return; } } } // let's try and set to the default chapter if (targetMembership != null && targetMembership.Chapters != null) { // find the primary var cPrimary = (targetMembership.Chapters.Find(x => x.IsPrimary)); // MS-4984 - only set the default chapter if it's set up in the mem org if (cPrimary != null && mo.MembersShouldInheritPreviousChapterUponRenewal) { ddlSelectChapter.SafeSetSelectedValue(cPrimary.Chapter); } // now, let's try to select the additional if (divAdditionalChapters.Visible) { foreach (var c in targetMembership.Chapters) { if ((c.ExpirationDate == null || c.ExpirationDate == targetMembership.ExpirationDate) && (cPrimary == null || c.Chapter != cPrimary.Chapter)) { ListItem li = lbAdditionalChapters.Items.FindByValue(c.Chapter); if (li != null) { li.Selected = true; } } } } } }