public async Task PostCreateSection_CallItemSectionService()
        {
            var createItemTemplateSectionRequest = new CreateItemTemplateSectionRequest();
            var itemTemplateSection         = new ItemTemplateSection();
            var itemTemplateSectionResponse = new ItemTemplateSectionResponse();

            _itemTemplateSectionService.CreateItemTemplateSectionAsync(_executionContext, createItemTemplateSectionRequest)
            .Returns(itemTemplateSection);
            _mapper.Map <ItemTemplateSectionResponse>(itemTemplateSection)
            .Returns(itemTemplateSectionResponse);

            var result = await _itemTemplateSectionsController.PostCreateSectionAsync(_executionContext, createItemTemplateSectionRequest);

            result.StatusCode.Should().Be(201);
            result.Value.Should().Be(itemTemplateSectionResponse);
        }
Example #2
0
        public async Task <JsonResult> PostCreateSectionAsync(
            [FromServices] NaheulbookExecutionContext executionContext,
            CreateItemTemplateSectionRequest request
            )
        {
            try
            {
                var itemTemplateSection = await _itemTemplateSectionService.CreateItemTemplateSectionAsync(executionContext, request);

                var itemTemplateSectionResponse = _mapper.Map <ItemTemplateSectionResponse>(itemTemplateSection);
                return(new JsonResult(itemTemplateSectionResponse)
                {
                    StatusCode = StatusCodes.Status201Created
                });
            }
            catch (ForbiddenAccessException ex)
            {
                throw new HttpErrorException(StatusCodes.Status403Forbidden, ex);
            }
        }
Example #3
0
        public async Task <ItemTemplateSection> CreateItemTemplateSectionAsync(NaheulbookExecutionContext executionContext, CreateItemTemplateSectionRequest request)
        {
            await _authorizationUtil.EnsureAdminAccessAsync(executionContext);

            var itemTemplateSection = new ItemTemplateSection
            {
                Name          = request.Name,
                Special       = string.Join(",", request.Specials),
                Note          = request.Note,
                Icon          = request.Icon,
                SubCategories = new List <ItemTemplateSubCategory>()
            };

            using (var uow = _unitOfWorkFactory.CreateUnitOfWork())
            {
                uow.ItemTemplateSections.Add(itemTemplateSection);
                await uow.SaveChangesAsync();
            }

            return(itemTemplateSection);
        }