Carrotware.CMS.Core.ContentSnippet.Save C# (CSharp) Метод

Save() публичный Метод

public Save ( ) : void
Результат void
        public void Save()
        {
            using (CarrotCMSDataContext _db = CarrotCMSDataContext.Create()) {
                SiteData site = SiteData.GetSiteFromCache(this.SiteID);

                carrot_RootContentSnippet rc = CompiledQueries.cqGetSnippetDataTbl(_db, this.SiteID, this.Root_ContentSnippetID);

                carrot_ContentSnippet oldC = CompiledQueries.cqGetLatestSnippetContentTbl(_db, this.SiteID, this.Root_ContentSnippetID);

                bool bNew = false;

                if (rc == null) {
                    rc = new carrot_RootContentSnippet();
                    rc.Root_ContentSnippetID = Guid.NewGuid();
                    rc.SiteID = site.SiteID;

                    rc.CreateDate = DateTime.UtcNow;
                    if (this.CreateUserId != Guid.Empty) {
                        rc.CreateUserId = this.CreateUserId;
                    } else {
                        rc.CreateUserId = SecurityData.CurrentUserGuid;
                    }

                    _db.carrot_RootContentSnippets.InsertOnSubmit(rc);
                    bNew = true;
                }

                this.ContentSnippetSlug = ContentPageHelper.ScrubSlug(this.ContentSnippetSlug);

                rc.ContentSnippetActive = this.ContentSnippetActive;
                rc.ContentSnippetName = this.ContentSnippetName;
                rc.ContentSnippetSlug = this.ContentSnippetSlug;

                rc.GoLiveDate = site.ConvertSiteTimeToUTC(this.GoLiveDate);
                rc.RetireDate = site.ConvertSiteTimeToUTC(this.RetireDate);

                carrot_ContentSnippet c = new carrot_ContentSnippet();
                c.ContentSnippetID = Guid.NewGuid();
                c.Root_ContentSnippetID = rc.Root_ContentSnippetID;
                c.IsLatestVersion = true;

                if (!bNew) {
                    oldC.IsLatestVersion = false;
                }

                c.EditDate = DateTime.UtcNow;
                if (this.EditUserId != Guid.Empty) {
                    c.EditUserId = this.EditUserId;
                } else {
                    c.EditUserId = SecurityData.CurrentUserGuid;
                }

                c.ContentBody = this.ContentBody;

                rc.Heartbeat_UserId = c.EditUserId;
                rc.EditHeartbeat = DateTime.UtcNow;

                _db.carrot_ContentSnippets.InsertOnSubmit(c);

                _db.SubmitChanges();

                this.ContentSnippetID = c.ContentSnippetID;
                this.Root_ContentSnippetID = rc.Root_ContentSnippetID;
            }
        }