public async Task <IActionResult> CreateCategories([FromBody] PostOptionsViewModel categoriesVm) { if (_postOptionsRepository.IsCategoriesExist()) { await _postOptionsRepository.UpdateCategories(categoriesVm); } else { await _postOptionsRepository.CreateCategories(categoriesVm); } return(Ok()); }
public async Task <IActionResult> CreateTag([FromBody] PostOptionsViewModel tagDataVm) { if (_postOptionsRepository.IsTagExist()) { await _postOptionsRepository.UpdateTag(tagDataVm); } else { await _postOptionsRepository.CreateTag(tagDataVm); } return(Ok()); }
public async Task CreateTag(PostOptionsViewModel tagDataVm) { var currentUser = await GetCurrentUser().ConfigureAwait(false); var tagData = _mapper.Map <PostOptionsViewModel, PostOption>(tagDataVm, options => { options.AfterMap((src, dest) => { dest.User = currentUser; dest.OptionType = PostOptionType.TagOptions; }); }); await _unitOfWork.Repository <PostOption>().AddAsync(tagData); }
public async Task CreateCategories(PostOptionsViewModel categoriesVm) { var currentUser = await GetCurrentUser().ConfigureAwait(false); var categoriesData = _mapper.Map <PostOptionsViewModel, PostOption>(categoriesVm, options => { options.AfterMap((src, dest) => { dest.User = currentUser; dest.OptionType = PostOptionType.CategorieOptions.ToString(); }); }); await _unitOfWork.Repository <PostOption>().AddAsync(categoriesData); }
public async Task UpdateTag(PostOptionsViewModel tagDataVm) { var currentUser = await GetCurrentUser().ConfigureAwait(false); var tag = await _unitOfWork.Repository <PostOption>() .FindAsync(po => po.OptionType.Equals(PostOptionType.TagOptions)); var tagToUpdate = _mapper.Map(tagDataVm, tag, options => { options.AfterMap((src, dest) => { dest.User = currentUser; dest.OptionType = PostOptionType.TagOptions; }); }); await _unitOfWork.Repository <PostOption>().UpdateAsync(tagToUpdate); }
public async Task UpdateCategories(PostOptionsViewModel categoriesVm) { var currentUser = await GetCurrentUser(); var categories = await _unitOfWork.Repository <PostOption>() .FindAsync(po => po.OptionType.Equals(PostOptionType.CategorieOptions)); var categoriesToUpdate = _mapper.Map(categoriesVm, categories, options => { options.AfterMap((src, dest) => { dest.User = currentUser; dest.OptionType = PostOptionType.CategorieOptions; }); }); await _unitOfWork.Repository <PostOption>().UpdateAsync(categoriesToUpdate); }