Проектирование объекта автомобильного генератора - PullRequest
0 голосов
/ 17 мая 2019

Я делаю учебник по .NET Core, и у меня проблемы с пониманием упражнений. У меня есть простая страница, которая содержит форму, используемую для добавления нового автомобиля в базу данных. Пользователь нажимает «Добавить новую машину», и форма загружается, когда он должен предоставить: тип кузова (выпадающий список), цвет, V-max, тип коробки передач (выпадающий список), количество дверей и номер VIN, затем он нажимает «Сохранить "и машина добавлена ​​в базу данных. Это сделано и работает нормально.

Теперь мне нужно немного его изменить, чтобы после нажатия кнопки «Добавить новую машину» отображалось выпадающее меню с возможными типами автомобилей, пользователь выбирал конкретный тип автомобиля и затем загружал ту же форму, что и ранее, но с предварительно заполненными данными на основе конфигурации. файл.

Упражнение выглядит следующим образом: а) создать файл конфигурации JSON, который содержит предопределенные настройки для определенных типов автомобилей (он не должен содержать все настройки), б) предложить проект для объекта генератора автомобиля.

Хотя у меня не было проблем с пунктом а), я борюсь с пунктом б) только потому, что ... я этого не понимаю. Пример моего конфигурационного файла выглядит так:

[
 {
  "Body style": "Kombi",
  "Color": "Red",
  "V-max": 240,
  "Gearbox type": "Manual"
 },
 {
  "Body style": "Sedan",
  "Color": "Blue",
  "Number of doors": 5,
  "VIN number": "SomeVIN123"
 }
] 

Что мне теперь делать? Я понимаю, что мне нужно создать какой-то класс, который будет обрабатывать данные, прочитанные из файла JSON, чтобы передать их в форму, но что случилось с «проектом для объекта генератора автомобиля»?

Только я должен подготовить этот класс? Как то так?

 public class CarType
 {
     public string bodyStyle { get; set; }
     public string Color { get; set; }
     public int vMax { get; set; }
     public string gearboxType { get; set; }
     public int doorsNumber { get; set; }
     public string vinNumber { get; set; }
 }

1 Ответ

0 голосов
/ 17 мая 2019

Вам нужно создать другой класс:

 public class CarTypeEntity
     {
        [JsonProperty("Cars")]
        public List<CarType> Cars { get; set; }
     }

public class CarType
 {
     [JsonProperty("Body style")]
     public string bodyStyle { get; set; }

     [JsonProperty("Color")]
     public string Color { get; set; }

     [JsonProperty("V-max")]
     public int vMax { get; set; }

     [JsonProperty("Gearbox type")]
     public string gearboxType { get; set; }

     [JsonProperty("Number of doors")]
     public int doorsNumber { get; set; }

     [JsonProperty("VIN number")]
     public string vinNumber { get; set; }
 }

и отменить его реализацию

CarTypeEntity result = JsonConvert.DeserializeObject<CarTypeEntity>(yourString);

Ваша строка будет такой:

'Cars': [
 {
  "Body style": "Kombi",
  "Color": "Red",
  "V-max": 240,
  "Gearbox type": "Manual"
 },
 {
  "Body style": "Sedan",
  "Color": "Blue",
  "Number of doors": 5,
  "VIN number": "SomeVIN123"
 }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...