Евгений Колесников 10 luni în urmă
părinte
comite
92cf4daf68
1 a modificat fișierele cu 14 adăugiri și 9 ștergeri
  1. 14 9
      articles/lab_wpf_data_json.md

+ 14 - 9
articles/lab_wpf_data_json.md

@@ -11,21 +11,21 @@
             "breed": "Дворняжка",
             "color": "Белый",
             "name": "Ириска",
-            "dateOfLastVaccination": null
+            "dateOfVaccination": null
         },
         {
             "age": 2,
             "breed": "Шотландская вислоухая",
             "color": "Коричневый",
             "name": "Изи",
-            "dateOfLastVaccination": "2020-01-31"
+            "dateOfVaccination": "2020-01-31"
         },
         {
             "age": 3,
             "breed": "Сиамский",
             "color": "Цветной",
             "name": "Макс",
-            "dateOfLastVaccination": "2022-05-10"
+            "dateOfVaccination": "2022-05-10"
         },
     ]
     ```
@@ -78,7 +78,7 @@
     }
     ```
 
-    И реализуем класс JSONDataProvider:
+    И реализуем класс **JSONDataProvider**:
 
     ```cs
     public class JSONDataProvider
@@ -105,29 +105,34 @@
 
 # ЗАДАНИЕ
 
-1. Подготовить набор данных (не менее 10 записей) с разными типами (обязательно должны быть: Int, Double, String, DateTime, Boolean)
+1. Подготовить набор данных (не менее 10 записей) с разными типами (обязательно должны быть: **Int**, **Double**, **String**, **DateTime**, **Boolean**)
 
-1. Реализовать класс JSONDataProvider для своей предметной области
+1. Реализовать класс **JSONDataProvider** для своей предметной области
 
 1. Поле с датой добавить в таблицу и указать формат вывода: `Binding="{Binding dateOfLastVaccination,StringFormat='dd.MM.yyyy'}"`
 
 ---
 
->Если вдруг нам приспичит делать десериализацию используя компонент **Newtonsoft.Json**, то для обхода проблемы со строковой датой можно реализовать класс-наследник **CatWithStringDates**, в котором перегрузить поле *dateOfLastVaccination*:
+>Если вдруг нам приспичит делать десериализацию используя компонент **Newtonsoft.Json**, то для обхода проблемы со строковой датой можно реализовать класс-наследник **CatWithStringDates**, в котором перегрузить поле *dateOfVaccination*:
+>
 >```cs
 >public class CatWithStringDates: Cat
 >{
 >    public string dateOfLastVaccination { get; set; }
 >}
 >```
+>
 >И при десериализации использовать этот класс:
+>
 >```cs
 >var catList = JsonConvert.DeserializeObject<CatWithStringDates[]>("[{\"age\": 1, \"dateOfLastVaccination\": \"2020-01-01\"}]");
 >```
+>
 >Затем, используя LINQ запрос преобразовать к нужному типу:
+>
 >```cs
 >_catList = catList.Select(cat => new Cat {
 >   age = cat.age,
->   dateOfLastVaccination = DateTime.Parse(cat.dateOfLastVaccination)
+>   dateOfVaccination = DateTime.Parse(cat.dateOfVaccination)
 >}).ToList();
->```
+>```