Ejemplo n.º 1
0
        public async Task <DataDictionaryDto> CreateAsync(DataDictionaryCreateDto input)
        {
            var newDict = new DataDictionary(GuidGenerator.Create(),
                                             CurrentTenant.Id,
                                             input.Code,
                                             input.DisplayText,
                                             input.Description,
                                             new List <DataDictionaryItem>(),
                                             input.IsStatic);

            foreach (var itemDto in input.Items)
            {
                newDict.AddOrUpdateItem(itemDto.Code, itemDto.DisplayText, itemDto.Description);
            }

            await _dataDictionaryManager.CreateAsync(newDict);

            return(ObjectMapper.Map <DataDictionary, DataDictionaryDto>(newDict));
        }
Ejemplo n.º 2
0
        public async Task Should_Create_A_DataDictionary()
        {
            // Arrange
            var requestDto = new DataDictionaryCreateDto
            {
                Code        = "XB",
                DisplayText = "性别",
                Description = "用于表示性别的数据字典。",
                IsStatic    = true,
                Items       = new List <DataDictionaryItemDto>
                {
                    new DataDictionaryItemDto
                    {
                        Code        = "1",
                        DisplayText = "男"
                    },
                    new DataDictionaryItemDto
                    {
                        Code        = "2",
                        DisplayText = "女"
                    }
                }
            };

            // Act
            var response = await _dataDictionaryAppService.CreateAsync(requestDto);

            // Assert
            response.ShouldNotBeNull();
            response.Code.ShouldNotBeNull("XB");

            UsingDbContext(db =>
            {
                var query = db.Dictionaries
                            .Include(x => x.Items)
                            .FirstOrDefault(x => x.Code == "XB");

                query.ShouldNotBeNull();
                query.Code.ShouldBe("XB");
                query.Items.Count.ShouldBe(2);
            });
        }
Ejemplo n.º 3
0
 public Task <DataDictionaryDto> CreateAsync(DataDictionaryCreateDto input) => _dataDictionaryAppService.CreateAsync(input);