/// <summary> /// Puts the settings. /// </summary> /// <param name="request">The request.</param> /// <returns><c>PutBlogPostsSettingsResponse</c> with success status.</returns> public PutBlogPostsSettingsResponse Put(PutBlogPostsSettingsRequest request) { var option = repository.AsQueryable <Option>().OrderByDescending(o => o.CreatedOn).FirstOrDefault(o => !o.IsDeleted) ?? new Option(); if (request.Data.DefaultMasterPageId.GetValueOrDefault() != default(Guid) && request.Data.DefaultLayoutId.GetValueOrDefault() != default(Guid)) { throw new CmsApiValidationException("Only one of DefaultLayoutId and DefaultMasterPageId can have a value."); } if (request.Data.Version > 0) { option.Version = request.Data.Version; } if (request.Data.DefaultMasterPageId.GetValueOrDefault() != default(Guid)) { option.DefaultMasterPage = repository.AsProxy <Page>(request.Data.DefaultMasterPageId.GetValueOrDefault()); option.DefaultLayout = null; } else if (request.Data.DefaultLayoutId.GetValueOrDefault() != default(Guid)) { option.DefaultLayout = repository.AsProxy <Layout>(request.Data.DefaultLayoutId.GetValueOrDefault()); option.DefaultMasterPage = null; } else { option.DefaultMasterPage = null; option.DefaultLayout = null; } unitOfWork.BeginTransaction(); repository.Save(option); unitOfWork.Commit(); return(new PutBlogPostsSettingsResponse { Data = true }); }
/// <summary> /// Puts the settings. /// </summary> /// <param name="request">The request.</param> /// <returns><c>PutBlogPostsSettingsResponse</c> with success status.</returns> public PutBlogPostsSettingsResponse Put(PutBlogPostsSettingsRequest request) { var option = repository.AsQueryable<Option>().OrderByDescending(o => o.CreatedOn).FirstOrDefault(o => !o.IsDeleted) ?? new Option(); if (request.Data.DefaultMasterPageId.GetValueOrDefault() != default(Guid) && request.Data.DefaultLayoutId.GetValueOrDefault() != default(Guid)) { throw new CmsApiValidationException("Only one of DefaultLayoutId and DefaultMasterPageId can have a value."); } if (request.Data.Version > 0) { option.Version = request.Data.Version; } if (request.Data.DefaultMasterPageId.GetValueOrDefault() != default(Guid)) { option.DefaultMasterPage = repository.AsProxy<Page>(request.Data.DefaultMasterPageId.GetValueOrDefault()); option.DefaultLayout = null; } else if (request.Data.DefaultLayoutId.GetValueOrDefault() != default(Guid)) { option.DefaultLayout = repository.AsProxy<Layout>(request.Data.DefaultLayoutId.GetValueOrDefault()); option.DefaultMasterPage = null; } else { option.DefaultMasterPage = null; option.DefaultLayout = null; } unitOfWork.BeginTransaction(); repository.Save(option); unitOfWork.Commit(); return new PutBlogPostsSettingsResponse { Data = true }; }