public async Task <FragmentCreateUpdateResponse> CreateFragment(ClaimsPrincipal claim, FragmentCreateRequest request) { var response = new FragmentCreateUpdateResponse(); var user = await _userService.GetCurrentUser(claim); var userId = user == null ? string.Empty : user.Id; if (string.IsNullOrEmpty(userId)) { response.ErrorMessages.Add("You are not authorised to perform this action."); return(response); } if (string.IsNullOrEmpty(request.Name)) { response.ErrorMessages.Add("Name is required."); return(response); } var realm = await _fragmentDataService.GetAsync <Realm>(request.RealmId); if (realm == null) { response.ErrorMessages.Add("The Realm you are attempting to create a page for was not found."); return(response); } var fragment = _mapper.Map <Fragment>(request); fragment.Code = await ValidateAndSetFragmentCode(fragment, realm); await ProcessAndPersistNewTags(realm, fragment, request.TagList); _fragmentDataService.SetToPersist(fragment); await _fragmentDataService.SaveAsync(); response.Data = _mapper.Map <FragmentItemViewModel>(fragment); return(response); }
public async Task<FragmentCreateUpdateResponse> Create(FragmentCreateRequest request) { return await _fragmentService.CreateFragment(User, request); }