private static void ValidateProjectCategory(ProjectCategoryDto projectCategoryDto, int?id, string shortDescription, string description)
        {
            if (id != null)
            {
                Assert.Equal(id, projectCategoryDto.Id);
            }

            Assert.Equal(shortDescription, projectCategoryDto.ShortDescription);
            Assert.Equal(description, projectCategoryDto.Description);
        }
示例#2
0
        public async Task <int> CreateAsync(ProjectCategoryDto projectCategoryDto)
        {
            var projectCategory = new ProjectCategory
            {
                Title       = projectCategoryDto.ShortDescription,
                Description = projectCategoryDto.Description
            };

            _dataContext.ProjectCategories.Add(projectCategory);
            await _dataContext.SaveChangesAsync();

            return(projectCategory.Id);
        }
示例#3
0
        public async Task UpdateAsync(ProjectCategoryDto dto)
        {
            var category = _dataContext.ProjectCategories.Find(dto.Id);

            if (category == null)
            {
                throw new RecordNotFoundException("ProjectCategory", dto.Id);
            }

            category.Title       = dto.ShortDescription;
            category.Description = dto.Description;

            await _dataContext.SaveChangesAsync();
        }
        public async Task <bool> AddProjectCategoriesAsync(ProjectCategoryDto projectCategory)
        {
            try
            {
                _applicationDbContext.ProjectCategories.Add(_catConverter.Convert(projectCategory));
                await _applicationDbContext.SaveChangesAsync();

                return(true);
            }
            catch (Exception ex)
            {
                _loggerRepository.Write(ex);
                return(false);
            }
        }
            public async Task WhenUpdatingNonExistingCategory_ThrowsException(int id, string shortDescription, string description)
            {
                var options = Helper.GetContextOptions();

                CreateTestData(options);

                using (var context = new DataContext(options))
                {
                    var service = new ProjectCategoryService(context);

                    var categoryDto = new ProjectCategoryDto
                    {
                        Id = id,
                        ShortDescription = shortDescription,
                        Description      = description
                    };

                    await Assert.ThrowsAsync <RecordNotFoundException>(() => service.UpdateAsync(categoryDto));
                }
            }
            public async Task WhenPassingCorrectData_SuccessfullyCreate(string shortDescription, string description)
            {
                var options = Helper.GetContextOptions();

                CreateTestData(options);

                using (var context = new DataContext(options))
                {
                    var service = new ProjectCategoryService(context);

                    var projectCategoryDto = new ProjectCategoryDto
                    {
                        ShortDescription = shortDescription,
                        Description      = description
                    };

                    var id = await service.CreateAsync(projectCategoryDto);

                    var projectCategory = await service.GetAsync(id);

                    ValidateProjectCategory(projectCategory, null, shortDescription, description);
                }
            }
            public async Task WhenUpdatingExistingCategory_UpdateSuccessfully(int id, string shortDescription, string description)
            {
                var options = Helper.GetContextOptions();

                CreateTestData(options);

                using (var context = new DataContext(options))
                {
                    var service = new ProjectCategoryService(context);

                    var categoryDto = new ProjectCategoryDto
                    {
                        Id = id,
                        ShortDescription = shortDescription,
                        Description      = description
                    };

                    await service.UpdateAsync(categoryDto);

                    var updatedProject = await service.GetAsync(id);

                    ValidateProjectCategory(updatedProject, id, shortDescription, description);
                }
            }
示例#8
0
 public async Task Put([FromBody] ProjectCategoryDto data)
 {
     await _projectCategoryService.UpdateAsync(data);
 }
示例#9
0
        public async Task <int> Post([FromBody] ProjectCategoryDto data)
        {
            var id = await _projectCategoryService.CreateAsync(data);

            return(id);
        }
 public async Task <IActionResult> PostCategoryAsync([FromBody] ProjectCategoryDto projectCategory)
 {
     return(Ok(await _projectRepository.AddProjectCategoriesAsync(projectCategory)));
 }