public void UpdateAffiliate(ref Affiliate affiliate)
        {
            var incomingAffiliate = affiliate;

            var existingAffiliate = _affiliateRepository.FindBy <Affiliate>(a => a.AffiliateID == incomingAffiliate.AffiliateID).FirstOrDefault();

            if (existingAffiliate == null)
            {
                throw new Exception("Invalid Affiliate ID");
            }

            affiliate = _affiliateRepository.SaveGraph(incomingAffiliate);

            _cacheStorage.ClearNamespace(CacheKeyBase);
        }
Exemple #2
0
        public void UpdateSurvey(Model.Survey survey, int auditUserId)
        {
            if (survey == null)
            {
                return;
            }

            // Ensure audit-related fields have values
            UpdateAuditFields(auditUserId, survey);

            _surveyRepository.UpdateSurvey(survey, auditUserId);

            _cacheStorage.ClearNamespace("Survey");
        }
Exemple #3
0
        public void SaveSiteContent(ref SiteContent content, int auditUserId)
        {
            // Ensure 0 values are set to null, otherwise we'll get FK errors
            if (content.SiteContentParentID <= 0)
            {
                content.SiteContentParentID = null;
            }

            // Clear Publish Date
            if (content.Status != ContentStatus.Published && content.PublishDateUtc.HasValue)
            {
                content.PublishDateUtc = null;
            }

            // Update audit fields
            if (content.SiteContentID <= 0)
            {
                content.SetAuditFields(auditUserId);
            }
            else
            {
                content.UpdateAuditFields(auditUserId);
            }

            // Ensure default content version
            if (content.IsContentPage() && content.Versions.IsNullOrEmpty())
            {
                var site = GetSite(new SiteRequest()
                {
                    SiteID = content.SiteID, IncludeSiteTemplates = true
                });
                var template = site.SiteTemplates.First();

                if (site.DefaultSiteTemplateID.HasValue)
                {
                    template = site.SiteTemplates.First(s => s.SiteTemplateID == site.DefaultSiteTemplateID);
                }

                content.Versions.Add(new SiteContentVersion()
                {
                    SiteContentID  = content.SiteContentID,
                    VersionName    = "Default",
                    SiteTemplateID = template.SiteTemplateID,
                    ContentText    = template.DefaultContent
                });
            }

            // Only content pages should have versions
            if (!content.IsContentPage() && !content.Versions.IsNullOrEmpty())
            {
                content.Versions.Clear();
            }

            // Ensure audit fields on versions
            foreach (var version in content.Versions.Where(version => version.SiteContentVersionID <= 0))
            {
                version.SetAuditFields(auditUserId);
            }

            // Save it
            _cmsRepository.SaveSiteContent(content);

            // Clear CMS-related cache
            _cacheStorage.ClearNamespace("Cms");
        }