コード例 #1
0
        internal IFacadeUpdateResult <SubsiteData> SaveSubsite(SubsiteData dto)
        {
            ArgumentValidator.IsNotNull("dto", dto);

            FacadeUpdateResult <SubsiteData> result = new FacadeUpdateResult <SubsiteData>();
            ISubsiteService service  = UnitOfWork.GetService <ISubsiteService>();
            Subsite         instance = RetrieveOrNew <SubsiteData, Subsite, ISubsiteService>(result.ValidationResult, dto.Id);

            if (result.IsSuccessful)
            {
                instance.Address    = dto.Address;
                instance.Phone      = dto.Phone;
                instance.Fax        = dto.Fax;
                instance.Email      = dto.Email;
                instance.Website    = dto.Website;
                instance.BackColor  = dto.BackColor;
                instance.TitleColor = dto.TitleColor;
                instance.BannerUrl  = dto.BannerUrl;
                if (dto.SubsiteFolderId != null)
                {
                    instance.SubsiteFolderId = dto.SubsiteFolderId;
                }
                instance.DefaultLanguageId = dto.DefaultLanguageId;
                instance.DefaultLocationId = dto.DefaultLocationId;
                instance.BannerHeight      = dto.BannerHeight;
                instance.IsPublished       = dto.IsPublished;

                var saveQuery = service.Save(instance);

                result.AttachResult(instance.RetrieveData <SubsiteData>());
                result.Merge(saveQuery);
            }

            return(result);
        }
コード例 #2
0
        public IFacadeUpdateResult <SubsiteData> SaveSubsite(SubsiteData data)
        {
            UnitOfWork.BeginTransaction();
            IFacadeUpdateResult <SubsiteData> result = SubsiteSystem.SaveSubsite(data);

            if (result.IsSuccessful)
            {
                UnitOfWork.CommitTransaction();
            }
            else
            {
                UnitOfWork.RollbackTransaction();
            }
            return(result);
        }
コード例 #3
0
        public static SubsiteData ConvertToData(SubsiteInfoDto entity)
        {
            SubsiteData result = new SubsiteData();

            result.Id          = entity.Id;
            result.Address     = entity.Address;
            result.Phone       = entity.Phone;
            result.Fax         = entity.Fax;
            result.Email       = entity.Email;
            result.Website     = entity.Website;
            result.BackColor   = entity.BackColor;
            result.TitleColor  = entity.TitleColor;
            result.BannerUrl   = entity.BannerUrl;
            result.IsPublished = entity.IsPublished;
            if (entity.SubsiteFolderId.HasValue)
            {
                result.SubsiteFolderId = entity.SubsiteFolderId.Value;
            }
            result.DefaultLanguageId = entity.DefaultLanguageId;
            result.DefaultLocationId = entity.DefaultLocationId;

            return(result);
        }
コード例 #4
0
        public IFacadeUpdateResult <FolderData> SaveSubsiteBatch(FolderTreeData folderTree, SubsiteData subSite)
        {
            UnitOfWork.BeginTransaction();
            // 1. Save parent folder
            folderTree.Folder.IsSubsiteRoot = true;
            FacadeUpdateResult <FolderData> result = SaveFolderTree(folderTree);

            if (result.IsSuccessful)
            {
                // 2. Save SubsiteData
                subSite.SubsiteFolderId = result.Result.Id;
                IFacadeUpdateResult <SubsiteData> subSiteResult = SubsiteSystem.SaveSubsite(subSite);
                result.ValidationResult.Merge(subSiteResult.ValidationResult);
                if (subSiteResult.IsSuccessful)
                {
                    UnitOfWork.CommitTransaction();
                }
                else
                {
                    UnitOfWork.RollbackTransaction();
                }
            }
            else
            {
                UnitOfWork.RollbackTransaction();
            }

            return(result);
        }