public async Task ShouldGetFields()
        {
            // Arrange
            var mdBook = await _modelDefinitionRepository.FindAsync(md => md.Name == "book");

            // Act
            var output = await _modelDefinitionAppService.GetAsync(mdBook.Id);

            // Assert
            output.ShouldNotBeNull();
            output.Fields.Count.ShouldBe(2);
            output.Fields[0].Name.ShouldBe("name");
            output.Fields[1].Name.ShouldBe("price");
        }
예제 #2
0
        public virtual async Task OnGetAsync()
        {
            var modelDefinitionDto = await _modelDefinitionService.GetAsync(Id);

            ViewModel = ObjectMapper.Map <ModelDefinitionDto, EditModelDefinitionViewModel>(modelDefinitionDto);

            var output = await _fieldDefinitionService.GetListAsync(new GetFieldDefinitionListInput
            {
                MaxResultCount = LimitedResultRequestDto.MaxMaxResultCount, // TODO: should use a modal form to select fields
            });

            ViewModel.Fields = output.Items
                               .OrderBy(fieldDefinition =>
            {
                int index = modelDefinitionDto.Fields.FindIndex(fd => fd.Id == fieldDefinition.Id);
                return(index == -1 ? int.MaxValue : index);
            })
                               .Select(fd => new SelectListItem(fd.DisplayName, fd.Id.ToString())).ToList();
        }
예제 #3
0
 public virtual Task <ModelDefinitionDto> GetAsync(Guid id)
 {
     return(_service.GetAsync(id));
 }