Пример #1
0
 public async Task <IActionResult> CreateCategories([FromBody] PostOptionsViewModel categoriesVm)
 {
     if (_postOptionsRepository.IsCategoriesExist())
     {
         await _postOptionsRepository.UpdateCategories(categoriesVm);
     }
     else
     {
         await _postOptionsRepository.CreateCategories(categoriesVm);
     }
     return(Ok());
 }
Пример #2
0
 public async Task <IActionResult> CreateTag([FromBody] PostOptionsViewModel tagDataVm)
 {
     if (_postOptionsRepository.IsTagExist())
     {
         await _postOptionsRepository.UpdateTag(tagDataVm);
     }
     else
     {
         await _postOptionsRepository.CreateTag(tagDataVm);
     }
     return(Ok());
 }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }