瀏覽代碼

article edit UI

tags/v1.0
Robin Thoni 7 年之前
父節點
當前提交
d969a420ad

+ 1
- 1
backend/WebSem/.idea/.idea.WebSem/.idea/dataSources.local.xml 查看文件

@@ -8,7 +8,7 @@
8 8
       <case-sensitivity plain-identifiers="lower" quoted-identifiers="exact" />
9 9
       <secret-storage>master_key</secret-storage>
10 10
       <user-name>dev</user-name>
11
-      <introspection-schemas>websem-project:public</introspection-schemas>
11
+      <introspection-schemas>websem_project:public</introspection-schemas>
12 12
       <resolve-scope>websem-project:dev,public</resolve-scope>
13 13
       <unqualified-resolve-schemas>websem-project:dev,public</unqualified-resolve-schemas>
14 14
     </data-source>

+ 1
- 1
backend/WebSem/.idea/.idea.WebSem/.idea/dataSources.xml 查看文件

@@ -5,7 +5,7 @@
5 5
       <driver-ref>postgresql</driver-ref>
6 6
       <synchronize>true</synchronize>
7 7
       <jdbc-driver>org.postgresql.Driver</jdbc-driver>
8
-      <jdbc-url>jdbc:postgresql://localhost:5432/websem-project</jdbc-url>
8
+      <jdbc-url>jdbc:postgresql://localhost:5432/websem_project</jdbc-url>
9 9
     </data-source>
10 10
   </component>
11 11
 </project>

+ 150
- 341
backend/WebSem/.idea/.idea.WebSem/.idea/workspace.xml 查看文件

@@ -2,31 +2,17 @@
2 2
 <project version="4">
3 3
   <component name="ChangeListManager">
4 4
     <list default="true" id="8d054e21-e284-419c-acba-f672639639a4" name="Default" comment="">
5
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/../../frontend/WebSem/app/controllers/articles.controller.js" />
6
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/../../frontend/WebSem/app/controllers/articlesedit.controller.js" />
7
-      <change type="DELETED" beforePath="$PROJECT_DIR$/WebApiWebSem/Controllers/ValuesController.cs" afterPath="" />
8
-      <change type="DELETED" beforePath="$PROJECT_DIR$/../../frontend/WebSem/app/controllers/pkguids.controller.js" afterPath="" />
9
-      <change type="DELETED" beforePath="$PROJECT_DIR$/../../frontend/WebSem/app/controllers/pkguidsedit.controller.js" afterPath="" />
10
-      <change type="DELETED" beforePath="$PROJECT_DIR$/../../frontend/WebSem/sdk/DataAccess/.gitkeep" afterPath="" />
11
-      <change type="MOVED" beforePath="$PROJECT_DIR$/../../frontend/WebSem/app/views/pkguids.html" afterPath="$PROJECT_DIR$/../../frontend/WebSem/app/views/articles.html" />
12
-      <change type="MOVED" beforePath="$PROJECT_DIR$/../../frontend/WebSem/app/views/pkguidsedit.html" afterPath="$PROJECT_DIR$/../../frontend/WebSem/app/views/articlesedit.html" />
13
-      <change type="MOVED" beforePath="$PROJECT_DIR$/../../frontend/WebSem/sdk/Business/pkguids.business.js" afterPath="$PROJECT_DIR$/../../frontend/WebSem/sdk/Business/articles.business.js" />
14
-      <change type="MOVED" beforePath="$PROJECT_DIR$/../../frontend/WebSem/sdk/DataAccess/pkguids.dataaccess.js" afterPath="$PROJECT_DIR$/../../frontend/WebSem/sdk/DataAccess/articles.dataaccess.js" />
15
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../frontend/WebSem/favicon.ico" afterPath="$PROJECT_DIR$/../../frontend/WebSem/favicon.ico" />
16 5
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/.idea.WebSem/.idea/dataSources.local.xml" afterPath="$PROJECT_DIR$/.idea/.idea.WebSem/.idea/dataSources.local.xml" />
6
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/.idea.WebSem/.idea/dataSources.xml" afterPath="$PROJECT_DIR$/.idea/.idea.WebSem/.idea/dataSources.xml" />
17 7
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/.idea.WebSem/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/.idea.WebSem/.idea/workspace.xml" />
18
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/.idea.WebSem/riderModule.iml" afterPath="$PROJECT_DIR$/.idea/.idea.WebSem/riderModule.iml" />
19
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/DataAccess/Models/articles.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/DataAccess/Models/articles.cs" />
20
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContext.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContext.cs" />
21
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/DataAccess/code-from-ds/code-from-ds.json" afterPath="$PROJECT_DIR$/WebApiWebSem/DataAccess/code-from-ds/code-from-ds.json" />
22
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/Startup.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/Startup.cs" />
23
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/appsettings.Development.json" afterPath="$PROJECT_DIR$/WebApiWebSem/appsettings.Development.json" />
24
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/project.json" afterPath="$PROJECT_DIR$/WebApiWebSem/project.json" />
25
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebSem.sln" afterPath="$PROJECT_DIR$/WebSem.sln" />
26
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../frontend/WebSem/README.md" afterPath="$PROJECT_DIR$/../../frontend/WebSem/README.md" />
27
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../frontend/WebSem/app/app.js" afterPath="$PROJECT_DIR$/../../frontend/WebSem/app/app.js" />
28
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../frontend/WebSem/app/index.html" afterPath="$PROJECT_DIR$/../../frontend/WebSem/app/index.html" />
8
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs" />
9
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs" />
10
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../frontend/WebSem/app/controllers/articles.controller.js" afterPath="$PROJECT_DIR$/../../frontend/WebSem/app/controllers/articles.controller.js" />
29 11
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../frontend/WebSem/app/translations/en.json" afterPath="$PROJECT_DIR$/../../frontend/WebSem/app/translations/en.json" />
12
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../frontend/WebSem/app/views/articles.html" afterPath="$PROJECT_DIR$/../../frontend/WebSem/app/views/articles.html" />
13
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../frontend/WebSem/app/views/articlesedit.html" afterPath="$PROJECT_DIR$/../../frontend/WebSem/app/views/articlesedit.html" />
14
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../frontend/WebSem/sdk/Business/listcontrollerbuilder.business.js" afterPath="$PROJECT_DIR$/../../frontend/WebSem/sdk/Business/listcontrollerbuilder.business.js" />
15
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../frontend/WebSem/sdk/DataAccess/articles.dataaccess.js" afterPath="$PROJECT_DIR$/../../frontend/WebSem/sdk/DataAccess/articles.dataaccess.js" />
30 16
     </list>
