1
+ using System . Collections . Generic ;
2
+ using System . IO ;
3
+ using System . Xml . Serialization ;
4
+
5
+ namespace FikaAmazonAPI . ReportGeneration
6
+ {
7
+ public class CategoiesReport
8
+ {
9
+ public CategoiesData Data { get ; set ; } = new CategoiesData ( ) ;
10
+
11
+ public CategoiesReport ( string path , string refNumber )
12
+ {
13
+ if ( string . IsNullOrEmpty ( path ) )
14
+ return ;
15
+
16
+ var xml = File . ReadAllText ( path ) ;
17
+ var serializer = new XmlSerializer ( typeof ( CategoiesData ) ) ;
18
+
19
+ try
20
+ {
21
+ using ( StringReader reader = new StringReader ( xml ) )
22
+ {
23
+ Data = ( CategoiesData ) serializer . Deserialize ( reader ) ;
24
+ }
25
+ }
26
+ catch ( System . Exception e )
27
+ {
28
+ throw e ;
29
+ }
30
+ }
31
+ }
32
+
33
+ [ XmlRoot ( ElementName = "attribute" ) ]
34
+ public class CategoryAttribute
35
+ {
36
+
37
+ [ XmlAttribute ( AttributeName = "name" ) ]
38
+ public string Name { get ; set ; }
39
+
40
+ [ XmlText ]
41
+ public string Text { get ; set ; }
42
+ }
43
+
44
+ [ XmlRoot ( ElementName = "browseNodeAttributes" ) ]
45
+ public class CategoryBrowseNodeAttributes
46
+ {
47
+
48
+ [ XmlElement ( ElementName = "attribute" ) ]
49
+ public CategoryAttribute Attribute { get ; set ; }
50
+
51
+ [ XmlAttribute ( AttributeName = "count" ) ]
52
+ public string Count { get ; set ; }
53
+
54
+ [ XmlText ]
55
+ public string Text { get ; set ; }
56
+ }
57
+
58
+ [ XmlRoot ( ElementName = "childNodes" ) ]
59
+ public class ChildNodes
60
+ {
61
+
62
+ [ XmlElement ( ElementName = "id" ) ]
63
+ public List < string > Id { get ; set ; }
64
+
65
+ [ XmlAttribute ( AttributeName = "count" ) ]
66
+ public string Count { get ; set ; }
67
+
68
+ [ XmlText ]
69
+ public string Text { get ; set ; }
70
+ }
71
+
72
+ [ XmlRoot ( ElementName = "refinementsInformation" ) ]
73
+ public class RefinementsInformation
74
+ {
75
+
76
+ [ XmlAttribute ( AttributeName = "count" ) ]
77
+ public string Count { get ; set ; }
78
+ }
79
+
80
+ [ XmlRoot ( ElementName = "Node" ) ]
81
+ public class CategoiesRow
82
+ {
83
+
84
+ [ XmlElement ( ElementName = "browseNodeId" ) ]
85
+ public string BrowseNodeId { get ; set ; }
86
+
87
+ [ XmlElement ( ElementName = "browseNodeAttributes" ) ]
88
+ public CategoryBrowseNodeAttributes BrowseNodeAttributes { get ; set ; }
89
+
90
+ [ XmlElement ( ElementName = "browseNodeName" ) ]
91
+ public string BrowseNodeName { get ; set ; }
92
+
93
+ [ XmlElement ( ElementName = "browseNodeStoreContextName" ) ]
94
+ public string BrowseNodeStoreContextName { get ; set ; }
95
+
96
+ [ XmlElement ( ElementName = "browsePathById" ) ]
97
+ public string BrowsePathById { get ; set ; }
98
+
99
+ [ XmlElement ( ElementName = "browsePathByName" ) ]
100
+ public string BrowsePathByName { get ; set ; }
101
+
102
+ [ XmlElement ( ElementName = "hasChildren" ) ]
103
+ public bool HasChildren { get ; set ; }
104
+
105
+ [ XmlElement ( ElementName = "childNodes" ) ]
106
+ public ChildNodes ChildNodes { get ; set ; }
107
+
108
+ [ XmlElement ( ElementName = "productTypeDefinitions" ) ]
109
+ public string ProductTypeDefinitions { get ; set ; }
110
+
111
+ [ XmlElement ( ElementName = "refinementsInformation" ) ]
112
+ public RefinementsInformation RefinementsInformation { get ; set ; }
113
+ }
114
+
115
+ [ XmlRoot ( ElementName = "Result" ) ]
116
+ public class CategoiesData
117
+ {
118
+
119
+ [ XmlElement ( ElementName = "Node" ) ]
120
+ public List < CategoiesRow > Node { get ; set ; }
121
+ }
122
+ }
0 commit comments