private void ExportSiteMembership(Site rootSiteExported, Site site, ZipFile zipFile, bool includeSubSites) { site = Get(site); if (!string.IsNullOrEmpty(site.Membership)) { if (site.Parent == null || (site.Parent != null && !Get(site.Parent).Membership.EqualsOrNullEmpty(site.Membership, StringComparison.CurrentCultureIgnoreCase))) { MemoryStream ms = new MemoryStream(); _membershipProvider.Export(site.GetMembership(), ms); if (ms.Length > 0) { ms.Position = 0; var entryName = GetSiteRelatedEntryName(rootSiteExported, site, MembershipFileName); if (zipFile.ContainsEntry(entryName)) { zipFile.RemoveEntry(entryName); } zipFile.AddEntry(entryName, ms); } } } if (includeSubSites) { foreach (var childSite in ChildSites(site)) { ExportSiteMembership(rootSiteExported, childSite, zipFile, includeSubSites); } } }
public virtual ActionResult Export(Kooboo.CMS.Membership.Models.Membership[] model) { if (model != null || model.Length > 1) { string fileName = model.First().Name + ".zip"; Response.AttachmentHeader(fileName); var membership = model.First().AsActual(); if (membership != null) { _provider.Export(membership, Response.OutputStream); } } return(null); }