31 17
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
32 18
     <option name="TRACKING_ENABLED" value="true" />
@@ -55,125 +41,32 @@
55 41
         <option name="myItemType" value="com.intellij.database.view.DbNodeDescriptor" />
56 42
       </PATH_ELEMENT>
57 43
     </PATH>
58
-    <PATH>
59
-      <PATH_ELEMENT>
60
-        <option name="myItemId" />
61
-        <option name="myItemType" value="com.intellij.database.view.DatabaseStructure$Root" />
62
-      </PATH_ELEMENT>
63
-      <PATH_ELEMENT>
64
-        <option name="myItemId" value="websem-project" />
65
-        <option name="myItemType" value="com.intellij.database.view.DbNodeDescriptor" />
66
-      </PATH_ELEMENT>
67
-      <PATH_ELEMENT>
68
-        <option name="myItemId" />
69
-        <option name="myItemType" value="com.intellij.database.view.DatabaseStructure$GroupNode" />
70
-      </PATH_ELEMENT>
71
-    </PATH>
72
-    <PATH>
73
-      <PATH_ELEMENT>
74
-        <option name="myItemId" />
75
-        <option name="myItemType" value="com.intellij.database.view.DatabaseStructure$Root" />
76
-      </PATH_ELEMENT>
77
-      <PATH_ELEMENT>
78
-        <option name="myItemId" value="websem-project" />
79
-        <option name="myItemType" value="com.intellij.database.view.DbNodeDescriptor" />
80
-      </PATH_ELEMENT>
81
-      <PATH_ELEMENT>
82
-        <option name="myItemId" />
83
-        <option name="myItemType" value="com.intellij.database.view.DatabaseStructure$GroupNode" />
84
-      </PATH_ELEMENT>
85
-      <PATH_ELEMENT>
86
-        <option name="myItemId" value="articles_fields" />
87
-        <option name="myItemType" value="com.intellij.database.view.DbNodeDescriptor" />
88
-      </PATH_ELEMENT>
89
-    </PATH>
90 44
   </component>
91 45
   <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
92 46
   <component name="FileEditorManager">
93 47
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
94
-      <file leaf-file-name="ArticlesDbo.cs" pinned="false" current-in-tab="false">
95
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs">
96
-          <provider selected="true" editor-type-id="text-editor">
97
-            <state relative-caret-position="90">
98
-              <caret line="5" column="39" lean-forward="false" selection-start-line="5" selection-start-column="39" selection-end-line="5" selection-end-column="39" />
99
-              <folding>
100
-                <marker date="1487458480243" expanded="true" signature="6:52" ph="..." />
101
-                <marker date="1487458480243" expanded="true" signature="89:268" ph="{...}" />
102
-                <marker date="1487458480243" expanded="true" signature="156:266" ph="{...}" />
103
-              </folding>
104
-            </state>
105
-          </provider>
106
-        </entry>
107
-      </file>
108
-      <file leaf-file-name="Tests.cs" pinned="false" current-in-tab="false">
109
-        <entry file="file://$PROJECT_DIR$/Test/Tests.cs">
48
+      <file leaf-file-name="ArticlesDataAccess.cs" pinned="false" current-in-tab="true">
49
+        <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs">
110 50
           <provider selected="true" editor-type-id="text-editor">
111
-            <state relative-caret-position="180">
112
-              <caret line="10" column="52" lean-forward="true" selection-start-line="10" selection-start-column="52" selection-end-line="10" selection-end-column="52" />
51
+            <state relative-caret-position="-113">
52
+              <caret line="48" column="69" lean-forward="true" selection-start-line="48" selection-start-column="69" selection-end-line="48" selection-end-column="69" />
113 53
               <folding>
114
-                <marker date="1487539122533" expanded="true" signature="6:163" ph="..." />
115
-                <marker date="1487539122533" expanded="true" signature="179:1618" ph="{...}" />
116
-                <marker date="1487539122533" expanded="true" signature="204:1616" ph="{...}" />
117
-                <marker date="1487539122533" expanded="true" signature="435:877" ph="{...}" />
118
-                <marker date="1487539122533" expanded="true" signature="951:1388" ph="{...}" />
119
-                <marker date="1487539122533" expanded="true" signature="1194:1261" ph="{...}" />
120
-                <marker date="1487539122533" expanded="true" signature="1281:1378" ph="{...}" />
121
-                <marker date="1487539122533" expanded="true" signature="1466:1610" ph="{...}" />
122
-                <marker date="1487539122533" expanded="true" signature="1512:1598" ph="{...}" />
123
-              </folding>
124
-            </state>
125
-          </provider>
126
-        </entry>
127
-      </file>
128
-      <file leaf-file-name="ArticlesAddDbo.cs" pinned="false" current-in-tab="false">
129
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesAddDbo.cs">
130
-          <provider selected="true" editor-type-id="text-editor">
131
-            <state relative-caret-position="144">
132
-              <caret line="8" column="38" lean-forward="true" selection-start-line="8" selection-start-column="38" selection-end-line="8" selection-end-column="38" />
133
-              <folding>
134
-                <marker date="1487458480259" expanded="true" signature="6:83" ph="..." />
135
-                <marker date="1487458480259" expanded="true" signature="120:396" ph="{...}" />
136
-                <marker date="1487458480259" expanded="true" signature="179:310" ph="{...}" />
137
-                <marker date="1487458480259" expanded="true" signature="382:394" ph="{...}" />
138
-              </folding>
139
-            </state>
140
-          </provider>
141
-        </entry>
142
-      </file>
143
-      <file leaf-file-name="ArticlesEditDbo.cs" pinned="false" current-in-tab="true">
144
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesEditDbo.cs">
145
-          <provider selected="true" editor-type-id="text-editor">
146
-            <state relative-caret-position="0">
147
-              <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
148
-              <folding>
149
-                <marker date="1487458480231" expanded="true" signature="75:166" ph="{...}" />
150
-                <marker date="1487458480231" expanded="true" signature="152:164" ph="{...}" />
151
-              </folding>
152
-            </state>
153
-          </provider>
154
-        </entry>
155
-      </file>
156
-      <file leaf-file-name="ArticlesFieldsAddDbo.cs" pinned="false" current-in-tab="false">
157
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsAddDbo.cs">
158
-          <provider selected="true" editor-type-id="text-editor">
159
-            <state relative-caret-position="36">
160
-              <caret line="2" column="43" lean-forward="false" selection-start-line="2" selection-start-column="43" selection-end-line="2" selection-end-column="43" />
161
-              <folding>
162
-                <marker date="1487461391707" expanded="true" signature="41:119" ph="{...}" />
163
-                <marker date="1487461391707" expanded="true" signature="105:117" ph="{...}" />
164
-              </folding>
165
-            </state>
166
-          </provider>
167
-        </entry>
168
-      </file>
169
-      <file leaf-file-name="ArticlesFieldsEditDbo.cs" pinned="false" current-in-tab="false">
170
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsEditDbo.cs">
171
-          <provider selected="true" editor-type-id="text-editor">
172
-            <state relative-caret-position="234">
173
-              <caret line="13" column="40" lean-forward="false" selection-start-line="13" selection-start-column="40" selection-end-line="13" selection-end-column="40" />
174
-              <folding>
175
-                <marker date="1487461391719" expanded="true" signature="87:329" ph="{...}" />
176
-                <marker date="1487461391719" expanded="true" signature="128:327" ph="{...}" />
54
+                <marker date="1487541118573" expanded="true" signature="6:273" ph="..." />
55
+                <marker date="1487541118573" expanded="true" signature="308:2856" ph="{...}" />
56
+                <marker date="1487541118573" expanded="true" signature="444:2854" ph="{...}" />
57
+                <marker date="1487541118573" expanded="true" signature="645:665" ph="{...}" />
58
+                <marker date="1487541118573" expanded="true" signature="717:760" ph="{...}" />
59
+                <marker date="1487541118573" expanded="true" signature="869:964" ph="{...}" />
60
+                <marker date="1487541118573" expanded="true" signature="1033:1085" ph="{...}" />
61
+                <marker date="1487541118573" expanded="true" signature="1145:1383" ph="{...}" />
62
+                <marker date="1487541118573" expanded="true" signature="1281:1338" ph="{...}" />
63
+                <marker date="1487541118573" expanded="true" signature="1484:1620" ph="{...}" />
64
+                <marker date="1487541118573" expanded="true" signature="1697:2221" ph="{...}" />
65
+                <marker date="1487541118573" expanded="true" signature="1752:2210" ph="{...}" />
66
+                <marker date="1487541118573" expanded="true" signature="2014:2153" ph="{...}" />
67
+                <marker date="1487541118573" expanded="true" signature="2312:2722" ph="{...}" />
68
+                <marker date="1487541118573" expanded="true" signature="2527:2666" ph="{...}" />
69
+                <marker date="1487541118573" expanded="true" signature="2794:2848" ph="{...}" />
177 70
               </folding>
178 71
             </state>
179 72
           </provider>
@@ -182,58 +75,18 @@
182 75
       <file leaf-file-name="ModelsDbo.cs" pinned="false" current-in-tab="false">
183 76
         <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs">
184 77
           <provider selected="true" editor-type-id="text-editor">
185
-            <state relative-caret-position="270">
186
-              <caret line="15" column="34" lean-forward="false" selection-start-line="15" selection-start-column="34" selection-end-line="15" selection-end-column="34" />
187
-              <folding>
188
-                <marker date="1487538892461" expanded="true" signature="6:157" ph="..." />
189
-                <marker date="1487538892461" expanded="true" signature="192:1071" ph="{...}" />
190
-                <marker date="1487538892461" expanded="true" signature="228:1069" ph="{...}" />
191
-                <marker date="1487538892461" expanded="true" signature="308:512" ph="{...}" />
192
-                <marker date="1487538892461" expanded="true" signature="372:501" ph="{...}" />
193
-                <marker date="1487538892461" expanded="true" signature="574:1063" ph="{...}" />
194
-                <marker date="1487538892461" expanded="true" signature="632:1052" ph="{...}" />
195
-              </folding>
196
-            </state>
197
-          </provider>
198
-        </entry>
199
-      </file>
200
-      <file leaf-file-name="ArticlesFieldsDbo.cs" pinned="false" current-in-tab="false">
201
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsDbo.cs">
202
-          <provider selected="true" editor-type-id="text-editor">
203
-            <state relative-caret-position="36">
204
-              <caret line="2" column="43" lean-forward="false" selection-start-line="2" selection-start-column="43" selection-end-line="2" selection-end-column="43" />
78
+            <state relative-caret-position="450">
79
+              <caret line="34" column="30" lean-forward="false" selection-start-line="34" selection-start-column="30" selection-end-line="34" selection-end-column="30" />
205 80
               <folding>
206
-                <marker date="1487458004959" expanded="true" signature="41:116" ph="{...}" />
207
-                <marker date="1487458004959" expanded="true" signature="101:114" ph="{...}" />
208
-              </folding>
209
-            </state>
210
-          </provider>
211
-        </entry>
212
-      </file>
213
-      <file leaf-file-name="ArticlesBasicDbo.cs" pinned="false" current-in-tab="false">
214
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesBasicDbo.cs">
215
-          <provider selected="true" editor-type-id="text-editor">
216
-            <state relative-caret-position="144">
217
-              <caret line="8" column="44" lean-forward="false" selection-start-line="8" selection-start-column="44" selection-end-line="8" selection-end-column="44" />
218
-              <folding>
219
-                <marker date="1487458868439" expanded="true" signature="6:78" ph="..." />
220
-                <marker date="1487458868439" expanded="true" signature="115:393" ph="{...}" />
221
-                <marker date="1487458868439" expanded="true" signature="154:391" ph="{...}" />
222
-              </folding>
223
-            </state>
224
-          </provider>
225
-        </entry>
226
-      </file>
227
-      <file leaf-file-name="appsettings.Development.json" pinned="false" current-in-tab="false">
228
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/appsettings.Development.json">
229
-          <provider selected="true" editor-type-id="text-editor">
230
-            <state relative-caret-position="198">
231
-              <caret line="11" column="86" lean-forward="false" selection-start-line="11" selection-start-column="86" selection-end-line="11" selection-end-column="86" />
232
-              <folding>
233
-                <marker date="1487539113101" expanded="true" signature="0:490" ph="{...}" />
234
-                <marker date="1487539113101" expanded="true" signature="17:297" ph="{...}" />
235
-                <marker date="1487539113101" expanded="true" signature="71:291" ph="{...}" />
236
-                <marker date="1487539113101" expanded="true" signature="324:468" ph="{...}" />
81
+                <marker date="1487540897085" expanded="true" signature="6:157" ph="..." />
82
+                <marker date="1487540897085" expanded="true" signature="192:1247" ph="{...}" />
83
+                <marker date="1487540897085" expanded="true" signature="228:1245" ph="{...}" />
84
+                <marker date="1487540897085" expanded="true" signature="308:600" ph="{...}" />
85
+                <marker date="1487540897085" expanded="true" signature="349:406" ph="{...}" />
86
+                <marker date="1487540897085" expanded="true" signature="460:589" ph="{...}" />
87
+                <marker date="1487540897085" expanded="true" signature="662:1239" ph="{...}" />
88
+                <marker date="1487540897085" expanded="true" signature="703:760" ph="{...}" />
89
+                <marker date="1487540897085" expanded="true" signature="808:1228" ph="{...}" />
237 90
               </folding>
238 91
             </state>
239 92
           </provider>
@@ -274,14 +127,14 @@
274 127
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/27/e8d84624/LuCrudInterfaceExtensions.cs" />
275 128
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/20/5bcc5074/ILuCrudInterface`4.cs" />
276 129
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/B004CFF6-238D-4ED0-8011-AF53475172BF/ef/575d29a5/EntityFrameworkQueryableExtensions.cs" />
277
-        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs" />
278 130
         <option value="$PROJECT_DIR$/WebApiWebSem/Business/ArticlesBusiness.cs" />
279 131
         <option value="$PROJECT_DIR$/WebApiWebSem/Controllers/ArticlesBusiness.cs" />
280 132
         <option value="$PROJECT_DIR$/WebApiWebSem/Controllers/ArticlesController.cs" />
281 133
         <option value="$PROJECT_DIR$/WebApiWebSem/Startup.cs" />
282
-        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs" />
283 134
         <option value="$PROJECT_DIR$/WebApiWebSem/appsettings.Development.json" />
284 135
         <option value="$PROJECT_DIR$/Test/Tests.cs" />
136
+        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs" />
137
+        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs" />
285 138
       </list>
286 139
     </option>
287 140
   </component>
@@ -323,68 +176,6 @@
323 176
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
324 177
             </PATH_ELEMENT>
325 178
           </PATH>
326
-          <PATH>
327
-            <PATH_ELEMENT>
328
-              <option name="myItemId" />
329
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerViewPane$ProjectViewPaneTreeStructure$createRoot$1" />
330
-            </PATH_ELEMENT>
331
-            <PATH_ELEMENT>
332
-              <option name="myItemId" value="WebSem (2 projects)" />
333
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
334
-            </PATH_ELEMENT>
335
-            <PATH_ELEMENT>
336
-              <option name="myItemId" value="WebApiWebSem" />
337
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
338
-            </PATH_ELEMENT>
339
-            <PATH_ELEMENT>
340
-              <option name="myItemId" value="Dbo" />
341
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
342
-            </PATH_ELEMENT>
343
-          </PATH>
344
-          <PATH>
345
-            <PATH_ELEMENT>
346
-              <option name="myItemId" />
347
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerViewPane$ProjectViewPaneTreeStructure$createRoot$1" />
348
-            </PATH_ELEMENT>
349
-            <PATH_ELEMENT>
350
-              <option name="myItemId" value="WebSem (2 projects)" />
351
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
352
-            </PATH_ELEMENT>
353
-            <PATH_ELEMENT>
354
-              <option name="myItemId" value="WebApiWebSem" />
355
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
356
-            </PATH_ELEMENT>
357
-            <PATH_ELEMENT>
358
-              <option name="myItemId" value="Dbo" />
359
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
360
-            </PATH_ELEMENT>
361
-            <PATH_ELEMENT>
362
-              <option name="myItemId" value="ArticlesFields" />
363
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
364
-            </PATH_ELEMENT>
365
-          </PATH>
366
-          <PATH>
367
-            <PATH_ELEMENT>
368
-              <option name="myItemId" />
369
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerViewPane$ProjectViewPaneTreeStructure$createRoot$1" />
370
-            </PATH_ELEMENT>
371
-            <PATH_ELEMENT>
372
-              <option name="myItemId" value="WebSem (2 projects)" />
373
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
374
-            </PATH_ELEMENT>
375
-            <PATH_ELEMENT>
376
-              <option name="myItemId" value="WebApiWebSem" />
377
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
378
-            </PATH_ELEMENT>
379
-            <PATH_ELEMENT>
380
-              <option name="myItemId" value="Dbo" />
381
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
382
-            </PATH_ELEMENT>
383
-            <PATH_ELEMENT>
384
-              <option name="myItemId" value="Articles" />
385
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
386
-            </PATH_ELEMENT>
387
-          </PATH>
388 179
           <PATH>
389 180
             <PATH_ELEMENT>
390 181
               <option name="myItemId" />
@@ -417,25 +208,11 @@
417 208
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
418 209
             </PATH_ELEMENT>
419 210
             <PATH_ELEMENT>
420
-              <option name="myItemId" value="Controllers" />
421
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
422
-            </PATH_ELEMENT>
423
-          </PATH>
424
-          <PATH>
425
-            <PATH_ELEMENT>
426
-              <option name="myItemId" />
427
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerViewPane$ProjectViewPaneTreeStructure$createRoot$1" />
428
-            </PATH_ELEMENT>
429
-            <PATH_ELEMENT>
430
-              <option name="myItemId" value="WebSem (2 projects)" />
431
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
432
-            </PATH_ELEMENT>
433
-            <PATH_ELEMENT>
434
-              <option name="myItemId" value="WebApiWebSem" />
211
+              <option name="myItemId" value="DataAccess" />
435 212
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
436 213
             </PATH_ELEMENT>
437 214
             <PATH_ELEMENT>
438
-              <option name="myItemId" value="Business" />
215
+              <option name="myItemId" value="code-from-ds" />
439 216
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
440 217
             </PATH_ELEMENT>
441 218
           </PATH>
@@ -448,10 +225,6 @@
448 225
               <option name="myItemId" value="WebSem (2 projects)" />
449 226
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
450 227
             </PATH_ELEMENT>
451
-            <PATH_ELEMENT>
452
-              <option name="myItemId" value="Test" />
453
-              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
454
-            </PATH_ELEMENT>
455 228
           </PATH>
456 229
         </subPane>
457 230
         <option name="show-file-system" value="false" />
@@ -522,12 +295,12 @@
522 295
       <workItem from="1487108080916" duration="3508000" />
523 296
       <workItem from="1487345029610" duration="5634000" />
524 297
       <workItem from="1487441650798" duration="14018000" />
525
-      <workItem from="1487528667649" duration="5658000" />
298
+      <workItem from="1487528667649" duration="8537000" />
526 299
     </task>
527 300
     <servers />
528 301
   </component>
529 302
   <component name="TimeTrackingManager">
530
-    <option name="totallyTimeSpent" value="32524000" />
303
+    <option name="totallyTimeSpent" value="35403000" />
531 304
   </component>
532 305
   <component name="TodoView">
533 306
     <todo-panel id="selected-file">
@@ -582,7 +355,24 @@
582 355
       <provider selected="true" editor-type-id="text-editor">
583 356
         <state relative-caret-position="0">
584 357
           <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
585
-          <folding />
358
+          <folding>
359
+            <marker date="1487541118573" expanded="true" signature="6:273" ph="..." />
360
+            <marker date="1487541118573" expanded="true" signature="308:2856" ph="{...}" />
361
+            <marker date="1487541118573" expanded="true" signature="444:2854" ph="{...}" />
362
+            <marker date="1487541118573" expanded="true" signature="645:665" ph="{...}" />
363
+            <marker date="1487541118573" expanded="true" signature="717:760" ph="{...}" />
364
+            <marker date="1487541118573" expanded="true" signature="869:964" ph="{...}" />
365
+            <marker date="1487541118573" expanded="true" signature="1033:1085" ph="{...}" />
366
+            <marker date="1487541118573" expanded="true" signature="1145:1383" ph="{...}" />
367
+            <marker date="1487541118573" expanded="true" signature="1281:1338" ph="{...}" />
368
+            <marker date="1487541118573" expanded="true" signature="1484:1620" ph="{...}" />
369
+            <marker date="1487541118573" expanded="true" signature="1697:2221" ph="{...}" />
370
+            <marker date="1487541118573" expanded="true" signature="1752:2210" ph="{...}" />
371
+            <marker date="1487541118573" expanded="true" signature="2014:2153" ph="{...}" />
372
+            <marker date="1487541118573" expanded="true" signature="2312:2722" ph="{...}" />
373
+            <marker date="1487541118573" expanded="true" signature="2527:2666" ph="{...}" />
374
+            <marker date="1487541118573" expanded="true" signature="2794:2848" ph="{...}" />
375
+          </folding>
586 376
         </state>
587 377
       </provider>
588 378
     </entry>
@@ -894,14 +684,6 @@
894 684
         </state>
895 685
       </provider>
896 686
     </entry>
897
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs">
898
-      <provider selected="true" editor-type-id="text-editor">
899
-        <state relative-caret-position="180">
900
-          <caret line="10" column="5" lean-forward="false" selection-start-line="10" selection-start-column="5" selection-end-line="10" selection-end-column="5" />
901
-          <folding />
902
-        </state>
903
-      </provider>
904
-    </entry>
905 687
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/Program.cs">
906 688
       <provider selected="true" editor-type-id="text-editor">
907 689
         <state relative-caret-position="0">
@@ -942,48 +724,67 @@
942 724
         </state>
943 725
       </provider>
944 726
     </entry>
945
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesBasicDbo.cs">
727
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsAddDbo.cs">
728
+      <provider selected="true" editor-type-id="text-editor">
729
+        <state relative-caret-position="36">
730
+          <caret line="2" column="43" lean-forward="false" selection-start-line="2" selection-start-column="43" selection-end-line="2" selection-end-column="43" />
731
+          <folding>
732
+            <marker date="1487461391707" expanded="true" signature="41:119" ph="{...}" />
733
+            <marker date="1487461391707" expanded="true" signature="105:117" ph="{...}" />
734
+          </folding>
735
+        </state>
736
+      </provider>
737
+    </entry>
738
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesAddDbo.cs">
946 739
       <provider selected="true" editor-type-id="text-editor">
947 740
         <state relative-caret-position="144">
948
-          <caret line="8" column="44" lean-forward="false" selection-start-line="8" selection-start-column="44" selection-end-line="8" selection-end-column="44" />
741
+          <caret line="8" column="38" lean-forward="true" selection-start-line="8" selection-start-column="38" selection-end-line="8" selection-end-column="38" />
949 742
           <folding>
950
-            <marker date="1487458868439" expanded="true" signature="6:78" ph="..." />
951
-            <marker date="1487458868439" expanded="true" signature="115:393" ph="{...}" />
952
-            <marker date="1487458868439" expanded="true" signature="154:391" ph="{...}" />
743
+            <marker date="1487458480259" expanded="true" signature="6:83" ph="..." />
744
+            <marker date="1487458480259" expanded="true" signature="120:396" ph="{...}" />
745
+            <marker date="1487458480259" expanded="true" signature="179:310" ph="{...}" />
746
+            <marker date="1487458480259" expanded="true" signature="382:394" ph="{...}" />
953 747
           </folding>
954 748
         </state>
955 749
       </provider>
956 750
     </entry>
957
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs">
751
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesEditDbo.cs">
958 752
       <provider selected="true" editor-type-id="text-editor">
959 753
         <state relative-caret-position="90">
960
-          <caret line="5" column="39" lean-forward="false" selection-start-line="5" selection-start-column="39" selection-end-line="5" selection-end-column="39" />
754
+          <caret line="5" column="5" lean-forward="true" selection-start-line="5" selection-start-column="5" selection-end-line="5" selection-end-column="5" />
961 755
           <folding>
962
-            <marker date="1487458480243" expanded="true" signature="6:52" ph="..." />
963
-            <marker date="1487458480243" expanded="true" signature="89:268" ph="{...}" />
964
-            <marker date="1487458480243" expanded="true" signature="156:266" ph="{...}" />
756
+            <marker date="1487458480231" expanded="true" signature="75:166" ph="{...}" />
757
+            <marker date="1487458480231" expanded="true" signature="152:164" ph="{...}" />
965 758
           </folding>
966 759
         </state>
967 760
       </provider>
968 761
     </entry>
969
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsDbo.cs">
762
+    <entry file="file://$PROJECT_DIR$/Test/Tests.cs">
970 763
       <provider selected="true" editor-type-id="text-editor">
971
-        <state relative-caret-position="36">
972
-          <caret line="2" column="43" lean-forward="false" selection-start-line="2" selection-start-column="43" selection-end-line="2" selection-end-column="43" />
764
+        <state relative-caret-position="180">
765
+          <caret line="10" column="52" lean-forward="true" selection-start-line="10" selection-start-column="52" selection-end-line="10" selection-end-column="52" />
973 766
           <folding>
974
-            <marker date="1487458004959" expanded="true" signature="41:116" ph="{...}" />
975
-            <marker date="1487458004959" expanded="true" signature="101:114" ph="{...}" />
767
+            <marker date="1487539122533" expanded="true" signature="6:163" ph="..." />
768
+            <marker date="1487539122533" expanded="true" signature="179:1618" ph="{...}" />
769
+            <marker date="1487539122533" expanded="true" signature="204:1616" ph="{...}" />
770
+            <marker date="1487539122533" expanded="true" signature="435:877" ph="{...}" />
771
+            <marker date="1487539122533" expanded="true" signature="951:1388" ph="{...}" />
772
+            <marker date="1487539122533" expanded="true" signature="1194:1261" ph="{...}" />
773
+            <marker date="1487539122533" expanded="true" signature="1281:1378" ph="{...}" />
774
+            <marker date="1487539122533" expanded="true" signature="1466:1610" ph="{...}" />
775
+            <marker date="1487539122533" expanded="true" signature="1512:1598" ph="{...}" />
976 776
           </folding>
977 777
         </state>
978 778
       </provider>
979 779
     </entry>
980
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsAddDbo.cs">
780
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs">
981 781
       <provider selected="true" editor-type-id="text-editor">
982
-        <state relative-caret-position="36">
983
-          <caret line="2" column="43" lean-forward="false" selection-start-line="2" selection-start-column="43" selection-end-line="2" selection-end-column="43" />
782
+        <state relative-caret-position="90">
783
+          <caret line="5" column="39" lean-forward="false" selection-start-line="5" selection-start-column="39" selection-end-line="5" selection-end-column="39" />
984 784
           <folding>
985
-            <marker date="1487461391707" expanded="true" signature="41:119" ph="{...}" />
986
-            <marker date="1487461391707" expanded="true" signature="105:117" ph="{...}" />
785
+            <marker date="1487458480243" expanded="true" signature="6:52" ph="..." />
786
+            <marker date="1487458480243" expanded="true" signature="89:268" ph="{...}" />
787
+            <marker date="1487458480243" expanded="true" signature="156:266" ph="{...}" />
987 788
           </folding>
988 789
         </state>
989 790
       </provider>
@@ -999,18 +800,25 @@
999 800
         </state>
1000 801
       </provider>
1001 802
     </entry>
1002
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs">
803
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsDbo.cs">
1003 804
       <provider selected="true" editor-type-id="text-editor">
1004
-        <state relative-caret-position="270">
1005
-          <caret line="15" column="34" lean-forward="false" selection-start-line="15" selection-start-column="34" selection-end-line="15" selection-end-column="34" />
805
+        <state relative-caret-position="36">
806
+          <caret line="2" column="43" lean-forward="false" selection-start-line="2" selection-start-column="43" selection-end-line="2" selection-end-column="43" />
807
+          <folding>
808
+            <marker date="1487458004959" expanded="true" signature="41:116" ph="{...}" />
809
+            <marker date="1487458004959" expanded="true" signature="101:114" ph="{...}" />
810
+          </folding>
811
+        </state>
812
+      </provider>
813
+    </entry>
814
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesBasicDbo.cs">
815
+      <provider selected="true" editor-type-id="text-editor">
816
+        <state relative-caret-position="144">
817
+          <caret line="8" column="44" lean-forward="false" selection-start-line="8" selection-start-column="44" selection-end-line="8" selection-end-column="44" />
1006 818
           <folding>
1007
-            <marker date="1487538892461" expanded="true" signature="6:157" ph="..." />
1008
-            <marker date="1487538892461" expanded="true" signature="192:1071" ph="{...}" />
1009
-            <marker date="1487538892461" expanded="true" signature="228:1069" ph="{...}" />
1010
-            <marker date="1487538892461" expanded="true" signature="308:512" ph="{...}" />
1011
-            <marker date="1487538892461" expanded="true" signature="372:501" ph="{...}" />
1012
-            <marker date="1487538892461" expanded="true" signature="574:1063" ph="{...}" />
1013
-            <marker date="1487538892461" expanded="true" signature="632:1052" ph="{...}" />
819
+            <marker date="1487458868439" expanded="true" signature="6:78" ph="..." />
820
+            <marker date="1487458868439" expanded="true" signature="115:393" ph="{...}" />
821
+            <marker date="1487458868439" expanded="true" signature="154:391" ph="{...}" />
1014 822
           </folding>
1015 823
         </state>
1016 824
       </provider>
@@ -1028,44 +836,45 @@
1028 836
         </state>
1029 837
       </provider>
1030 838
     </entry>
1031
-    <entry file="file://$PROJECT_DIR$/Test/Tests.cs">
1032
-      <provider selected="true" editor-type-id="text-editor">
1033
-        <state relative-caret-position="180">
1034
-          <caret line="10" column="52" lean-forward="true" selection-start-line="10" selection-start-column="52" selection-end-line="10" selection-end-column="52" />
1035
-          <folding>
1036
-            <marker date="1487539122533" expanded="true" signature="6:163" ph="..." />
1037
-            <marker date="1487539122533" expanded="true" signature="179:1618" ph="{...}" />
1038
-            <marker date="1487539122533" expanded="true" signature="204:1616" ph="{...}" />
1039
-            <marker date="1487539122533" expanded="true" signature="435:877" ph="{...}" />
1040
-            <marker date="1487539122533" expanded="true" signature="951:1388" ph="{...}" />
1041
-            <marker date="1487539122533" expanded="true" signature="1194:1261" ph="{...}" />
1042
-            <marker date="1487539122533" expanded="true" signature="1281:1378" ph="{...}" />
1043
-            <marker date="1487539122533" expanded="true" signature="1466:1610" ph="{...}" />
1044
-            <marker date="1487539122533" expanded="true" signature="1512:1598" ph="{...}" />
1045
-          </folding>
1046
-        </state>
1047
-      </provider>
1048
-    </entry>
1049
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesAddDbo.cs">
839
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs">
1050 840
       <provider selected="true" editor-type-id="text-editor">
1051
-        <state relative-caret-position="144">
1052
-          <caret line="8" column="38" lean-forward="true" selection-start-line="8" selection-start-column="38" selection-end-line="8" selection-end-column="38" />
841
+        <state relative-caret-position="450">
842
+          <caret line="34" column="30" lean-forward="false" selection-start-line="34" selection-start-column="30" selection-end-line="34" selection-end-column="30" />
1053 843
           <folding>
1054
-            <marker date="1487458480259" expanded="true" signature="6:83" ph="..." />
1055
-            <marker date="1487458480259" expanded="true" signature="120:396" ph="{...}" />
1056
-            <marker date="1487458480259" expanded="true" signature="179:310" ph="{...}" />
1057
-            <marker date="1487458480259" expanded="true" signature="382:394" ph="{...}" />
844
+            <marker date="1487540897085" expanded="true" signature="6:157" ph="..." />
845
+            <marker date="1487540897085" expanded="true" signature="192:1247" ph="{...}" />
846
+            <marker date="1487540897085" expanded="true" signature="228:1245" ph="{...}" />
847
+            <marker date="1487540897085" expanded="true" signature="308:600" ph="{...}" />
848
+            <marker date="1487540897085" expanded="true" signature="349:406" ph="{...}" />
849
+            <marker date="1487540897085" expanded="true" signature="460:589" ph="{...}" />
850
+            <marker date="1487540897085" expanded="true" signature="662:1239" ph="{...}" />
851
+            <marker date="1487540897085" expanded="true" signature="703:760" ph="{...}" />
852
+            <marker date="1487540897085" expanded="true" signature="808:1228" ph="{...}" />
1058 853
           </folding>
1059 854
         </state>
1060 855
       </provider>
1061 856
     </entry>
1062
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesEditDbo.cs">
857
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs">
1063 858
       <provider selected="true" editor-type-id="text-editor">
1064
-        <state relative-caret-position="0">
1065
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
859
+        <state relative-caret-position="-113">
860
+          <caret line="48" column="69" lean-forward="true" selection-start-line="48" selection-start-column="69" selection-end-line="48" selection-end-column="69" />
1066 861
           <folding>
1067
-            <marker date="1487458480231" expanded="true" signature="75:166" ph="{...}" />
1068
-            <marker date="1487458480231" expanded="true" signature="152:164" ph="{...}" />
862
+            <marker date="1487541118573" expanded="true" signature="6:273" ph="..." />
863
+            <marker date="1487541118573" expanded="true" signature="308:2856" ph="{...}" />
864
+            <marker date="1487541118573" expanded="true" signature="444:2854" ph="{...}" />
865
+            <marker date="1487541118573" expanded="true" signature="645:665" ph="{...}" />
866
+            <marker date="1487541118573" expanded="true" signature="717:760" ph="{...}" />
867
+            <marker date="1487541118573" expanded="true" signature="869:964" ph="{...}" />
868
+            <marker date="1487541118573" expanded="true" signature="1033:1085" ph="{...}" />
869
+            <marker date="1487541118573" expanded="true" signature="1145:1383" ph="{...}" />
870
+            <marker date="1487541118573" expanded="true" signature="1281:1338" ph="{...}" />
871
+            <marker date="1487541118573" expanded="true" signature="1484:1620" ph="{...}" />
872
+            <marker date="1487541118573" expanded="true" signature="1697:2221" ph="{...}" />
873
+            <marker date="1487541118573" expanded="true" signature="1752:2210" ph="{...}" />
874
+            <marker date="1487541118573" expanded="true" signature="2014:2153" ph="{...}" />
875
+            <marker date="1487541118573" expanded="true" signature="2312:2722" ph="{...}" />
876
+            <marker date="1487541118573" expanded="true" signature="2527:2666" ph="{...}" />
877
+            <marker date="1487541118573" expanded="true" signature="2794:2848" ph="{...}" />
1069 878
           </folding>
1070 879
         </state>
1071 880
       </provider>

+ 21
- 0
backend/WebSem/WebApiWebSem/DataAccess/ArticlesDataAccess.cs 查看文件

@@ -1,6 +1,9 @@
1 1
 using System;
2
+using System.Collections.Generic;
2 3
 using System.Linq;
4
+using System.Linq.Expressions;
3 5
 using Luticate2.Utils.DataAccess;
6
+using Luticate2.Utils.Dbo.Filter;
4 7
 using Microsoft.EntityFrameworkCore;
5 8
 using WebApiWebSem.DataAccess.Models;
6 9
 using WebApiWebSem.Dbo.Articles;
@@ -9,6 +12,8 @@ namespace WebApiWebSem.DataAccess
9 12
 {
10 13
     public class ArticlesDataAccess : LuEfCrudDataAccess<articles, ArticlesAddDbo, ArticlesDbo, ArticlesEditDbo, WsDbContext, string>
11 14
     {
15
+        protected static IList<string> Types = new List<string>{"persons", "locations", "countries"};
16
+
12 17
         public ArticlesDataAccess(IServiceProvider serviceProvider) : base(serviceProvider)
13 18
         {
14 19
         }
@@ -28,6 +33,22 @@ namespace WebApiWebSem.DataAccess
28 33
             return db.articles;
29 34
         }
30 35
 
36
+        protected string GetFilterType(LuFilterDbo filter)
37
+        {
38
+            var type = filter.GetFilterString("type", null);
39
+            if (type == null || !Types.Contains(type.ToLower()))
40
+            {
41
+                return null;
42
+            }
43
+            return type.ToLower();
44
+        }
45
+
46
+        protected override Expression<Func<articles, bool>> GetFilterExpression(LuFilterDbo filter)
47
+        {
48
+            var type = GetFilterType(filter);
49
+            return articles => type == null || articles.type == type;
50
+        }
51
+
31 52
         protected override articles GetModelFromTCreate(ArticlesAddDbo obj)
32 53
         {
33 54
             return new articles

+ 8
- 0
backend/WebSem/WebApiWebSem/DataAccess/ModelsDbo.cs 查看文件

@@ -10,6 +10,10 @@ namespace WebApiWebSem.DataAccess
10 10
     {
11 11
         public static ArticlesFieldsDbo ToDbo(this articles_fields model)
12 12
         {
13
+            if (model == null)
14
+            {
15
+                return null;
16
+            }
13 17
             return new ArticlesFieldsDbo
14 18
             {
15 19
                 Property = model.property,
@@ -20,6 +24,10 @@ namespace WebApiWebSem.DataAccess
20 24
 
21 25
         public static ArticlesDbo ToDbo(this articles model)
22 26
         {
27
+            if (model == null)
28
+            {
29
+                return null;
30
+            }
23 31
             return new ArticlesDbo
24 32
             {
25 33
                 CreatedAt = model.created_at.ToDbo(),

+ 18
- 0
frontend/WebSem/app/controllers/articles.controller.js 查看文件

@@ -14,5 +14,23 @@ angular.module('app')
14 14
                 };
15 15
             };
16 16
 
17
+            $scope.getFilter = function (filter) {
18
+                var label = $scope.appUtils.tr('articles.type').toLowerCase();
19
+                return filter.replace(new RegExp(label + ': *([a-zA-Z0-9]*)'), function(match, p1)
20
+                {
21
+                    var type = null;
22
+                    for (var t in $scope.appUtils.articleTypes)
23
+                    {
24
+                        var str = $scope.appUtils.articleTypes[t];
25
+                        if ($scope.appUtils.tr('articles.types.' + str).toLowerCase() == p1.toLowerCase())
26
+                        {
27
+                            type = str;
28
+                            break;
29
+                        }
30
+                    }
31
+                    return type == null ? '' : 'type:' + type;
32
+                });
33
+            };
34
+
17 35
             $scope.init();
18 36
     }]);

+ 6
- 0
frontend/WebSem/app/controllers/articlesedit.controller.js 查看文件

@@ -6,6 +6,12 @@ angular.module('app')
6 6
             $scope.itemType = 'articles';
7 7
             editControllerBuilder.create($scope, $stateParams);
8 8
 
9
+            $scope.addField = function()
10
+            {
11
+                var field = $scope.business.initFieldDbo({});
12
+                $scope.item.fields.push(field);
13
+            };
14
+
9 15
             $scope.setupExitConfirm();
10 16
 
11 17
             $scope.init($stateParams);

+ 4
- 0
frontend/WebSem/app/translations/en.json 查看文件

@@ -50,12 +50,16 @@
50 50
     "title": "Title",
51 51
     "type": "Type",
52 52
     "text": "Abstract",
53
+    "pictureUrl": "Picture URL",
54
+    "pictureCaption": "Picture caption",
53 55
     "types": {
54 56
       "home": "Home page",
55 57
       "persons": "Person",
56 58
       "locations": "Location",
57 59
       "countries": "Country"
58 60
     },
61
+    "general": "General",
62
+    "fields": "Data",
59 63
     "deleteOne": "Do you really want to delete article '{text}'?",
60 64
     "deleteMultiple": "Do you really want to delete {count} {count, select, 1{article} other{articles}}?",
61 65
     "edit": {

+ 1
- 1
frontend/WebSem/app/views/articles.html 查看文件

@@ -107,7 +107,7 @@
107 107
     <md-table-pagination md-label="{{appUtils.mdTableLabels()}}" class="col-xs-11" md-limit="query.limit" md-limit-options="[5, 10, 20]"
108 108
                          md-page="query.page" md-total="{{items.count}}" md-on-paginate="getItems" md-page-select></md-table-pagination>
109 109
 
110
-    <div ng-repeat="error in busy.errors('intra.' + itemType + '.table')" class="isa_error">
110
+    <div ng-repeat="error in busy.errors(itemType + '.table')" class="isa_error">
111 111
         <i class="fa fa-times-circle"></i>
112 112
         {{ error.data.message }}
113 113
     </div>

+ 32
- 0
frontend/WebSem/app/views/articlesedit.html 查看文件

@@ -16,6 +16,9 @@
16 16
     </md-toolbar>
17 17
     <md-content layout-padding>
18 18
         <form name="editForm">
19
+
20
+            <h4 class="md-title">{{ itemType + '.general' | translate }}</h4>
21
+
19 22
             <div layout-gt-sm="row">
20 23
                 <md-input-container class="md-block" flex flex-gt-sm="15">
21 24
                     <label>{{ itemType + '.type' | translate }}</label>
@@ -29,12 +32,41 @@
29 32
                     <input required ng-model="item.title" ng-readonly="item.id != null">
30 33
                 </md-input-container>
31 34
             </div>
35
+            <div layout-gt-sm="row">
36
+                <md-input-container class="md-block" flex>
37
+                    <label>{{ itemType + '.pictureUrl' | translate }}</label>
38
+                    <input ng-model="item.pictureUrl" >
39
+                </md-input-container>
40
+            </div>
41
+            <div layout="column" layout-align=" center">
42
+                <img ng-src="{{item.pictureUrl}}" />
43
+            </div>
44
+            <div layout-gt-sm="row">
45
+                <md-input-container class="md-block" flex>
46
+                    <label>{{ itemType + '.pictureCaption' | translate }}</label>
47
+                    <input ng-model="item.pictureCaption" >
48
+                </md-input-container>
49
+            </div>
32 50
             <div layout-gt-sm="row">
33 51
                 <md-input-container class="md-block" flex-gt-sm>
34 52
                     <label>{{ itemType + '.text' | translate }}</label>
35 53
                     <textarea ng-model="item.text" required></textarea>
36 54
                 </md-input-container>
37 55
             </div>
56
+
57
+
58
+            <div layout="row" layout-align=" center">
59
+                <h4 class="md-title">{{ itemType + '.fields' | translate }}</h4>
60
+                <md-button class="md-icon-button no-margin" ng-click="addField()" title="{{ 'common.new' | translate }}">
61
+                    <md-icon class="material-icons">playlist_add</md-icon>
62
+                </md-button>
63
+            </div>
64
+
65
+            <div layout-gt-sm="row">
66
+                <div ng-repeat="field in item.fields">{{field}}</div>
67
+            </div>
68
+
69
+
38 70
             <div flex>
39 71
                 <md-progress-linear ng-disabled="!running" md-mode="indeterminate"></md-progress-linear>
40 72
             </div>

+ 5
- 0
frontend/WebSem/sdk/Business/articles.business.js 查看文件

@@ -10,6 +10,11 @@
10 10
 
11 11
             var Business = luWebApiCrudBusiness.create(articlesDataAccess);
12 12
 
13
+            Business.initFieldDbo = function(dbo)
14
+            {
15
+                return Business.dataAccess.articleFieldDboInitializer.initData(dbo, Business.dataAccess.TYPE_DBO);
16
+            };
17
+
13 18
             return Business;
14 19
         }]);
15 20
 })();

+ 5
- 1
frontend/WebSem/sdk/Business/listcontrollerbuilder.business.js 查看文件

@@ -117,11 +117,15 @@
117 117
                         return orderBy;
118 118
                     };
119 119
 
120
+                    $scope.getFilter = function (filter) {
121
+                        return filter;
122
+                    };
123
+
120 124
                     $scope.getItems = function()
121 125
                     {
122 126
                         $scope.selected = [];
123 127
                         var orderBy = AppUtilsBusiness.convertOrderBy($scope.query.order);
124
-                        $scope.business.getMultiple($scope.getOrderBy(orderBy), $scope.query.filter, $scope.query.page - 1, $scope.query.limit, $scope.itemType + '.table').then(function(data)
128
+                        $scope.business.getMultiple($scope.getOrderBy(orderBy), $scope.getFilter($scope.query.filter), $scope.query.page - 1, $scope.query.limit, $scope.itemType + '.table').then(function(data)
125 129
                         {
126 130
                             $scope.items = data;
127 131
                         }, function(error)

+ 2
- 2
frontend/WebSem/sdk/DataAccess/articles.dataaccess.js 查看文件

@@ -23,14 +23,14 @@
23 23
                 updatedAt: null,
24 24
                 _itemType: 'articles',
25 25
                 toString: function () {
26
-                    return this.id;
26
+                    return this.title == null ? this.id : this.title;
27 27
                 }
28 28
             };
29 29
 
30 30
             DataAccess.defaultFieldDbo = {
31 31
                 value: null,
32 32
                 property: null,
33
-                type: 20.0
33
+                type: null
34 34
             };
35 35
 
36 36
             DataAccess.initFieldDbo = function (dbo, type) {

Loading…
取消
儲存