public IHttpActionResult CreateOrUpdateCategory(webModel.Category category) { var coreCategory = category.ToModuleModel(); if (coreCategory.Id == null) { if (coreCategory.SeoInfos == null || !coreCategory.SeoInfos.Any()) { var slugUrl = category.Name.GenerateSlug(); if (!String.IsNullOrEmpty(slugUrl)) { var catalog = _catalogService.GetById(category.CatalogId); var defaultLanguage = catalog.Languages.First(x => x.IsDefault).LanguageCode; coreCategory.SeoInfos = new[] { new SeoInfo { LanguageCode = defaultLanguage, SemanticUrl = slugUrl } }; } } CheckCurrentUserHasPermissionForObjects(CatalogPredefinedPermissions.Create, coreCategory); var retVal = _categoryService.Create(coreCategory).ToWebModel(_blobUrlResolver); retVal.Catalog = null; return(Ok(retVal)); } else { CheckCurrentUserHasPermissionForObjects(CatalogPredefinedPermissions.Update, coreCategory); _categoryService.Update(new[] { coreCategory }); return(StatusCode(HttpStatusCode.NoContent)); } }
public IHttpActionResult Post(webModel.Category category) { var coreCategory = category.ToModuleModel(); if (coreCategory.Id == null) { if (coreCategory.SeoInfos == null || !coreCategory.SeoInfos.Any()) { var slugUrl = category.Name.GenerateSlug(); if (!String.IsNullOrEmpty(slugUrl)) { var catalog = _catalogService.GetById(category.CatalogId); var defaultLanguage = catalog.Languages.First(x => x.IsDefault).LanguageCode; coreCategory.SeoInfos = new SeoInfo[] { new SeoInfo { LanguageCode = defaultLanguage, SemanticUrl = slugUrl } }; } } var retVal = _categoryService.Create(coreCategory).ToWebModel(); retVal.Catalog = null; return(Ok(retVal)); } else { _categoryService.Update(new[] { coreCategory }); return(StatusCode(HttpStatusCode.NoContent)); } }
public IHttpActionResult GetNewCategory(string catalogId, [FromUri]string parentCategoryId = null) { var retVal = new webModel.Category { ParentId = parentCategoryId, CatalogId = catalogId, Catalog = _catalogService.GetById(catalogId).ToWebModel(), Code = Guid.NewGuid().ToString().Substring(0, 5), SeoInfos = new List<SeoInfo>(), IsActive = true }; base.CheckCurrentUserHasPermissionForObjects(CatalogPredefinedPermissions.Create, retVal.ToModuleModel()); retVal.SecurityScopes = base.GetObjectPermissionScopeStrings(retVal.ToModuleModel()); return Ok(retVal); }
public IHttpActionResult GetNewCategory(string catalogId, [FromUri] string parentCategoryId = null) { var retVal = new webModel.Category { ParentId = parentCategoryId, CatalogId = catalogId, Code = Guid.NewGuid().ToString().Substring(0, 5), SeoInfos = new List <SeoInfo>(), IsActive = true }; CheckCurrentUserHasPermissionForObjects(CatalogPredefinedPermissions.Create, retVal.ToModuleModel()); retVal.SecurityScopes = GetObjectPermissionScopeStrings(retVal.ToModuleModel()); return(Ok(retVal)); }