Merge branch 'create_data_synchronization_base' into 'master'
Импорт пакета разработки [Rx] See merge request !1
Showing
82 changed files
with
6640 additions
and
0 deletions
DirRX.Dci/DirRX.Dci.Server/ModuleHandlers.cs
0 → 100644
DirRX.Dci/DirRX.Dci.Server/ModuleJobs.cs
0 → 100644
DirRX.Dci/DirRX.Dci.Server/ModuleQueries.xml
0 → 100644
DirRX.Dci/DirRX.Dci.Shared/Module.mtd
0 → 100644
1 | { | ||
2 | "$type": "Sungero.Metadata.SolutionMetadata, Sungero.Metadata", | ||
3 | "NameGuid": "f380c872-469a-4014-9ce5-ffb840907fc6", | ||
4 | "Name": "Dci", | ||
5 | "AsyncHandlers": [], | ||
6 | "ClientAssemblyName": "DirRX.Dci.Client", | ||
7 | "ClientBaseAssemblyName": "DirRX.Dci.ClientBase", | ||
8 | "ClientBaseNamespace": "DirRX.Dci.ClientBase", | ||
9 | "ClientNamespace": "DirRX.Dci.Client", | ||
10 | "Code": "Dci", | ||
11 | "CompanyCode": "DirRX", | ||
12 | "Cover": { | ||
13 | "NameGuid": "b41ac586-e41b-4b5c-99a2-d09d81032728", | ||
14 | "Actions": [], | ||
15 | "Background": null, | ||
16 | "Footer": { | ||
17 | "NameGuid": "b9ace2f4-94cc-49a4-834f-c73df793fb4d", | ||
18 | "BackgroundPosition": "Stretch" | ||
19 | }, | ||
20 | "Groups": [], | ||
21 | "Header": { | ||
22 | "NameGuid": "6e9571a3-229f-4173-9651-503932893c1c", | ||
23 | "BackgroundPosition": "Stretch" | ||
24 | }, | ||
25 | "Tabs": [] | ||
26 | }, | ||
27 | "DesktopViews": [], | ||
28 | "IconResourcesKeys": [], | ||
29 | "Importance": "Medium", | ||
30 | "InterfaceAssemblyName": "Sungero.Domain.Interfaces", | ||
31 | "InterfaceNamespace": "DirRX.Dci", | ||
32 | "OrderedSpecialFolders": [], | ||
33 | "PublicStructures": [], | ||
34 | "ResourceInterfaceAssemblyName": "Sungero.Domain.Interfaces", | ||
35 | "ResourceInterfaceNamespace": "DirRX.Dci", | ||
36 | "ResourcesKeys": [], | ||
37 | "ServerAssemblyName": "DirRX.Dci.Server", | ||
38 | "ServerNamespace": "DirRX.Dci.Server", | ||
39 | "SharedAssemblyName": "DirRX.Dci.Shared", | ||
40 | "SharedNamespace": "DirRX.Dci.Shared", | ||
41 | "SpecialFolders": [], | ||
42 | "Version": "1.0.4427.0", | ||
43 | "Widgets": [], | ||
44 | "Versions": [ | ||
45 | { | ||
46 | "Type": "SolutionMetadata", | ||
47 | "Number": 8 | ||
48 | }, | ||
49 | { | ||
50 | "Type": "ModuleMetadata", | ||
51 | "Number": 8 | ||
52 | }, | ||
53 | { | ||
54 | "Type": "DomainApi", | ||
55 | "Number": 3 | ||
56 | } | ||
57 | ] | ||
58 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
DirRX.Dci/DirRX.Dci.Shared/Module.resx
0 → 100644
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
DirRX.Dci/DirRX.Dci.Shared/Module.ru.resx
0 → 100644
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
DirRX.Dci/DirRX.Dci.Shared/ModuleSystem.resx
0 → 100644
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="DisplayName" xml:space="preserve"> | ||
121 | <value>Dci</value> | ||
122 | </data> | ||
123 | <data name="CoverTitle" xml:space="preserve"> | ||
124 | <value>Dci</value> | ||
125 | </data> | ||
126 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciProcessKind; | ||
7 | |||
8 | namespace DirRX.DciCore.Client | ||
9 | { | ||
10 | partial class DciProcessKindFunctions | ||
11 | { | ||
12 | |||
13 | } | ||
14 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciProcessKind; | ||
7 | |||
8 | namespace DirRX.DciCore | ||
9 | { | ||
10 | partial class DciProcessKindClientHandlers | ||
11 | { | ||
12 | |||
13 | } | ||
14 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8" standalone="yes"?> | ||
2 | <settings> | ||
3 | <ViewName>Default</ViewName> | ||
4 | <Collection175cf31544274d6b81205bd7b57bd993 FormGuid="e3903018-e6ef-4336-a294-2ccdc8d0bf63"> | ||
5 | <XtraSerializer version="1.0" application="GridControl"> | ||
6 | <property name="#LayoutVersion" isnull="true" /> | ||
7 | <property name="$GridControl" iskey="true" value="GridControl"> | ||
8 | <property name="GroupSummary" iskey="true" value="0" /> | ||
9 | <property name="View" isnull="true" iskey="true"> | ||
10 | <property name="ShowTotalSummary">false</property> | ||
11 | <property name="AllowMoveColumnToDropArea">false</property> | ||
12 | <property name="AllowColumnMoving">true</property> | ||
13 | <property name="ColumnChooserState" isnull="true" iskey="true"> | ||
14 | <property name="Location">1011,-2</property> | ||
15 | <property name="Size">220,250</property> | ||
16 | </property> | ||
17 | <property name="AutoWidth">false</property> | ||
18 | <property name="AllowGrouping">false</property> | ||
19 | <property name="AllowSorting">true</property> | ||
20 | <property name="ShowGroupPanel">false</property> | ||
21 | <property name="LinesPerRowMode">None</property> | ||
22 | <property name="IsRowCellMenuEnabled">false</property> | ||
23 | </property> | ||
24 | <property name="GroupCount">0</property> | ||
25 | <property name="TotalSummary" iskey="true" value="0" /> | ||
26 | <property name="Columns" iskey="true" value="2"> | ||
27 | <property name="Item1" isnull="true" iskey="true"> | ||
28 | <property name="FieldName">Name</property> | ||
29 | <property name="Visible">true</property> | ||
30 | <property name="Name">DciProcessKind_Messages_Name</property> | ||
31 | <property name="VisibleIndex">0</property> | ||
32 | <property name="Width">337</property> | ||
33 | <property name="ActualWidth">28*</property> | ||
34 | </property> | ||
35 | <property name="Item2" isnull="true" iskey="true"> | ||
36 | <property name="FieldName">Note</property> | ||
37 | <property name="Visible">true</property> | ||
38 | <property name="Name">DciProcessKind_Messages_Note</property> | ||
39 | <property name="VisibleIndex">1</property> | ||
40 | <property name="ActualWidth">57*</property> | ||
41 | </property> | ||
42 | </property> | ||
43 | <property name="SortInfo" iskey="true" value="0" /> | ||
44 | <property name="GroupSummarySortInfo" iskey="true" value="0" /> | ||
45 | </property> | ||
46 | </XtraSerializer> | ||
47 | </Collection175cf31544274d6b81205bd7b57bd993> | ||
48 | </settings> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
DirRX.DciCore/DirRX.DciCore.ClientBase/DciProcessKind/Generated/DefaultCollectionView.xml
0 → 100644
1 | <?xml version="1.0" encoding="utf-8" standalone="yes"?> | ||
2 | <settings> | ||
3 | <ViewName>Default</ViewName> | ||
4 | <Collection FormGuid="cddd4c25-da1e-45d4-ab4b-0250a22ce940"> | ||
5 | <XtraSerializer version="1.0" application="GridControl"> | ||
6 | <property name="#LayoutVersion" isnull="true" /> | ||
7 | <property name="$GridControl" iskey="true" value="GridControl"> | ||
8 | <property name="GroupSummary" iskey="true" value="0" /> | ||
9 | <property name="View" isnull="true" iskey="true"> | ||
10 | <property name="ColumnChooserState" isnull="true" iskey="true"> | ||
11 | <property name="Location">840,-194</property> | ||
12 | <property name="Size">220,250</property> | ||
13 | </property> | ||
14 | <property name="AllowGrouping">true</property> | ||
15 | <property name="AllowSorting">true</property> | ||
16 | <property name="LinesPerRowMode">OneLineMode</property> | ||
17 | <property name="IsRowCellMenuEnabled">false</property> | ||
18 | </property> | ||
19 | <property name="TotalSummary" iskey="true" value="0" /> | ||
20 | <property name="GroupCount">0</property> | ||
21 | <property name="Columns" iskey="true" value="8"> | ||
22 | <property name="Item1" isnull="true" iskey="true"> | ||
23 | <property name="MinWidth">32</property> | ||
24 | <property name="FieldName">T</property> | ||
25 | <property name="FixedWidth">true</property> | ||
26 | <property name="Visible">true</property> | ||
27 | <property name="ExtendedVisibleIndex">0</property> | ||
28 | <property name="VisibleIndex">0</property> | ||
29 | <property name="Width">32</property> | ||
30 | <property name="ActualWidth">3*</property> | ||
31 | </property> | ||
32 | <property name="Item2" isnull="true" iskey="true"> | ||
33 | <property name="FieldName">Id</property> | ||
34 | <property name="Visible">false</property> | ||
35 | <property name="Name">DciProcessKind_Id</property> | ||
36 | <property name="ExtendedVisibleIndex">7</property> | ||
37 | <property name="VisibleIndex">5</property> | ||
38 | <property name="ActualWidth">6*</property> | ||
39 | </property> | ||
40 | <property name="Item3" isnull="true" iskey="true"> | ||
41 | <property name="FieldName">Status</property> | ||
42 | <property name="Visible">true</property> | ||
43 | <property name="Name">DciProcessKind_Status</property> | ||
44 | <property name="ExtendedVisibleIndex">6</property> | ||
45 | <property name="VisibleIndex">4</property> | ||
46 | <property name="ActualWidth">15*</property> | ||
47 | </property> | ||
48 | <property name="Item4" isnull="true" iskey="true"> | ||
49 | <property name="FieldName">Name</property> | ||
50 | <property name="Visible">true</property> | ||
51 | <property name="Name">DciProcessKind_Name</property> | ||
52 | <property name="ExtendedVisibleIndex">3</property> | ||
53 | <property name="VisibleIndex">1</property> | ||
54 | <property name="ActualWidth">17*</property> | ||
55 | </property> | ||
56 | <property name="Item5" isnull="true" iskey="true"> | ||
57 | <property name="FieldName">GUID</property> | ||
58 | <property name="Visible">false</property> | ||
59 | <property name="Name">DciProcessKind_GUID</property> | ||
60 | <property name="ExtendedVisibleIndex">1</property> | ||
61 | <property name="ActualWidth">NaN</property> | ||
62 | </property> | ||
63 | <property name="Item6" isnull="true" iskey="true"> | ||
64 | <property name="FieldName">ProcessType</property> | ||
65 | <property name="Visible">true</property> | ||
66 | <property name="Name">DciProcessKind_ProcessType</property> | ||
67 | <property name="ExtendedVisibleIndex">5</property> | ||
68 | <property name="VisibleIndex">3</property> | ||
69 | <property name="ActualWidth">14*</property> | ||
70 | </property> | ||
71 | <property name="Item7" isnull="true" iskey="true"> | ||
72 | <property name="FieldName">Description</property> | ||
73 | <property name="Visible">true</property> | ||
74 | <property name="Name">DciProcessKind_Description</property> | ||
75 | <property name="ExtendedVisibleIndex">4</property> | ||
76 | <property name="VisibleIndex">2</property> | ||
77 | <property name="ActualWidth">24*</property> | ||
78 | </property> | ||
79 | <property name="Item8" isnull="true" iskey="true"> | ||
80 | <property name="FieldName">Note</property> | ||
81 | <property name="Visible">false</property> | ||
82 | <property name="Name">DciProcessKind_Note</property> | ||
83 | <property name="ExtendedVisibleIndex">2</property> | ||
84 | <property name="ActualWidth">NaN</property> | ||
85 | </property> | ||
86 | </property> | ||
87 | <property name="SortInfo" iskey="true" value="0" /> | ||
88 | <property name="GroupSummarySortInfo" iskey="true" value="0" /> | ||
89 | </property> | ||
90 | </XtraSerializer> | ||
91 | </Collection> | ||
92 | </settings> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8" standalone="yes"?> | ||
2 | <settings> | ||
3 | <ViewName>Default</ViewName> | ||
4 | <Folder FormGuid="8dbb6507-6d7b-4ef2-9247-a64a15eb5dbb"> | ||
5 | <XtraSerializer version="1.0" application="GridControl"> | ||
6 | <property name="#LayoutVersion" isnull="true" /> | ||
7 | <property name="$GridControl" iskey="true" value="GridControl"> | ||
8 | <property name="Columns" iskey="true" value="3"> | ||
9 | <property name="Item1" isnull="true" iskey="true"> | ||
10 | <property name="FieldName">T</property> | ||
11 | <property name="Visible">true</property> | ||
12 | <property name="VisibleIndex">0</property> | ||
13 | </property> | ||
14 | <property name="Item2" isnull="true" iskey="true"> | ||
15 | <property name="FieldName">Id</property> | ||
16 | <property name="Visible">true</property> | ||
17 | <property name="Name">DciProcessKind_Id</property> | ||
18 | <property name="VisibleIndex">1</property> | ||
19 | </property> | ||
20 | <property name="Item3" isnull="true" iskey="true"> | ||
21 | <property name="FieldName">Name</property> | ||
22 | <property name="Visible">true</property> | ||
23 | <property name="Name">DciProcessKind_Name</property> | ||
24 | <property name="VisibleIndex">2</property> | ||
25 | </property> | ||
26 | </property> | ||
27 | </property> | ||
28 | </XtraSerializer> | ||
29 | </Folder> | ||
30 | </settings> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciSetting; | ||
7 | |||
8 | namespace DirRX.DciCore.Client | ||
9 | { | ||
10 | partial class DciSettingFunctions | ||
11 | { | ||
12 | |||
13 | } | ||
14 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciSetting; | ||
7 | |||
8 | namespace DirRX.DciCore | ||
9 | { | ||
10 | partial class DciSettingClientHandlers | ||
11 | { | ||
12 | |||
13 | } | ||
14 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8" standalone="yes"?> | ||
2 | <settings> | ||
3 | <ViewName>Default</ViewName> | ||
4 | <Collection FormGuid="cddd4c25-da1e-45d4-ab4b-0250a22ce940"> | ||
5 | <XtraSerializer version="1.0" application="GridControl"> | ||
6 | <property name="#LayoutVersion" isnull="true" /> | ||
7 | <property name="$GridControl" iskey="true" value="GridControl"> | ||
8 | <property name="Columns" iskey="true" value="3"> | ||
9 | <property name="Item1" isnull="true" iskey="true"> | ||
10 | <property name="FieldName">T</property> | ||
11 | <property name="Visible">true</property> | ||
12 | <property name="VisibleIndex">0</property> | ||
13 | </property> | ||
14 | <property name="Item2" isnull="true" iskey="true"> | ||
15 | <property name="FieldName">Id</property> | ||
16 | <property name="Visible">true</property> | ||
17 | <property name="Name">DciSetting_Id</property> | ||
18 | <property name="VisibleIndex">1</property> | ||
19 | </property> | ||
20 | <property name="Item3" isnull="true" iskey="true"> | ||
21 | <property name="FieldName">Name</property> | ||
22 | <property name="Visible">true</property> | ||
23 | <property name="Name">DciSetting_Name</property> | ||
24 | <property name="VisibleIndex">2</property> | ||
25 | </property> | ||
26 | </property> | ||
27 | </property> | ||
28 | </XtraSerializer> | ||
29 | </Collection> | ||
30 | </settings> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8" standalone="yes"?> | ||
2 | <settings> | ||
3 | <ViewName>Default</ViewName> | ||
4 | <Folder FormGuid="8dbb6507-6d7b-4ef2-9247-a64a15eb5dbb"> | ||
5 | <XtraSerializer version="1.0" application="GridControl"> | ||
6 | <property name="#LayoutVersion" isnull="true" /> | ||
7 | <property name="$GridControl" iskey="true" value="GridControl"> | ||
8 | <property name="Columns" iskey="true" value="3"> | ||
9 | <property name="Item1" isnull="true" iskey="true"> | ||
10 | <property name="FieldName">T</property> | ||
11 | <property name="Visible">true</property> | ||
12 | <property name="VisibleIndex">0</property> | ||
13 | </property> | ||
14 | <property name="Item2" isnull="true" iskey="true"> | ||
15 | <property name="FieldName">Id</property> | ||
16 | <property name="Visible">true</property> | ||
17 | <property name="Name">DciSetting_Id</property> | ||
18 | <property name="VisibleIndex">1</property> | ||
19 | </property> | ||
20 | <property name="Item3" isnull="true" iskey="true"> | ||
21 | <property name="FieldName">Name</property> | ||
22 | <property name="Visible">true</property> | ||
23 | <property name="Name">DciSetting_Name</property> | ||
24 | <property name="VisibleIndex">2</property> | ||
25 | </property> | ||
26 | </property> | ||
27 | </property> | ||
28 | </XtraSerializer> | ||
29 | </Folder> | ||
30 | </settings> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |

982 Bytes
1 | <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><title>GroupIconGroup2_large_5430a5b483b34623a8a172567176cf0c</title><path d="M30,13H26.95c-0.16-.45-1.11-2.16-1.32-2.58L27.3,8.75c0.76-.76,1-1.37.19-2.13L24.75,3.88c-0.76-.76-1.11-0.14-1.87.61L21.12,6.25c-0.31-.14-1.8-1.08-2.12-1.2V2c0-.5,0-1-1.06-1H14.06A0.88,0.88,0,0,0,13,2V5.05c-0.39.14-1.93,1.07-2.29,1.24l-2.21-2C7.75,3.57,8,3.37,6.83,3.92L4.09,6.66a1.39,1.39,0,0,0,.22,2.16l1.85,1.85C6,11,5.19,12.61,5.05,13H2a0.84,0.84,0,0,0-1,1v4c0,0.9,1.26,1,1,1H5c0.11,0.32.94,1.69,1.08,2l-2,2c-0.76.76-1.05,1.56-.3,2.32L6.5,28.08c0.76,0.76,1.18.48,1.94-.27l1.93-1.93c0.42,0.21,2.14,1,2.58,1.21L13,30c0.13,0.25-.07,1,1,1h4a1,1,0,0,0,1-1V27c0.39-.14,1.71-1.08,2.08-1.25l1.85,1.85a1.49,1.49,0,0,0,2.34.14L28,25c0.76-.76.23-0.94-0.53-1.69l-1.85-1.85c0.17-.37,1.19-2.07,1.32-2.46H30a0.92,0.92,0,0,0,1-1.06V14.06A0.92,0.92,0,0,0,30,13ZM16,20.88A4.59,4.59,0,0,1,11.13,16,4.82,4.82,0,0,1,16,11.13,5,5,0,0,1,20.88,16,4.78,4.78,0,0,1,16,20.88Z" fill="#fff"/><path d="M18,2V4.7a2,2,0,0,0,1.33,1.89c0.29,0.1.56,0.21,0.82,0.33a2,2,0,0,0,2.25-.4l1.82-1.82L27,7.51,25.32,9.24a2,2,0,0,0-.38,2.31,10,10,0,0,1,.48,1.12A2,2,0,0,0,27.3,14H30v4H27.3a2,2,0,0,0-1.89,1.33,10,10,0,0,1-.4,1,2,2,0,0,0,.39,2.28l1.91,1.91-2.83,2.83-1.91-1.91A2,2,0,0,0,20.3,25a9.94,9.94,0,0,1-1,.4A2,2,0,0,0,18,27.3V30H14V27.3a2,2,0,0,0-1.33-1.89,10,10,0,0,1-1.12-.48,2,2,0,0,0-2.31.38l-2,2L4.41,24.49l2.09-2.09a2,2,0,0,0,.4-2.25c-0.12-.25-0.23-0.53-0.33-0.82A2,2,0,0,0,4.7,18H2V14H4.7a2,2,0,0,0,1.89-1.33,10,10,0,0,1,.4-1,2,2,0,0,0-.39-2.28L4.69,7.51,7.51,4.69,9.42,6.59A2,2,0,0,0,11.7,7a10,10,0,0,1,1-.4A2,2,0,0,0,14,4.7V2h4M16,22a6,6,0,1,0-6-6,6,6,0,0,0,6,6M18,0H14a2,2,0,0,0-2,2V4.7a11.91,11.91,0,0,0-1.16.48L8.93,3.27a2,2,0,0,0-2.83,0L3.27,6.1a2,2,0,0,0,0,2.83l1.91,1.91A11.9,11.9,0,0,0,4.7,12H2a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2H4.7c0.12,0.33.25,0.66,0.39,1L3,23.07A2,2,0,0,0,3,25.9l2.83,2.83a2,2,0,0,0,2.83,0l2-2A11.92,11.92,0,0,0,12,27.3V30a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V27.3a11.89,11.89,0,0,0,1.16-.48l1.91,1.91a2,2,0,0,0,2.83,0l2.83-2.83a2,2,0,0,0,0-2.83l-1.91-1.91A11.9,11.9,0,0,0,27.3,20H30a2,2,0,0,0,2-2V14a2,2,0,0,0-2-2H27.3a11.92,11.92,0,0,0-.57-1.35l1.72-1.72a2,2,0,0,0,0-2.83L25.63,3.27a2,2,0,0,0-2.83,0L21,5.09c-0.32-.15-0.65-0.28-1-0.39V2a2,2,0,0,0-2-2h0ZM16,20a4,4,0,1,1,4-4,4,4,0,0,1-4,4h0Z" fill="#6fa6d4"/></svg> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | |||
7 | namespace DirRX.DciCore.Client | ||
8 | { | ||
9 | public class ModuleFunctions | ||
10 | { | ||
11 | |||
12 | /// <summary> | ||
13 | /// Открыть настройки DCI. | ||
14 | /// </summary> | ||
15 | [Public] | ||
16 | public virtual void ShowDciSettings() | ||
17 | { | ||
18 | var setting = Functions.DciSetting.Remote.GetDciSettings(); | ||
19 | if (setting == null) | ||
20 | setting = Functions.DciSetting.Remote.CreateDciSetting(); | ||
21 | |||
22 | setting.Show(); | ||
23 | } | ||
24 | |||
25 | /// <summary> | ||
26 | /// Отправить тестовое сообщение для проверки связи. | ||
27 | /// </summary> | ||
28 | [Public] | ||
29 | public virtual void SendDciPingMessage() | ||
30 | { | ||
31 | var setting = Functions.DciSetting.Remote.GetDciSettings(); | ||
32 | if (setting == null) | ||
33 | { | ||
34 | Dialogs.ShowMessage(DirRX.DciCore.Resources.DciSettingsNotFound, MessageType.Warning); | ||
35 | return; | ||
36 | } | ||
37 | |||
38 | var processGuid = Functions.Module.Remote.SendDciPing(); | ||
39 | |||
40 | var hyperLink = PublicFunctions.Module.GetHyperlinkToDciProcess(setting, processGuid); | ||
41 | Dialogs.ShowMessage(DirRX.DciCore.Resources.SendPingTrackingMessageFormat(hyperLink)); | ||
42 | } | ||
43 | |||
44 | } | ||
45 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
No preview for this file type
No preview for this file type
No preview for this file type
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciProcessKind; | ||
7 | |||
8 | namespace DirRX.DciCore | ||
9 | { | ||
10 | partial class DciProcessKindServerHandlers | ||
11 | { | ||
12 | |||
13 | public override void BeforeSave(Sungero.Domain.BeforeSaveEventArgs e) | ||
14 | { | ||
15 | var validationText = string.Empty; | ||
16 | // Проверить корректность имени процесса. | ||
17 | validationText = Functions.Module.ValidateDciName(_obj.Name); | ||
18 | if (!string.IsNullOrWhiteSpace(validationText)) | ||
19 | e.AddError(DirRX.DciCore.DciProcessKinds.Resources.IncorrectProcessNameFormat(validationText)); | ||
20 | |||
21 | // Проверить корректность имени сообщений. | ||
22 | foreach (var row in _obj.Messages) | ||
23 | { | ||
24 | validationText = Functions.Module.ValidateDciName(row.Name); | ||
25 | if (!string.IsNullOrWhiteSpace(validationText)) | ||
26 | e.AddError(DirRX.DciCore.DciProcessKinds.Resources.IncorrectMessageNameFormat(validationText)); | ||
27 | } | ||
28 | |||
29 | // Проверить дубли среди имен сообщений в разрезе сообщения. | ||
30 | var doubleName = _obj.Messages.GroupBy(x => x.Name) | ||
31 | .Where(g => g.Count() > 1) | ||
32 | .Select(y => y.Key) | ||
33 | .FirstOrDefault(); | ||
34 | if (!string.IsNullOrWhiteSpace(doubleName)) | ||
35 | e.AddError(DirRX.DciCore.DciProcessKinds.Resources.NotUniqueMessageNameFormat(doubleName, _obj.Name)); | ||
36 | } | ||
37 | } | ||
38 | |||
39 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciProcessKind; | ||
7 | |||
8 | namespace DirRX.DciCore.Server | ||
9 | { | ||
10 | partial class DciProcessKindFunctions | ||
11 | { | ||
12 | |||
13 | /// <summary> | ||
14 | /// Получить запись справочника по имени процесса. | ||
15 | /// </summary> | ||
16 | /// <param name="processName">Имя процесса DCI.</param> | ||
17 | /// <returns>Запись справочника "Вид межсистемного процесса".</returns> | ||
18 | [Public, Remote(IsPure = true)] | ||
19 | public static IDciProcessKind GetProcessKindByName(string processName) | ||
20 | { | ||
21 | var result = DciProcessKinds.GetAll().Where(x => x.Status == Status.Active | ||
22 | && x.Name == processName) | ||
23 | .FirstOrDefault(); | ||
24 | return result; | ||
25 | } | ||
26 | |||
27 | /// <summary> | ||
28 | /// Проверить существование записи справочника по имени процесса и имени сообщения. | ||
29 | /// </summary> | ||
30 | /// <param name="processName">Имя процесса DCI.</param> | ||
31 | /// <param name="messageName">Имя сообщения DCI.</param> | ||
32 | /// <returns>Пустая строка или текст ошибки.</returns> | ||
33 | [Public, Remote(IsPure = true)] | ||
34 | public static string CheckProcessKindExists(string processName, string messageName) | ||
35 | { | ||
36 | var process = GetProcessKindByName(processName); | ||
37 | if (process == null) | ||
38 | return DirRX.DciCore.DciProcessKinds.Resources.NotFoundProcessKindByProcessNameFormat(processName); | ||
39 | |||
40 | var messageRow = process.Messages.Where(x => x.Name == messageName).FirstOrDefault(); | ||
41 | if (messageRow == null) | ||
42 | return DirRX.DciCore.DciProcessKinds.Resources.NotFoundMessageInProcessKindFormat(processName, messageName); | ||
43 | |||
44 | return string.Empty; | ||
45 | } | ||
46 | |||
47 | } | ||
48 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciSetting; | ||
7 | |||
8 | namespace DirRX.DciCore.Server | ||
9 | { | ||
10 | partial class DciSettingFunctions | ||
11 | { | ||
12 | |||
13 | /// <summary> | ||
14 | /// Создать запись справочника "Настройки DCI". | ||
15 | /// </summary> | ||
16 | /// <returns>Запись справочника "Настройки DCI".</returns> | ||
17 | [Public, Remote] | ||
18 | public static IDciSetting CreateDciSetting() | ||
19 | { | ||
20 | return DciSettings.Create(); | ||
21 | } | ||
22 | |||
23 | /// <summary> | ||
24 | /// Получить запись справочника "Настройки DCI". | ||
25 | /// </summary> | ||
26 | /// <returns>Запись справочника "Настройки DCI".</returns> | ||
27 | [Public, Remote(IsPure = true)] | ||
28 | public static IDciSetting GetDciSettings() | ||
29 | { | ||
30 | return DciSettings.GetAll().FirstOrDefault(); | ||
31 | } | ||
32 | |||
33 | } | ||
34 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using Directum.Dci.Sdk; | ||
7 | using Directum.Dci.Common; | ||
8 | using Directum.Dci.Entities; | ||
9 | |||
10 | namespace DirRX.DciCore.Server | ||
11 | { | ||
12 | public class ModuleAsyncHandlers | ||
13 | { | ||
14 | |||
15 | /// <summary> | ||
16 | /// Отправка сообщений в DCI с изменениями с момента последней синхронизации (в разрезе типа сущности). | ||
17 | /// Запуск АО инициирует ФП. | ||
18 | /// </summary> | ||
19 | /// <param name="args">Параметры вызова асинхронного обработчика.</param> | ||
20 | public virtual void SendProcessMessage(DirRX.DciCore.Server.AsyncHandlerInvokeArgs.SendProcessMessageInvokeArgs args) | ||
21 | { | ||
22 | var handlerName = "SendProcessMessage"; // Имя АО, для логов. | ||
23 | var idProcessKind = args.IdProcessKind; | ||
24 | var processName = args.NameProcessKind; | ||
25 | var startSyncDate = Calendar.Now; | ||
26 | Logger.Debug(string.Format("{0}. {1} (ИД={2}). Начало отправки изменений во внешнюю систему.", handlerName, processName, idProcessKind)); | ||
27 | |||
28 | var errors = new List<string>(); | ||
29 | |||
30 | try | ||
31 | { | ||
32 | var processKind = DciProcessKinds.Get(idProcessKind); | ||
33 | var entityTypeGuid = processKind.EntityTypeGUID; | ||
34 | var lastSyncDate = processKind.LastOutSyncDate.Value; | ||
35 | processName = processKind.Name; | ||
36 | |||
37 | var setting = Functions.DciSetting.GetDciSettings(); | ||
38 | if (setting == null) | ||
39 | throw AppliedCodeException.Create(DirRX.DciCore.Resources.DciSettingsNotFound); | ||
40 | var processFactory = Functions.Module.GetProcessFactory(setting); | ||
41 | |||
42 | // TODO нужна адаптация кода под поиск изменения документов и сквозных процессов. | ||
43 | var changedDatabookRecordIds = Functions.Module.GetChangedDatabookRecords(entityTypeGuid, lastSyncDate, startSyncDate); | ||
44 | |||
45 | Logger.Debug(string.Format("{0}. {1} (ИД={2}). Изменений найдено: {3}", handlerName, processName, idProcessKind, changedDatabookRecordIds.Count())); | ||
46 | |||
47 | foreach (var entityId in changedDatabookRecordIds) | ||
48 | { | ||
49 | try | ||
50 | { | ||
51 | Logger.Debug(string.Format("{0}. {1} (ИД={2}). Обработка записи с ИД {3}.", handlerName, processName, idProcessKind, entityId)); | ||
52 | var entity = Functions.Module.GetDatabookEntityById(entityId, entityTypeGuid); | ||
53 | var messageName = Functions.Module.GetDCIMessageNameByEntity(entity); | ||
54 | |||
55 | // TODO вынести проверку из цикла | ||
56 | // Выполнить проверку существования настройки для процесса и сообщения. | ||
57 | var checkResult = Functions.DciProcessKind.CheckProcessKindExists(processName, messageName); | ||
58 | if (!string.IsNullOrWhiteSpace(checkResult)) | ||
59 | throw AppliedCodeException.Create(checkResult); | ||
60 | |||
61 | var dciMessage = Functions.Module.CreateMessage(processName, messageName, string.Empty, entityId, entityTypeGuid, processFactory, setting, true); | ||
62 | // TODO Есть небольшое дублирование вычисления, глобальный ИД уже хранится в process.Params "RecordGUID", но что быстрее - получить из extLinks или из параметров? | ||
63 | var externalSystemID = dciMessage.Receiver; | ||
64 | var entityLink = Functions.Module.GetExternalEntityLink(entityId, entityTypeGuid, externalSystemID); | ||
65 | var globalEntityId = entityLink.ExtEntityId.ToString(); | ||
66 | // TODO не создавать ссылку если ее еще нет и происходит удаление записи? | ||
67 | // if (messageName = Constants.DciProcessKind.DefaultDciMessageName.RecordDeletion && entityLink.IsDeleted != true) | ||
68 | // { | ||
69 | // entityLink.IsDeleted = true; | ||
70 | // entityLink.Save(); | ||
71 | // } | ||
72 | |||
73 | dciMessage = Functions.Module.PrepareDCIMessageAttach(dciMessage, entity, globalEntityId); | ||
74 | |||
75 | // TODO Извлечь из вложения ведущее сообщение. Добавить зависимость от ведущего. | ||
76 | |||
77 | //Отправка сообщения DCI. | ||
78 | try | ||
79 | { | ||
80 | dciMessage.Send(); | ||
81 | } | ||
82 | catch (Exception ex) | ||
83 | { | ||
84 | errors.Add(string.Format("Ошибка при отправке сообщения DCI. {0}\n{1}", ex.Message, ex.StackTrace)); | ||
85 | } | ||
86 | } | ||
87 | catch (Exception ex) | ||
88 | { | ||
89 | errors.Add(string.Format("{0}\n{1}", ex.Message, ex.StackTrace)); | ||
90 | } | ||
91 | } | ||
92 | |||
93 | if (!errors.Any()) | ||
94 | { | ||
95 | processKind.LastOutSyncDate = startSyncDate; | ||
96 | processKind.Save(); | ||
97 | } | ||
98 | |||
99 | } | ||
100 | catch (Exception ex) | ||
101 | { | ||
102 | errors.Add(string.Format("{0}\n{1}", ex.Message, ex.StackTrace)); | ||
103 | } | ||
104 | |||
105 | if (errors.Any()) | ||
106 | { | ||
107 | try | ||
108 | { | ||
109 | Logger.Error(string.Format("{0}. {1} (ИД={2}). При отправке изменений во внешнюю систему произошли ошибки: {3}", handlerName, processName, idProcessKind, string.Join(Environment.NewLine, errors))); | ||
110 | // TODO возможен спам задачами. | ||
111 | // TODO сделать новую функцию SendNotificatiobAboutSendErrors на основе SendNotificatiobAboutReceiveErrors | ||
112 | // Functions.Module.SendNotificatiobAboutReceiveErrors(errors, processName, processGUID, messageName, messageGUID); | ||
113 | } | ||
114 | catch (Exception ex) | ||
115 | { | ||
116 | Logger.Error(string.Format("{0}. Ошибка при отправке уведомления об ошибках.", handlerName), ex); | ||
117 | } | ||
118 | } | ||
119 | |||
120 | Logger.Debug(string.Format("{0}. {1} (ИД={2}). Конец отправки изменений во внешнюю систему.", handlerName, processName, idProcessKind)); | ||
121 | } | ||
122 | |||
123 | /// <summary> | ||
124 | /// Прием сообщения из DCI. | ||
125 | /// Запуск АО инициирует плагин DCI. | ||
126 | /// </summary> | ||
127 | /// <param name="args">Параметры вызова асинхронного обработчика.</param> | ||
128 | public virtual void ReceiveProcessMessage(DirRX.DciCore.Server.AsyncHandlerInvokeArgs.ReceiveProcessMessageInvokeArgs args) | ||
129 | { | ||
130 | var handlerName = "ReceiveProcessMessage"; // Имя АО, для логов. | ||
131 | var messageGUID = args.MessageGUID; | ||
132 | var messageName = string.Empty; | ||
133 | var processGUID = string.Empty; | ||
134 | var processName = string.Empty; | ||
135 | var messageFolderPath = string.Empty; | ||
136 | Logger.Debug(string.Format("{0}. {1}. Начало обработки сообщения.", handlerName, messageGUID)); | ||
137 | |||
138 | var errors = new List<string>(); | ||
139 | |||
140 | try | ||
141 | { | ||
142 | var setting = Functions.DciSetting.GetDciSettings(); | ||
143 | if (setting == null) | ||
144 | throw AppliedCodeException.Create(DirRX.DciCore.Resources.DciSettingsNotFound); | ||
145 | var processFactory = Functions.Module.GetProcessFactory(setting); | ||
146 | var message = processFactory.GetProcessMessageByGlobalId(messageGUID); | ||
147 | if (message == null) | ||
148 | throw AppliedCodeException.Create(DirRX.DciCore.Resources.NotFoundMessageByGlobalIdFormat(messageGUID)); | ||
149 | var process = processFactory.GetProcessByMessage(message); | ||
150 | if (process == null) | ||
151 | throw AppliedCodeException.Create(DirRX.DciCore.Resources.NotFoundProcessByMessageFormat(messageGUID)); | ||
152 | |||
153 | messageName = message.Name; | ||
154 | processGUID = process.GlobalId; | ||
155 | processName = process.ProcessKindName; | ||
156 | messageFolderPath = message.FolderName; | ||
157 | |||
158 | var messageError = string.Empty; | ||
159 | try | ||
160 | { | ||
161 | // Выполнить проверку существования настройки для процесса и сообщения. | ||
162 | var checkResult = Functions.DciProcessKind.CheckProcessKindExists(processName, messageName); | ||
163 | if (!string.IsNullOrWhiteSpace(checkResult)) | ||
164 | throw AppliedCodeException.Create(checkResult); | ||
165 | |||
166 | Logger.Debug(string.Format("{0}. Процесс: {1} ({2}). Сообщение: {3} ({4}). Подбор обработчика для сообщения.", | ||
167 | handlerName, processGUID, processName, messageGUID, messageName)); | ||
168 | |||
169 | // Найти и выполнить обработчик для сообщения. | ||
170 | messageError = Functions.Module.ProcessDCIMessage(message); | ||
171 | } | ||
172 | catch (Exception ex) | ||
173 | { | ||
174 | messageError = DirRX.DciCore.Resources.ReceiveHandlerErrorFormat(ex.Message, ex.StackTrace); | ||
175 | } | ||
176 | |||
177 | var stopProcess = false; | ||
178 | if (string.IsNullOrEmpty(messageError)) | ||
179 | { | ||
180 | message.MarkAsReceived(); | ||
181 | stopProcess = true; | ||
182 | } | ||
183 | else | ||
184 | { | ||
185 | // При блокировке записи, отложить обработку сообщения. | ||
186 | if (messageError == Constants.Module.ErrorType.EntityIsLocked) | ||
187 | { | ||
188 | message.MessageState = MessageState.Pending; | ||
189 | message.PostponeProcessing(60); // TODO в секундах. можно вынести в настройки | ||
190 | // TODO добавить ограничение по количеству попыток обработки | ||
191 | } | ||
192 | else | ||
193 | { | ||
194 | message.MarkAsErroneous(messageError); | ||
195 | |||
196 | var messageLink = string.Empty; | ||
197 | if (setting != null) | ||
198 | messageLink = Functions.Module.GetHyperlinkToDciProcess(setting, processGUID); | ||
199 | var errorText = DirRX.DciCore.Resources.ReceiveErrorDetailTextFormat(processName, processGUID, messageName, messageGUID, messageFolderPath, messageLink, messageError); | ||
200 | errors.Add(errorText); | ||
201 | } | ||
202 | } | ||
203 | message.Save(); | ||
204 | |||
205 | // Остановить процесс по синхронизации данных. | ||
206 | if (stopProcess) | ||
207 | Functions.Module.StopSynchronizationProcess(process); | ||
208 | } | ||
209 | catch (Exception ex) | ||
210 | { | ||
211 | errors.Add(string.Format("{0}\n{1}", ex.Message, ex.StackTrace)); | ||
212 | } | ||
213 | |||
214 | if (errors.Any()) | ||
215 | { | ||
216 | try | ||
217 | { | ||
218 | Logger.Error(string.Format("{0}. {1}. При обработке входящего сообщения DCI произошла ошибка. {2}", handlerName, messageGUID, string.Join(Environment.NewLine, errors))); | ||
219 | // TODO возможен спам задачами. Отправку уведомления в системе можно заменить на ФП по периодической проверке сообщений в состоянии Ошибка. | ||
220 | Functions.Module.SendNotificatiobAboutReceiveErrors(errors, processName, processGUID, messageName, messageGUID); | ||
221 | } | ||
222 | catch (Exception ex) | ||
223 | { | ||
224 | Logger.Error(string.Format("{0}. Ошибка при отправке уведомления об ошибках.", handlerName), ex); | ||
225 | } | ||
226 | } | ||
227 | |||
228 | Logger.Debug(string.Format("{0}. {1}. Конец обработки сообщения.", handlerName, messageGUID)); | ||
229 | } | ||
230 | |||
231 | } | ||
232 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using Sungero.Domain.Initialization; | ||
7 | |||
8 | namespace DirRX.DciCore.Server | ||
9 | { | ||
10 | public partial class ModuleInitializer | ||
11 | { | ||
12 | |||
13 | public override void Initializing(Sungero.Domain.ModuleInitializingEventArgs e) | ||
14 | { | ||
15 | CreateDatabookRecords(); | ||
16 | } | ||
17 | |||
18 | /// <summary> | ||
19 | /// Создание записей справочника. | ||
20 | /// </summary> | ||
21 | public static void CreateDatabookRecords() | ||
22 | { | ||
23 | var processKind = DciProcessKinds.Null; | ||
24 | |||
25 | #region Процесс DCICheckLink. | ||
26 | |||
27 | processKind = CreateProcessKind(Constants.DciProcessKind.DCICheckLinkProcess.RecordGUID, | ||
28 | Constants.DciProcessKind.DCICheckLinkProcess.Name, | ||
29 | Constants.DciProcessKind.DCICheckLinkProcess.Note, | ||
30 | Constants.DciProcessKind.DCICheckLinkProcess.Description, | ||
31 | DciCore.DciProcessKind.ProcessType.Process, | ||
32 | Guid.Empty, | ||
33 | Calendar.SqlMinValue); | ||
34 | AddProcessMessage(processKind, | ||
35 | Constants.DciProcessKind.DCICheckLinkProcess.PingMessage.RowGUID, | ||
36 | Constants.DciProcessKind.DCICheckLinkProcess.PingMessage.Name, | ||
37 | Constants.DciProcessKind.DCICheckLinkProcess.PingMessage.Note); | ||
38 | AddProcessMessage(processKind, | ||
39 | Constants.DciProcessKind.DCICheckLinkProcess.PongMessage.RowGUID, | ||
40 | Constants.DciProcessKind.DCICheckLinkProcess.PongMessage.Name, | ||
41 | Constants.DciProcessKind.DCICheckLinkProcess.PongMessage.Note); | ||
42 | |||
43 | #endregion | ||
44 | } | ||
45 | |||
46 | /// <summary> | ||
47 | /// Создание записи в справочнике Виды межсистемных процессов. | ||
48 | /// </summary> | ||
49 | /// <param name="guid">Случайный GUID, ключевое поле записи - позволяет не привязываться к имени процесса и менять его.</param> | ||
50 | /// <param name="processName">Имя процесса.</param> | ||
51 | /// <param name="note">Примечания (заполняется один раз - при создании записи).</param> | ||
52 | /// <param name="description">Описание межсистемного процесса.</param> | ||
53 | /// <param name="processType">Тип процесса - синхронизация или сквозной бизнес-процесс.</param> | ||
54 | /// <param name="entityTypeGuid">GUID типа сущности.</param> | ||
55 | /// <param name="startSyncDate">Дата и время, от которой выполняется поиск измененных сущностей.</param> | ||
56 | /// <returns>Запись справочника Виды межсистемных процессов.</returns> | ||
57 | [Public] | ||
58 | public static IDciProcessKind CreateProcessKind(Guid guid, string processName, string note, string description, Enumeration processType, Guid entityTypeGuid, DateTime startSyncDate) | ||
59 | { | ||
60 | var record = DciProcessKinds.GetAll(x => x.GUID == guid.ToString()).FirstOrDefault(); | ||
61 | if (record == null) | ||
62 | { | ||
63 | InitializationLogger.Debug(string.Format("Виды межсистемных процессов. Создание записи для процесса {0}.", processName)); | ||
64 | record = DciProcessKinds.Create(); | ||
65 | record.GUID = guid.ToString(); | ||
66 | record.Note = note; | ||
67 | } | ||
68 | |||
69 | if (processName != record.Name) | ||
70 | record.Name = processName; | ||
71 | if (description != record.Description) | ||
72 | record.Description = description; | ||
73 | if (processType != record.ProcessType) | ||
74 | record.ProcessType = processType; | ||
75 | if (entityTypeGuid.ToString() != record.EntityTypeGUID) | ||
76 | record.EntityTypeGUID = entityTypeGuid.ToString(); | ||
77 | if (startSyncDate != record.LastOutSyncDate) | ||
78 | record.LastOutSyncDate = startSyncDate; | ||
79 | |||
80 | if (record.State.IsChanged) | ||
81 | { | ||
82 | InitializationLogger.Debug(string.Format("Виды межсистемных процессов. Сохранение записи для процесса {0}.", processName)); | ||
83 | record.Save(); | ||
84 | } | ||
85 | |||
86 | return record; | ||
87 | } | ||
88 | |||
89 | /// <summary> | ||
90 | /// Заполнение таблицы Сообщения в записи в справочника Виды межсистемных процессов. | ||
91 | /// </summary> | ||
92 | /// <param name="processKind">Запись справочника Виды межсистемных процессов.</param> | ||
93 | /// <param name="rowGUID">Случайный GUID, ключевое поле в таблице - позволяет не привязываться к имени сообщения и менять его.</param> | ||
94 | /// <param name="messageName">Имя сообщения.</param> | ||
95 | /// <param name="messageNote">Примечание.</param> | ||
96 | [Public] | ||
97 | public static void AddProcessMessage(IDciProcessKind processKind, Guid rowGUID, string messageName, string messageNote) | ||
98 | { | ||
99 | var row = processKind.Messages.Where(x => x.RowGUID == rowGUID.ToString()).FirstOrDefault(); | ||
100 | if (row == null) | ||
101 | { | ||
102 | InitializationLogger.Debug(string.Format("Виды межсистемных процессов. Добавление сообщения {0} для процесса {1}.", messageName, processKind.Name)); | ||
103 | row = processKind.Messages.AddNew(); | ||
104 | row.RowGUID = rowGUID.ToString(); | ||
105 | } | ||
106 | |||
107 | if (messageName != row.Name) | ||
108 | row.Name = messageName; | ||
109 | if (messageNote != row.Note) | ||
110 | row.Note = messageNote; | ||
111 | |||
112 | if (processKind.State.IsChanged) | ||
113 | { | ||
114 | InitializationLogger.Debug(string.Format("Виды межсистемных процессов. Сохранение сообщения {0} для процесса {1}.", messageName, processKind.Name)); | ||
115 | processKind.Save(); | ||
116 | } | ||
117 | } | ||
118 | } | ||
119 | } |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | |||
7 | namespace DirRX.DciCore.Server | ||
8 | { | ||
9 | public class ModuleJobs | ||
10 | { | ||
11 | |||
12 | /// <summary> | ||
13 | /// ФП запускает АО для отправки изменений из RX в DCI. | ||
14 | /// </summary> | ||
15 | public virtual void SendEntitiesToDciSynchronization() | ||
16 | { | ||
17 | |||
18 | var activeProcessKinds = DciProcessKinds.GetAll() | ||
19 | .Where(x => x.Status == Sungero.CoreEntities.DatabookEntry.Status.Active) | ||
20 | .Where(x => x.ProcessType == DciCore.DciProcessKind.ProcessType.DataSync || x.ProcessType == DciCore.DciProcessKind.ProcessType.DocSync); | ||
21 | |||
22 | foreach (var processKind in activeProcessKinds) | ||
23 | { | ||
24 | var asyncHandler = DciCore.AsyncHandlers.SendProcessMessage.Create(); | ||
25 | asyncHandler.IdProcessKind = processKind.Id; | ||
26 | asyncHandler.NameProcessKind = processKind.Name; | ||
27 | asyncHandler.ExecuteAsync(); | ||
28 | } | ||
29 | |||
30 | // TODO нет обработки ошибок | ||
31 | // TODO нет логов | ||
32 | } | ||
33 | |||
34 | } | ||
35 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using Directum.Dci.Sdk; | ||
7 | using Directum.Dci.Common; | ||
8 | |||
9 | namespace DirRX.DciCore.Server | ||
10 | { | ||
11 | public class ModuleFunctions | ||
12 | { | ||
13 | /// <summary> | ||
14 | /// Запустить асинхронный обработчик для обработки входящего сообщения DCI. | ||
15 | /// </summary> | ||
16 | /// <param name="processMessageGlobalId">GUID сообщения DCI.</param> | ||
17 | /// <returns>Текст ошибки или строка "Success".</returns> | ||
18 | [Public(WebApiRequestType = RequestType.Post)] | ||
19 | public string EnqueueDciMessage(string processMessageGlobalId) | ||
20 | { | ||
21 | var logPrefix = string.Format("EnqueueDciMessageHandler. Received DCI message GUID = {0}", processMessageGlobalId); | ||
22 | |||
23 | try | ||
24 | { | ||
25 | Logger.DebugFormat("{0}. Start RX async handler.", logPrefix); | ||
26 | |||
27 | var handler = DirRX.DciCore.AsyncHandlers.ReceiveProcessMessage.Create(); | ||
28 | handler.MessageGUID = processMessageGlobalId; | ||
29 | handler.ExecuteAsync(); | ||
30 | |||
31 | Logger.DebugFormat("{0}. The end of the function.", logPrefix); | ||
32 | |||
33 | // DCI не принимает string.Empty в качестве результата. | ||
34 | return "Success"; | ||
35 | } | ||
36 | catch (Exception ex) | ||
37 | { | ||
38 | var errorMessage = string.Format("{0}. The ended with error.", logPrefix); | ||
39 | Logger.Error(errorMessage, ex); | ||
40 | return errorMessage; | ||
41 | } | ||
42 | } | ||
43 | |||
44 | #region Подбор обработчиков по switch-case | ||
45 | |||
46 | /// <summary> | ||
47 | /// Обработать входящее сообщение из DCI. | ||
48 | /// </summary> | ||
49 | /// <param name="messageGUID">GUID сообщения DCI.</param> | ||
50 | /// <returns>Текст ошибки при обработке сообщения из DCI.</returns> | ||
51 | public virtual string ProcessDCIMessage(Directum.Dci.Sdk.IProcessMessage message) | ||
52 | { | ||
53 | var processName = message.ProcessKindName; | ||
54 | var messageName = message.Name; | ||
55 | |||
56 | #region DCICheckLink. | ||
57 | if (processName == Constants.DciProcessKind.DCICheckLinkProcess.Name) | ||
58 | { | ||
59 | switch (messageName) | ||
60 | { | ||
61 | case Constants.DciProcessKind.DCICheckLinkProcess.PingMessage.Name: | ||
62 | return ProcessPingDciMessage(message); | ||
63 | case Constants.DciProcessKind.DCICheckLinkProcess.PongMessage.Name: | ||
64 | return ProcessPongDciMessage(message); | ||
65 | default: | ||
66 | break; | ||
67 | } | ||
68 | } | ||
69 | #endregion | ||
70 | |||
71 | return DirRX.DciCore.Resources.NotFoundReceiveHandlerByProcessFormat(messageName, processName); | ||
72 | } | ||
73 | |||
74 | /// <summary> | ||
75 | /// Подобрать имя исходящего сообщения для сущности. | ||
76 | /// </summary> | ||
77 | /// <param name="entity">Сущность.</param> | ||
78 | /// <returns>Имя сообщения.</returns> | ||
79 | [Public] | ||
80 | public virtual string GetDCIMessageNameByEntity(Sungero.CoreEntities.IDatabookEntry entity) | ||
81 | { | ||
82 | // Реализован самый простой способ вычислить имя сообщения - изменена/удалена. Данный фрагмент используется по умолчанию для всех типов сущности. | ||
83 | var messageName = string.Empty; | ||
84 | |||
85 | if (entity == null) | ||
86 | messageName = Constants.DciProcessKind.DefaultDciMessageName.RecordDeletion; | ||
87 | else | ||
88 | messageName = Constants.DciProcessKind.DefaultDciMessageName.RecordChanges; | ||
89 | |||
90 | return messageName; | ||
91 | |||
92 | #region Шаблон кода для реализации функции в перекрытии. | ||
93 | //// var messageName = string.Empty; | ||
94 | //// if (<Репозиторий типа сущности>.Is(entity)) | ||
95 | //// { | ||
96 | /// // Поиск нужной операции в истории типа сущности и подбор имени сообщения. | ||
97 | /// return messageName | ||
98 | //// } | ||
99 | //// return base.GetDCIMessageNameByEntity(entity); | ||
100 | #endregion | ||
101 | } | ||
102 | |||
103 | /// <summary> | ||
104 | /// Подготовить вложение для исходящего сообщения DCI. | ||
105 | /// </summary> | ||
106 | /// <param name="message">Сообщение DCI.</param> | ||
107 | /// <param name="entity">Сущность.</param> | ||
108 | /// <param name="globalEntityId">Глобальный ИД сущности.</param> | ||
109 | /// <returns>Обновленное сообщение DCI.</returns> | ||
110 | public virtual Directum.Dci.Sdk.IProcessMessage PrepareDCIMessageAttach(Directum.Dci.Sdk.IProcessMessage message, Sungero.CoreEntities.IDatabookEntry entity, string globalEntityId) | ||
111 | { | ||
112 | var processName = message.ProcessKindName; | ||
113 | var messageName = message.Name; | ||
114 | |||
115 | #region Шаблон кода для реализации функции в перекрытии. | ||
116 | //// var processName = message.ProcessKindName; | ||
117 | //// var messageName = message.Name; | ||
118 | //// | ||
119 | //// switch (processName) | ||
120 | //// { | ||
121 | //// #region <Имя типа справочника>. | ||
122 | //// case <Имя процесса синхронизации, обычно заканчивается на ReferenceSynchronization>: | ||
123 | //// switch (messageName) | ||
124 | //// { | ||
125 | //// case Constants.DciProcessKind.DefaultDciMessageName.RecordChanges: | ||
126 | //// return Fill<Имя типа сущности>DCIMessageAttach(message, entity, globalEntityId); | ||
127 | //// | ||
128 | //// case Constants.DciProcessKind.DefaultDciMessageName.RecordDeletion: | ||
129 | //// return CreateDeletionDCIMessageAttach(message, globalEntityId); | ||
130 | //// | ||
131 | //// default: | ||
132 | //// break; | ||
133 | //// } | ||
134 | //// break; | ||
135 | //// #endregion | ||
136 | //// } | ||
137 | //// | ||
138 | //// return base.PrepareDCIMessageAttach(message, entity, globalEntityId); | ||
139 | #endregion | ||
140 | |||
141 | throw new AppliedCodeException(DirRX.DciCore.Resources.NotFoundPrepareHandlerByProcessFormat(messageName, processName)); | ||
142 | } | ||
143 | |||
144 | #endregion | ||
145 | |||
146 | #region API DCI. | ||
147 | |||
148 | /// <summary> | ||
149 | /// Получить фабрику работы с процессами DCI. | ||
150 | /// </summary> | ||
151 | /// <returns>Фабрика.</returns> | ||
152 | public Directum.Dci.Sdk.ProcessFactory GetProcessFactory() | ||
153 | { | ||
154 | var setting = Functions.DciSetting.GetDciSettings(); | ||
155 | return GetProcessFactory(setting); | ||
156 | } | ||
157 | |||
158 | /// <summary> | ||
159 | /// Получить фабрику работы с процессами DCI. | ||
160 | /// </summary> | ||
161 | /// <param name="setting">Запись справочника "Настройки DCI".</param> | ||
162 | /// <returns>Фабрика.</returns> | ||
163 | public Directum.Dci.Sdk.ProcessFactory GetProcessFactory(IDciSetting setting) | ||
164 | { | ||
165 | return ProcessFactory.GetFactory(setting.ExchangeFolder, setting.AdapterServiceUrl); | ||
166 | } | ||
167 | |||
168 | /// <summary> | ||
169 | /// Получить процесс по сообщению DCI. | ||
170 | /// </summary> | ||
171 | /// <param name="message">Сообщение DCI.</param> | ||
172 | /// <returns>Процесс DCI.</returns> | ||
173 | public Directum.Dci.Sdk.IProcess GetProcessByMessage(Directum.Dci.Sdk.IProcessMessage message) | ||
174 | { | ||
175 | var factory = GetProcessFactory(); | ||
176 | return factory.GetProcessByMessage(message); | ||
177 | } | ||
178 | |||
179 | /// <summary> | ||
180 | /// Получить глобальный ИД предыдущего отправленного сообщения по процессу. | ||
181 | /// </summary> | ||
182 | /// <param name="entityGlobalId">Глобальный ИД объекта.</param> | ||
183 | /// <param name="processName"></param> | ||
184 | /// <param name="externalSystemID">Идентификатор внешней системы.</param> | ||
185 | /// <returns>Глобальный ИД ведущего сообщения</returns> | ||
186 | public string GetLastSentMessageGloblalId(string entityGlobalId, string processName, string externalSystemID) | ||
187 | { | ||
188 | var processFactory = GetProcessFactory(); | ||
189 | |||
190 | var lastSentMessageGlobalId = string.Empty; | ||
191 | if (string.IsNullOrEmpty(entityGlobalId)) | ||
192 | return lastSentMessageGlobalId; | ||
193 | |||
194 | // Найти последнее отправленное сообщение по процессу, для указания его ведущим. | ||
195 | var processParams = new ObjectDictionary(); | ||
196 | processParams.SetVar("RecordGUID", entityGlobalId); | ||
197 | var foundProcesses = processFactory.GetProcessesByParameters(processParams); | ||
198 | if (foundProcesses.Count == 0) | ||
199 | return lastSentMessageGlobalId; | ||
200 | |||
201 | while (!foundProcesses.EOF) | ||
202 | { | ||
203 | var process = (Directum.Dci.Sdk.IProcess)foundProcesses.Value; | ||
204 | if (process.ProcessKindName == processName) | ||
205 | { | ||
206 | var lastSentMessage = process.GetLastSentDependentMessage(externalSystemID); | ||
207 | if (lastSentMessage != null) | ||
208 | { | ||
209 | // Делам связь с предыдущим сообщением не зависимо от его состояния (Ошибка/Отправлено), так как неизвестно состояние сообщения на принимающей стороне. | ||
210 | lastSentMessageGlobalId = lastSentMessage.GlobalId; | ||
211 | //break; | ||
212 | } | ||
213 | else | ||
214 | { | ||
215 | // HACK в случае когда метод GetLastSentDependentMessage ничего не вернул, выполняем поиск единственного отправленного сообщения. | ||
216 | // HACK как альтернатива поиску - помечать все сообщения как имеющее зависимость (isDepended), но при этом не заполнять ведущее сообщение (LeaderMessageGlobalId) - тогда GetLastSentDependentMessage вернет последнее отправленное сообщение. | ||
217 | var allMessages = process.GetAllMessages(); | ||
218 | if (allMessages.Count == 1) | ||
219 | { | ||
220 | var firstMessage = (Directum.Dci.Sdk.IProcessMessage)allMessages.Value; | ||
221 | if (firstMessage != null) | ||
222 | lastSentMessageGlobalId = firstMessage.GlobalId; | ||
223 | //break; | ||
224 | } | ||
225 | } | ||
226 | } | ||
227 | foundProcesses.Next(); | ||
228 | } | ||
229 | return lastSentMessageGlobalId; | ||
230 | } | ||
231 | |||
232 | /// <summary> | ||
233 | /// Создать сообщение. | ||
234 | /// </summary> | ||
235 | /// <param name="processName">Имя процесса.</param> | ||
236 | /// <param name="messageName">Имя сообщения.</param> | ||
237 | /// <param name="processGlobalId">GUID процесса.</param> | ||
238 | /// <param name="entityId">ИД синхронизируемого объекта.</param> | ||
239 | /// <param name="objectTypeGlobalId">GUID типа синхронизируемого объекта.</param> | ||
240 | /// <param name="processFactory">Фабрика DCI.</param> | ||
241 | /// <param name="setting">Запись справочника "Настройки DCI".</param> | ||
242 | /// <param name="stopWhenConfirmed">Признак автоматического закрытия процесса при подтверждении всех отправленных сообщений.</param> | ||
243 | /// <returns>Сообщение.</returns> | ||
244 | public Directum.Dci.Sdk.IProcessMessage CreateMessage(string processName, string messageName, | ||
245 | string processGlobalId, int entityId, | ||
246 | string objectTypeGlobalId, Directum.Dci.Sdk.ProcessFactory processFactory, | ||
247 | IDciSetting setting, bool stopWhenConfirmed) | ||
248 | { | ||
249 | // Определить процесс по синхронизируемому объекту | ||
250 | var entityGlobalId = string.Empty; | ||
251 | var lastSentMessageGlobalId = string.Empty; | ||
252 | var isDepended = false; | ||
253 | if (entityId > int.MinValue) | ||
254 | { | ||
255 | // // TODO доп. действия для документов. Реализовать при проработке отправки сообщений. | ||
256 | // // // Для документов переопределить гуид типа сущности. | ||
257 | // // if (processName == "DocumentSynchronization") | ||
258 | // // { | ||
259 | // // if (string.IsNullOrEmpty(objectTypeGlobalId)) | ||
260 | // // { | ||
261 | // // var document = Content.ElectronicDocuments.Get(entityId); | ||
262 | // // var meta = document.GetEntityMetadata(); | ||
263 | // // objectTypeGlobalId = meta.NameGuid.ToString(); | ||
264 | // // } | ||
265 | // // } | ||
266 | // TODO вынести из функции | ||
267 | var entityLink = GetExternalEntityLink(entityId, objectTypeGlobalId, setting.ExternalSystemID); | ||
268 | entityGlobalId = entityLink.ExtEntityId.ToString(); | ||
269 | |||
270 | lastSentMessageGlobalId = GetLastSentMessageGloblalId(entityGlobalId, processName, setting.ExternalSystemID); | ||
271 | if (!string.IsNullOrEmpty(lastSentMessageGlobalId)) | ||
272 | { | ||
273 | isDepended = true; | ||
274 | // По ведущему сообщению получить GUID процесса. | ||
275 | var leadMessage = processFactory.GetProcessMessageByGlobalId(lastSentMessageGlobalId); | ||
276 | processGlobalId = leadMessage.ProcessGlobalId; | ||
277 | } | ||
278 | } | ||
279 | |||
280 | // Создать новый процесс или использовать существующий. | ||
281 | var process = string.IsNullOrEmpty(processGlobalId) ? processFactory.CreateProcess(processName) : processFactory.GetProcessByGlobalId(processGlobalId); | ||
282 | // Указать GUID синхронизируемого объекта в параметрах процесса. | ||
283 | // TODO вынести RecordGUID в константы. Реализовать при проработке отправки сообщений. | ||
284 | if (!string.IsNullOrEmpty(entityGlobalId) && process.Params.FindItem("RecordGUID") == null) | ||
285 | process.Params.SetVar("RecordGUID", entityGlobalId); | ||
286 | process.StopWhenConfirmed = stopWhenConfirmed; | ||
287 | process.Save(); | ||
288 | |||
289 | var message = process.CreateProcessMessage(messageName, setting.SystemID, setting.ExternalSystemID, string.Empty, isDepended); | ||
290 | if (isDepended) | ||
291 | message.LeaderMessageGlobalId = lastSentMessageGlobalId; | ||
292 | message.Save(); | ||
293 | |||
294 | return message; | ||
295 | } | ||
296 | |||
297 | /// <summary> | ||
298 | /// Остановить межсистемный процесс по синхронизации. | ||
299 | /// </summary> | ||
300 | /// <param name="process">Процесс DCI.</param> | ||
301 | public void StopSynchronizationProcess(Directum.Dci.Sdk.IProcess process) | ||
302 | { | ||
303 | var processKind = Functions.DciProcessKind.GetProcessKindByName(process.ProcessKindName); | ||
304 | // Если тип процесса - синхронизация (справочников/документов), то завершить процесс. | ||
305 | if (processKind.ProcessType == DciCore.DciProcessKind.ProcessType.DataSync || processKind.ProcessType == DciCore.DciProcessKind.ProcessType.DocSync) | ||
306 | { | ||
307 | Logger.Debug(string.Format("Процесс {0}. Завершение процесса синхронизации.", process.GlobalId)); | ||
308 | try | ||
309 | { | ||
310 | var endDate = process.EndDate; | ||
311 | if (endDate != null && !string.IsNullOrWhiteSpace(endDate.ToString())) | ||
312 | { | ||
313 | Logger.Debug(string.Format("Процесс {0}. Процесс уже завершен. Дата завершения: {1}", process.GlobalId, endDate)); | ||
314 | } | ||
315 | else | ||
316 | { | ||
317 | process.Stop(); | ||
318 | Logger.Debug(string.Format("Процесс {0}. Процесс завершен.", process.GlobalId)); | ||
319 | } | ||
320 | } | ||
321 | catch (Exception ex) | ||
322 | { | ||
323 | Logger.Error(string.Format("Процесс {0}. Ошибка завершения процесса.\n{1}\n{2}", process.GlobalId, ex.Message, ex.StackTrace)); | ||
324 | } | ||
325 | } | ||
326 | } | ||
327 | |||
328 | #endregion | ||
329 | |||
330 | #region API для ExternalEntityLinks. | ||
331 | |||
332 | /// <summary> | ||
333 | /// Получить запись справочника "Ссылки внешней системы" для экземпляра сущности. | ||
334 | /// </summary> | ||
335 | /// <param name="entityId">ИД сущности.</param> | ||
336 | /// <param name="entityTypeGuid">GUID типа сущности.</param> | ||
337 | /// <param name="externalSystemID">Идентификатор внешней системы.</param> | ||
338 | /// <returns>Запись справочника "Ссылки внешней системы" для экземпляра сущности.</returns> | ||
339 | [Public, Remote] | ||
340 | public Sungero.Commons.IExternalEntityLink GetExternalEntityLink(int entityId, string entityTypeGuid, string externalSystemID) | ||
341 | { | ||
342 | // TODO Использовать ли поле ExtSystemId в ExternalEntityLinks для нескольких внешних систем. Проработать когда будет несколько систем. | ||
343 | var externalLink = Sungero.Commons.ExternalEntityLinks.GetAll() | ||
344 | .Where(l => l.EntityId == entityId && l.EntityType == entityTypeGuid) | ||
345 | .FirstOrDefault(); | ||
346 | if (externalLink == null) | ||
347 | { | ||
348 | var newGuid = Guid.NewGuid().ToString(); | ||
349 | externalLink = SetExternalEntityLinkGuid(entityId, entityTypeGuid, externalSystemID, newGuid); | ||
350 | } | ||
351 | return externalLink; | ||
352 | } | ||
353 | |||
354 | /// <summary> | ||
355 | /// Установить GUID внешней ссылки для экземпляра сущности. | ||
356 | /// </summary> | ||
357 | /// <param name="entityId">Ид сущности.</param> | ||
358 | /// <param name="entityTypeGuid">GUID типа сущности.</param> | ||
359 | /// <param name="externalSystemID">Идентификатор внешней системы.</param> | ||
360 | /// <param name="externalEntityGuid">Внешний GUID сущности.</param> | ||
361 | [Public, Remote] | ||
362 | public Sungero.Commons.IExternalEntityLink SetExternalEntityLinkGuid(int entityId, string entityTypeGuid, string externalSystemID, string externalEntityGuid) | ||
363 | { | ||
364 | var externalLink = Sungero.Commons.ExternalEntityLinks.Create(); | ||
365 | externalLink.EntityId = entityId; | ||
366 | externalLink.EntityType = entityTypeGuid; | ||
367 | externalLink.ExtSystemId = externalSystemID; | ||
368 | externalLink.ExtEntityId = Guid.Parse(externalEntityGuid).ToString(); | ||
369 | externalLink.Save(); | ||
370 | |||
371 | return externalLink; | ||
372 | } | ||
373 | |||
374 | /// <summary> | ||
375 | /// Получить все записи справочника по глобальному идентификатору сущности. | ||
376 | /// </summary> | ||
377 | /// <param name="guid">Глобальный идентификатор.</param> | ||
378 | /// <returns>Коллекция сущностей или null.</returns> | ||
379 | [Public, Remote(IsPure = true)] | ||
380 | public IQueryable<Sungero.Commons.IExternalEntityLink> GetAllEntityLinksByGuid(string guid) | ||
381 | { | ||
382 | var globalId = Guid.Parse(guid).ToString(); | ||
383 | // TODO Использовать ли поле ExtSystemId в ExternalEntityLinks для нескольких внешних систем.Проработать когда будет несколько систем. | ||
384 | var externalLinks = Sungero.Commons.ExternalEntityLinks.GetAll() | ||
385 | .Where(x => x.ExtEntityId == globalId); | ||
386 | return externalLinks; | ||
387 | } | ||
388 | |||
389 | /// <summary> | ||
390 | /// Получить запись справочника по глобальному идентификатору сущности. | ||
391 | /// </summary> | ||
392 | /// <param name="guid">Глобальный идентификатор.</param> | ||
393 | /// <returns>Сущность или null.</returns> | ||
394 | [Public, Remote(IsPure = true)] | ||
395 | public Sungero.Commons.IExternalEntityLink GetEntityLinkByGuid(string guid) | ||
396 | { | ||
397 | if (string.IsNullOrWhiteSpace(guid)) | ||
398 | return null; | ||
399 | |||
400 | return GetAllEntityLinksByGuid(guid).FirstOrDefault(); | ||
401 | } | ||
402 | |||
403 | /// <summary> | ||
404 | /// Получить ИД сущности по глобальному идентификатору сущности. | ||
405 | /// </summary> | ||
406 | /// <param name="guid">Глобальный идентификатор.</param> | ||
407 | /// <returns>ИД сущности или 0.</returns> | ||
408 | [Public, Remote(IsPure = true)] | ||
409 | public int GetEntityIdByGuid(string guid) | ||
410 | { | ||
411 | var externalLink = GetEntityLinkByGuid(guid); | ||
412 | return externalLink != null ? externalLink.EntityId.Value : 0; | ||
413 | } | ||
414 | #endregion | ||
415 | |||
416 | #region Функции по преобразованию даты. | ||
417 | |||
418 | /// <summary> | ||
419 | /// Преобразовать строку в дату. | ||
420 | /// </summary> | ||
421 | /// <param name="value">Строка формата ДД.ММ.ГГГГ (наличие ведущего нуля не принципиально).</param> | ||
422 | /// <returns>Дата-время или null.</returns> | ||
423 | /// <remarks>Генерирует исключение в случае ошибки преобразования.</remarks> | ||
424 | [Public] | ||
425 | public virtual DateTime? StringToDate(string value) | ||
426 | { | ||
427 | if (string.IsNullOrWhiteSpace(value)) | ||
428 | return null; | ||
429 | |||
430 | var util = new Directum.Dci.Sdk.Utils(); | ||
431 | return util.StringToDate(value); | ||
432 | } | ||
433 | |||
434 | /// <summary> | ||
435 | /// Преобразовать строку в дату со временем. | ||
436 | /// </summary> | ||
437 | /// <param name="value">Строка формата ДД.ММ.ГГГГ ЧЧ:ММ:СС.мс (наличие ведущего нуля не принципиально).</param> | ||
438 | /// <returns>Дата-время или null.</returns> | ||
439 | /// <remarks>Генерирует исключение в случае ошибки преобразования.</remarks> | ||
440 | [Public] | ||
441 | public virtual DateTime? StringToDateTime(string value) | ||
442 | { | ||
443 | if (string.IsNullOrWhiteSpace(value)) | ||
444 | return null; | ||
445 | |||
446 | var util = new Directum.Dci.Sdk.Utils(); | ||
447 | return util.StringToDateTime(value); | ||
448 | } | ||
449 | |||
450 | /// <summary> | ||
451 | /// Преобразовать дату в строку. | ||
452 | /// </summary> | ||
453 | /// <param name="value">Дата-время.</param> | ||
454 | /// <returns>Строка формата ДД.ММ.ГГГГ.</returns> | ||
455 | [Public] | ||
456 | public virtual string DateToDciString(DateTime value) | ||
457 | { | ||
458 | var util = new Directum.Dci.Sdk.Utils(); | ||
459 | return util.DateToString(value); | ||
460 | } | ||
461 | |||
462 | /// <summary> | ||
463 | /// Преобразовать дату со временем в строку. | ||
464 | /// </summary> | ||
465 | /// <param name="value">Дата-время.</param> | ||
466 | /// <returns>Строка формата ДД.ММ.ГГГГ ЧЧ:ММ:СС.мс.</returns> | ||
467 | [Public] | ||
468 | public virtual string DateTimeToDciString(DateTime value) | ||
469 | { | ||
470 | var util = new Directum.Dci.Sdk.Utils(); | ||
471 | return util.DateTimeToString(value); | ||
472 | } | ||
473 | |||
474 | #endregion | ||
475 | |||
476 | #region Прочие функции. | ||
477 | |||
478 | /// <summary> | ||
479 | /// Отправить уведомление об ошибках. | ||
480 | /// </summary> | ||
481 | /// <param name="errors">Список ошибок.</param> | ||
482 | /// <param name="processName">Имя процесса DCI.</param> | ||
483 | /// <param name="processGUID">GUID процесса DCI.</param> | ||
484 | /// <param name="messageName">Имя сообщения DCI.</param> | ||
485 | /// <param name="messageGUID">GUID сообщения DCI.</param> | ||
486 | [Public] | ||
487 | public virtual void SendNotificatiobAboutReceiveErrors(System.Collections.Generic.IList<string> errors, string processName, string processGUID, string messageName, string messageGUID) | ||
488 | { | ||
489 | var task = Sungero.Workflow.SimpleTasks.Create(); | ||
490 | var step = task.RouteSteps.AddNew(); | ||
491 | step.AssignmentType = Sungero.Workflow.SimpleTaskRouteSteps.AssignmentType.Notice; | ||
492 | step.Performer = Roles.Administrators; // TODO отправлять на спец роль. например Roles.GetAll(r => r.Sid == PublicConstants.Module.RoleGuid.DCIResponsible).First(); | ||
493 | task.Subject = DirRX.DciCore.Resources.ReceiveErrorTaskSubjectFormat(messageName, processName); | ||
494 | task.ActiveText = DirRX.DciCore.Resources.ReceiveErrorTaskTextFormat(string.Join(Environment.NewLine, errors)); | ||
495 | task.NeedsReview = false; | ||
496 | task.Start(); | ||
497 | } | ||
498 | |||
499 | /// <summary> | ||
500 | /// Найти запись справочника системы по ИД. | ||
501 | /// </summary> | ||
502 | /// <param name="entityId">ИД сущности.</param> | ||
503 | /// <param name="entityTypeGuid">GUID типа сущности.</param> | ||
504 | /// <returns>Сущность или null.</returns> | ||
505 | [Public, Remote(IsPure = true)] | ||
506 | public virtual Sungero.CoreEntities.IDatabookEntry GetDatabookEntityById(int entityId, string entityTypeGuid) | ||
507 | { | ||
508 | // HACK универсальный код по поиску записи справочника. | ||
509 | var targetEntity = Sungero.CoreEntities.Databooks.Null; | ||
510 | var entityList = Sungero.CoreEntities.Databooks.GetAll(e => e.Id == entityId); | ||
511 | // В linq-запросе не работает вызов GetType(), поэтому дальнейший перебор в цикле. | ||
512 | foreach (var entity in entityList) | ||
513 | { | ||
514 | var entityType = entity.GetType(); | ||
515 | if (entityType != null) | ||
516 | { | ||
517 | var guid = Sungero.Domain.Shared.TypeExtension.GetTypeGuid(entityType); | ||
518 | if (guid.ToString().ToLower() == entityTypeGuid.ToLower()) | ||
519 | { | ||
520 | if (targetEntity == null) | ||
521 | targetEntity = entity; | ||
522 | else | ||
523 | // Это исключение никогда не должно сработать, но если оно случится - нужно пересмотреть подход к поиску сущностей. | ||
524 | throw AppliedCodeException.Create(DirRX.DciCore.Resources.MultipleEntitiesFoundToDeleteFormat(entityId, entityTypeGuid)); | ||
525 | } | ||
526 | } | ||
527 | } | ||
528 | |||
529 | return targetEntity; | ||
530 | } | ||
531 | |||
532 | /// <summary> | ||
533 | /// Получить список измененных записей справочника за период. | ||
534 | /// </summary> | ||
535 | /// <param name="baseGuid">Базовый GUID типа сущности.</param> | ||
536 | /// <param name="dateBegin">Дата начала изменений.</param> | ||
537 | /// <param name="dateEnd">Дата конца изменений.</param> | ||
538 | /// <returns>Список ИД измененных записей справочника.</returns> | ||
539 | [Public] | ||
540 | public virtual IQueryable<int> GetChangedDatabookRecords(string baseGuid, DateTime dateBegin, DateTime dateEnd) | ||
541 | { | ||
542 | // HACK универсальный код по поиску в истории записей справочника. | ||
543 | |||
544 | var actions = new List<Enumeration?> { | ||
545 | Sungero.CoreEntities.History.Action.Create, | ||
546 | Sungero.CoreEntities.History.Action.Update, | ||
547 | Sungero.CoreEntities.History.Action.Delete}; | ||
548 | |||
549 | return Sungero.CoreEntities.DatabookHistories.GetAll() | ||
550 | .Where(h => h.EntityType.ToString() == baseGuid | ||
551 | && h.HistoryDate >= dateBegin | ||
552 | && h.HistoryDate <= dateEnd | ||
553 | && actions.Contains(h.Action)) | ||
554 | .Select(h => h.EntityId.Value) | ||
555 | .Distinct(); | ||
556 | } | ||
557 | |||
558 | #endregion | ||
559 | |||
560 | #region Шаблоны кода. | ||
561 | |||
562 | #region Шаблон кода для обработчика приема. | ||
563 | |||
564 | //// /// <summary> | ||
565 | //// /// Обработать сообщение по изменению "Имя типа сущности". | ||
566 | //// /// </summary> | ||
567 | //// /// <param name="message">Сообщение DCI.</param> | ||
568 | //// /// <returns>Пустая строка или текст ошибки.</returns> | ||
569 | //// public string Process<Имя типа сущности>DCIMessage(Directum.Dci.Sdk.IProcessMessage message) | ||
570 | //// { | ||
571 | //// /// ------------------------------------------------- | ||
572 | //// /// Подготовка к обработке сообщения. | ||
573 | //// /// ------------------------------------------------- | ||
574 | //// | ||
575 | //// // Получить данные из сообщения DCI. | ||
576 | //// var data = message.LoadData("MainRecord"); | ||
577 | //// var globalId = Guid.Parse(data.ValueByName("GUID").ToString()).ToString(); | ||
578 | //// var entityLink = GetEntityLinkByGuid(globalId); | ||
579 | //// | ||
580 | //// var entity = entityLink != null ? <Репозиторий типа сущности>.Get(entityLink.EntityId.Value) : <Репозиторий типа сущности>.Create(); | ||
581 | //// | ||
582 | //// // Если запись заблокирована, отправить сообщение повторно в очередь. | ||
583 | //// if (Locks.GetLockInfo(entity).IsLocked) | ||
584 | //// return Constants.Module.ErrorType.EntityIsLocked; | ||
585 | //// | ||
586 | //// /// ------------------------------------------------- | ||
587 | //// /// Обновление записи справочника. | ||
588 | //// /// ------------------------------------------------- | ||
589 | //// /// Для преобразования строковых значений в типы .net использовать функции: | ||
590 | //// /// StringToDouble - Преобразовать строку в double. | ||
591 | //// /// StringToInt - Преобразовать строку в целое число. | ||
592 | //// /// StringToDate - Преобразовать строку в дату. | ||
593 | //// /// StringToDateTime - Преобразовать строку в дату со временем. | ||
594 | //// /// Base64ToString - Раскодировать строку из base64. | ||
595 | //// /// и другие функции модуля DciCore. | ||
596 | //// | ||
597 | //// // Указать GUID базового типа сущности. | ||
598 | //// var entityTypeGuid = <GUID типа сущности>; | ||
599 | //// var name = data.ValueByName("Наименование").ToString(); | ||
600 | //// entity.Name = name; | ||
601 | //// entity.Save(); | ||
602 | //// | ||
603 | //// /// ------------------------------------------------- | ||
604 | //// /// Завершение приема сообщения. | ||
605 | //// /// ------------------------------------------------- | ||
606 | //// | ||
607 | //// if (entityLink == null) | ||
608 | //// SetExternalEntityLinkGuid(entity.Id, entityTypeGuid, message.Sender, globalId); | ||
609 | //// | ||
610 | //// return string.Empty; | ||
611 | //// } | ||
612 | |||
613 | #endregion | ||
614 | |||
615 | #region Шаблон кода для обработчика отправки. | ||
616 | |||
617 | //// /// <summary> | ||
618 | //// /// Заполнить сообщение DCI информацией для обновления "Имя типа сущности". | ||
619 | //// /// </summary> | ||
620 | //// /// <param name="message">Сообщение DCI.</param> | ||
621 | //// /// <param name="entity">Сущность.</param> | ||
622 | //// /// <param name="globalEntityId">Глобальный ИД сущности.</param> | ||
623 | //// /// <returns>Обновленное сообщение DCI.</returns> | ||
624 | //// public virtual Directum.Dci.Sdk.IProcessMessage Fill<Имя типа сущности>DCIMessageAttach(Directum.Dci.Sdk.IProcessMessage message, Sungero.CoreEntities.IDatabookEntry entity, string globalEntityId) | ||
625 | //// { | ||
626 | //// /// ------------------------------------------------- | ||
627 | //// /// Подготовка к формированию сообщения. | ||
628 | //// /// ------------------------------------------------- | ||
629 | //// var attach = new ObjectDictionary(); | ||
630 | //// attach.Add("GUID", globalEntityId); | ||
631 | //// | ||
632 | //// var record = <Репозиторий типа сущности>.As(entity); | ||
633 | //// | ||
634 | //// /// ------------------------------------------------- | ||
635 | //// /// Заполнение сообщения свойствами записи справочника. | ||
636 | //// /// ------------------------------------------------- | ||
637 | //// /// Для преобразования в строку можно использовать функции: | ||
638 | //// /// ConvertRXStatusToD5Status - Преобразовать статус записи RX в состояние записи D5. | ||
639 | //// /// StringToBase64 - Закодировать строку из base64. | ||
640 | //// /// и другие функции модуля DciCore. | ||
641 | //// attach.Add("Наименование", record.Name); | ||
642 | //// attach.Add("Состояние", DciCore.PublicFunctions.Module.ConvertD5StatusToRXStatus(record.Status)); | ||
643 | //// | ||
644 | //// /// ------------------------------------------------- | ||
645 | //// /// Завершение формирования сообщения. | ||
646 | //// /// ------------------------------------------------- | ||
647 | //// message.AttachData(attach, "MainRecord"); | ||
648 | //// message.Save(); | ||
649 | //// return message; | ||
650 | //// } | ||
651 | |||
652 | #endregion | ||
653 | |||
654 | #endregion | ||
655 | |||
656 | #region Функции-обработчики по приёму. | ||
657 | |||
658 | #region Обработчик по удалению. | ||
659 | |||
660 | /// <summary> | ||
661 | /// Обработать сообщение по удалению сущности. | ||
662 | /// </summary> | ||
663 | /// <param name="message">Сообщение DCI.</param> | ||
664 | /// <returns>Текст ошибки или пустая строка.</returns> | ||
665 | public virtual string ProcessDeletionDCIMessage(Directum.Dci.Sdk.IProcessMessage message) | ||
666 | { | ||
667 | var data = message.LoadData("DeletedRecordData"); | ||
668 | var guid = data.ValueByName("GUID"); | ||
669 | |||
670 | var globalId = Guid.Parse(guid.ToString()).ToString(); | ||
671 | var entityLink = GetEntityLinkByGuid(globalId); | ||
672 | if (entityLink == null) | ||
673 | return DirRX.DciCore.Resources.NotFoundExternalEntityLinkFormat(globalId); | ||
674 | |||
675 | // Сперва заполнить свойство IsDelete у ExternalEntityLinks и сохранить. Данное свойство используется в стандартной в событиях до удаления и если оно не означено, то запрещается удаление. | ||
676 | if (entityLink.IsDeleted != true) | ||
677 | { | ||
678 | entityLink.IsDeleted = true; | ||
679 | entityLink.Save(); | ||
680 | } | ||
681 | |||
682 | // Удалить сущность из системы. | ||
683 | var deleteResult = string.Empty; | ||
684 | try | ||
685 | { | ||
686 | var entityId = entityLink.EntityId.Value; | ||
687 | var entityTypeGuid = entityLink.EntityType; | ||
688 | deleteResult = DeleteEntityByProcessName(entityId, entityTypeGuid, message.ProcessKindName); | ||
689 | } | ||
690 | catch (Exception ex) | ||
691 | { | ||
692 | deleteResult = DirRX.DciCore.Resources.DeleteEntityErrorFormat(ex.Message, ex.StackTrace); | ||
693 | Logger.Error(string.Format("Процесс {0}. {1}", message.ProcessGlobalId, deleteResult)); | ||
694 | } | ||
695 | |||
696 | // Удалить связанные записи из справочника "Ссылки внешней системы". | ||
697 | if (string.IsNullOrWhiteSpace(deleteResult)) | ||
698 | { | ||
699 | /// HACK получаем все сущности, так как: | ||
700 | /// 1. В стандартной разработке есть код по удалению записи из справочника ссылки "Ссылки внешней системы", соответственно наша ссылка устаревает (ссылаться на отсутствующую запись справочника). | ||
701 | /// 2. Есть шанс что в справочнике могли создаться дубли. | ||
702 | var entityLinks = GetAllEntityLinksByGuid(globalId); | ||
703 | foreach (var link in entityLinks) | ||
704 | Sungero.Commons.ExternalEntityLinks.Delete(link); | ||
705 | } | ||
706 | |||
707 | return deleteResult; | ||
708 | } | ||
709 | |||
710 | /// <summary> | ||
711 | /// Удалить сущности из системы по ИД. | ||
712 | /// </summary> | ||
713 | /// <param name="entityId">ИД сущности.</param> | ||
714 | /// <param name="entityTypeGuid">GUID типа сущности.</param> | ||
715 | /// <param name="processName">Имя процесса DCI.</param> | ||
716 | /// <returns>Текст ошибки или пустая строка.</returns> | ||
717 | [Public, Remote] | ||
718 | public virtual string DeleteEntityByProcessName(int entityId, string entityTypeGuid, string processName) | ||
719 | { | ||
720 | // HACK универсальный код по удалению записи справочника. | ||
721 | // TODO нужна доработка для удаления документов | ||
722 | |||
723 | var targetEntity = GetDatabookEntityById(entityId, entityTypeGuid); | ||
724 | |||
725 | if (targetEntity == null) | ||
726 | return DirRX.DciCore.Resources.NoEntitiesFoundToDeleteFormat(entityId, entityTypeGuid); | ||
727 | |||
728 | var lockInfo = Locks.GetLockInfo(targetEntity); | ||
729 | if (lockInfo.IsLocked) | ||
730 | return DirRX.DciCore.PublicConstants.Module.ErrorType.EntityIsLocked; | ||
731 | |||
732 | Sungero.CoreEntities.Databooks.Delete(targetEntity); | ||
733 | |||
734 | return string.Empty; | ||
735 | |||
736 | #region Шаблон кода для реализации функции в перекрытии. | ||
737 | //// switch (processName) | ||
738 | //// { | ||
739 | //// case <Имя процесса синхронизации, обычно заканчивается на ReferenceSynchronization>: | ||
740 | //// var entity = <Репозиторий типа сущности>.Get(entityId); | ||
741 | //// // Если запись заблокирована, отправить сообщение повторно в очередь. | ||
742 | //// var lockInfo = Locks.GetLockInfo(entity); | ||
743 | //// if (lockInfo.IsLocked) | ||
744 | //// return Constants.Module.ErrorType.EntityIsLocked; | ||
745 | //// <Репозиторий типа сущности>.Delete(entity); | ||
746 | //// break; | ||
747 | //// default: | ||
748 | //// return base.DeleteEntityByProcessName(entityId, processName); | ||
749 | //// } | ||
750 | //// return string.Empty; | ||
751 | #endregion | ||
752 | |||
753 | //return DirRX.DciCore.Resources.NotFoundDeleteHandlerByProcessFormat(processName); | ||
754 | } | ||
755 | |||
756 | #endregion | ||
757 | |||
758 | #region DCICheckLink | ||
759 | |||
760 | /// <summary> | ||
761 | /// Обработать сообщение Ping. | ||
762 | /// </summary> | ||
763 | /// <param name="message">Сообщение DCI.</param> | ||
764 | /// <returns>Пустая строка или текст ошибки.</returns> | ||
765 | public string ProcessPingDciMessage(Directum.Dci.Sdk.IProcessMessage message) | ||
766 | { | ||
767 | // Получить словарь с данными из сообщения. | ||
768 | var data = message.LoadData("TestData"); | ||
769 | var dataGuid = data.ValueByName("GUID"); | ||
770 | var dataDate = data.ValueByName("Date"); | ||
771 | var dataNum1 = data.ValueByName("Num"); | ||
772 | var dataNum2 = data.ValueByName("Num2"); | ||
773 | |||
774 | if (dataGuid == null || dataDate == null || dataNum1 == null || dataNum2 == null) | ||
775 | return DirRX.DciCore.Resources.InsufficientDataError; | ||
776 | |||
777 | var guid = dataGuid.ToString(); | ||
778 | var date = dataDate.ToString(); | ||
779 | var num1 = dataNum1.ToString(); | ||
780 | var num2 = dataNum2.ToString(); | ||
781 | |||
782 | var stringBuilder = new System.Text.StringBuilder(); | ||
783 | |||
784 | stringBuilder.AppendLine(string.Format("Процесс: {0} ({1}). Сообщение: {2} ({3}). Получено сообщение. Значения данных:", | ||
785 | message.ProcessGlobalId, message.ProcessKindName, message.GlobalId, message.Name)); | ||
786 | stringBuilder.AppendLine(string.Format("GUID = {0}", guid)); | ||
787 | stringBuilder.AppendLine(string.Format("Date = {0}", date)); | ||
788 | stringBuilder.AppendLine(string.Format("Num = {0}", num1)); | ||
789 | stringBuilder.AppendLine(string.Format("Num2 = {0}", num2)); | ||
790 | Logger.Debug(stringBuilder.ToString()); | ||
791 | stringBuilder.Clear(); | ||
792 | |||
793 | Logger.Debug(string.Format("Процесс: {0} ({1}). Сообщение: {2} ({3}). Проверка данных...", | ||
794 | message.ProcessGlobalId, message.ProcessKindName, message.GlobalId, message.Name)); | ||
795 | DateTime tempDate; | ||
796 | var isDate = Calendar.TryParseDate(date, out tempDate); | ||
797 | var tempNum1 = Functions.Module.StringToDouble(num1); | ||
798 | var tempNum2 = Functions.Module.StringToDouble(num2); | ||
799 | var isNumber1 = (tempNum1 != null); | ||
800 | var isNumber2 = (tempNum2 != null); | ||
801 | tempNum1 += 1.5; | ||
802 | tempNum2 += 1.0 / 3.0; | ||
803 | |||
804 | stringBuilder.AppendLine(string.Format("Процесс: {0} ({1}). Сообщение: {2} ({3}). Результаты проверки данных:", | ||
805 | message.ProcessGlobalId, message.ProcessKindName, message.GlobalId, message.Name)); | ||
806 | stringBuilder.AppendLine(string.Format("Date = {0}, is date = {1}", date, isDate)); | ||
807 | stringBuilder.AppendLine(string.Format("Num = {0}, is double = {1}", num1, isNumber1)); | ||
808 | stringBuilder.AppendLine(string.Format("Num2 = {0}, is double = {1}", num2, isNumber2)); | ||
809 | stringBuilder.AppendLine(string.Format("Num + 1.5 = {0}", tempNum1)); | ||
810 | stringBuilder.AppendLine(string.Format("Num2 + 1/3 = {0}", tempNum2)); | ||
811 | Logger.Debug(stringBuilder.ToString()); | ||
812 | stringBuilder.Clear(); | ||
813 | |||
814 | Logger.Debug(string.Format("Процесс: {0} ({1}). Сообщение: {2} ({3}). Остановка процесса.", | ||
815 | message.ProcessGlobalId, message.ProcessKindName, message.GlobalId, message.Name)); | ||
816 | var process = GetProcessByMessage(message); | ||
817 | process.Stop(); | ||
818 | |||
819 | return string.Empty; | ||
820 | } | ||
821 | |||
822 | /// <summary> | ||
823 | /// Обработать сообщение Pong. | ||
824 | /// </summary> | ||
825 | /// <param name="message">Сообщение DCI.</param> | ||
826 | /// <returns>Пустая строка или текст ошибки.</returns> | ||
827 | public string ProcessPongDciMessage(Directum.Dci.Sdk.IProcessMessage message) | ||
828 | { | ||
829 | // Получить параметры сообщения. | ||
830 | var messageParams = message.Params; | ||
831 | var paramDirection = messageParams.ValueByName("Direction").ToString(); | ||
832 | var paramServiceType = messageParams.ValueByName("ServiceType").ToString(); | ||
833 | var paramEventTime = messageParams.ValueByName("EventTime").ToString(); | ||
834 | var paramEndpointType = messageParams.ValueByName("EndpointType").ToString(); | ||
835 | |||
836 | var paramIndex = 0; | ||
837 | var paramServiceName = string.Empty; | ||
838 | paramIndex = messageParams.IndexOfName("ServiceName"); | ||
839 | if (paramIndex >= 0) | ||
840 | paramServiceName = messageParams.GetValues(paramIndex).ToString(); | ||
841 | |||
842 | var paramEndpointName = string.Empty; | ||
843 | paramIndex = messageParams.IndexOfName("EndpointName"); | ||
844 | if (paramIndex >= 0) | ||
845 | paramEndpointName = messageParams.GetValues(paramIndex).ToString(); | ||
846 | |||
847 | // var stringBuilder = new System.Text.StringBuilder(); | ||
848 | // stringBuilder.AppendLine(string.Format("Процесс: {0} ({1}). Сообщение: {2} ({3}). Получено сообщение. Значения параметров:", | ||
849 | // message.ProcessGlobalId, message.ProcessKindName, message.GlobalId, message.Name)); | ||
850 | // stringBuilder.AppendLine(string.Format("paramDirection = {0}", paramDirection)); | ||
851 | // stringBuilder.AppendLine(string.Format("paramServiceType = {0}", paramServiceType)); | ||
852 | // stringBuilder.AppendLine(string.Format("paramEventTime = {0}", paramEventTime)); | ||
853 | // stringBuilder.AppendLine(string.Format("paramEndpointType = {0}", paramEndpointType)); | ||
854 | // stringBuilder.AppendLine(string.Format("paramServiceName = {0}", paramServiceName)); | ||
855 | // stringBuilder.AppendLine(string.Format("paramEndpointName = {0}", paramEndpointName)); | ||
856 | // Logger.Debug(stringBuilder.ToString()); | ||
857 | // stringBuilder.Clear(); | ||
858 | |||
859 | var eventStr = new System.Text.StringBuilder(); | ||
860 | var serviceType = string.Empty; | ||
861 | var endpointType = string.Empty; | ||
862 | eventStr.AppendFormat("Получатель {0}.", message.Sender); | ||
863 | if (paramServiceType == "SystemAdapter") | ||
864 | serviceType = "Адаптер к системе"; | ||
865 | else if (paramServiceType == "TransportAdapter") | ||
866 | serviceType = "Адаптер к транспорту"; | ||
867 | else if (paramServiceType == "Transport") | ||
868 | serviceType = "Транспорт"; | ||
869 | eventStr.AppendFormat(" {0}", serviceType); | ||
870 | |||
871 | if (!string.IsNullOrWhiteSpace(paramServiceName)) | ||
872 | eventStr.AppendFormat(" {0}", paramServiceName); | ||
873 | |||
874 | if (paramDirection == "From") | ||
875 | { | ||
876 | eventStr.Append(": Сообщение получено"); | ||
877 | |||
878 | if (paramEndpointType == "System") | ||
879 | endpointType = "из системы"; | ||
880 | else if (paramEndpointType == "RoutingService") | ||
881 | endpointType = "из сервиса маршрутизации"; | ||
882 | else if (paramEndpointType == "TransportAdapter") | ||
883 | endpointType = "из адаптера к транспорту"; | ||
884 | else if (paramEndpointType == "Transport") | ||
885 | endpointType = "из транспорта"; | ||
886 | |||
887 | eventStr.AppendFormat(" {0}", endpointType); | ||
888 | } | ||
889 | else | ||
890 | { | ||
891 | eventStr.Append(": Сообщение отправлено"); | ||
892 | |||
893 | if (paramEndpointType == "System") | ||
894 | endpointType = "в систему"; | ||
895 | else if (paramEndpointType == "RoutingService") | ||
896 | endpointType = "в сервис маршрутизации"; | ||
897 | else if (paramEndpointType == "TransportAdapter") | ||
898 | endpointType = "в адаптер к транспорту"; | ||
899 | else if (paramEndpointType == "Transport") | ||
900 | endpointType = "в транспорт"; | ||
901 | |||
902 | eventStr.AppendFormat(" {0}", endpointType); | ||
903 | } | ||
904 | |||
905 | if (!string.IsNullOrWhiteSpace(paramEndpointName)) | ||
906 | eventStr.AppendFormat(" {0}", paramEndpointName); | ||
907 | |||
908 | Logger.Debug(eventStr.ToString()); | ||
909 | |||
910 | return string.Empty; | ||
911 | } | ||
912 | #endregion | ||
913 | |||
914 | #endregion | ||
915 | |||
916 | #region Функции-обработчики по отправке. | ||
917 | |||
918 | #region DCICheckLink | ||
919 | |||
920 | /// <summary> | ||
921 | /// Отправить тестовое сообщение для проверки связи между системами. | ||
922 | /// </summary> | ||
923 | /// <returns>GUID процесса DCI.</returns> | ||
924 | [Public, Remote(IsPure = true)] | ||
925 | public string SendDciPing() | ||
926 | { | ||
927 | var setting = Functions.DciSetting.GetDciSettings(); | ||
928 | var processFactory = GetProcessFactory(setting); | ||
929 | |||
930 | var message = CreateMessage(Constants.DciProcessKind.DCICheckLinkProcess.Name, Constants.DciProcessKind.DCICheckLinkProcess.PingMessage.Name, string.Empty, int.MinValue, string.Empty, processFactory, setting, true); | ||
931 | |||
932 | // Сформировать тестовое сообщение. | ||
933 | var attach = new ObjectDictionary(); | ||
934 | attach.Add("GUID", Guid.NewGuid().ToDelphiGuid()); // TODO сделать более явный вызов ToDelphiGuid из Directum.Dci.Common. Реализовать при проработке отправки сообщений. | ||
935 | attach.Add("Date", Calendar.Today); | ||
936 | attach.Add("Num", 1.0 / 3.0); | ||
937 | attach.Add("Num2", 1.25); | ||
938 | attach.Add("TestStatus", Sungero.CoreEntities.DatabookEntry.Status.Active); | ||
939 | |||
940 | message.AttachData(attach, "TestData"); | ||
941 | message.Save(); | ||
942 | message.Send(); | ||
943 | |||
944 | var process = GetProcessByMessage(message); | ||
945 | return process.GlobalId; | ||
946 | } | ||
947 | |||
948 | #endregion | ||
949 | |||
950 | /// <summary> | ||
951 | /// Заполнить сообщение DCI информацией для удаления сущности. | ||
952 | /// </summary> | ||
953 | /// <param name="message">Сообщение DCI.</param> | ||
954 | /// <param name="globalEntityId">Глобальный ИД сущности.</param> | ||
955 | /// <returns>Обновленное сообщение DCI.</returns> | ||
956 | public virtual Directum.Dci.Sdk.IProcessMessage CreateDeletionDCIMessageAttach(Directum.Dci.Sdk.IProcessMessage message, string globalEntityId) | ||
957 | { | ||
958 | var attach = new ObjectDictionary(); | ||
959 | attach.Add("GUID", globalEntityId); | ||
960 | message.AttachData(attach, "DeletedRecordData"); | ||
961 | message.Save(); | ||
962 | return message; | ||
963 | // TODO помечать запись удаленной в extlinks | ||
964 | |||
965 | #region Шаблон кода для реализации функции в перекрытии. | ||
966 | //// switch (message.ProcessKindName) | ||
967 | //// { | ||
968 | //// case <Имя процесса синхронизации, обычно заканчивается на ReferenceSynchronization>: | ||
969 | //// var attach = new ObjectDictionary(); | ||
970 | //// attach.Add("GUID", globalEntityId); | ||
971 | //// message.AttachData(attach, "DeletedRecordData"); | ||
972 | //// | ||
973 | //// var entityId = GetEntityIdByGuid(globalEntityId); | ||
974 | //// var entity = <Репозиторий типа сущности>.Get(entityId); | ||
975 | //// var customAttach = new ObjectDictionary(); | ||
976 | //// //customAttach.Add("", entity.); | ||
977 | //// message.AttachData(customAttach, "CustomData"); | ||
978 | //// | ||
979 | //// message.Save(); | ||
980 | //// break; | ||
981 | //// | ||
982 | //// default: | ||
983 | //// return base.CreateDeletionDCIMessageAttach(message, globalEntityId); | ||
984 | //// } | ||
985 | //// return message; | ||
986 | #endregion | ||
987 | } | ||
988 | |||
989 | #endregion | ||
990 | |||
991 | } | ||
992 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | { | ||
2 | "$type": "Sungero.Metadata.EntityMetadata, Sungero.Metadata", | ||
3 | "NameGuid": "b8fb59dc-559f-40b8-8ad3-2df642ff71d5", | ||
4 | "Name": "DciProcessKind", | ||
5 | "BaseGuid": "04581d26-0780-4cfd-b3cd-c2cafc5798b0", | ||
6 | "CanBeNavigationPropertyType": true, | ||
7 | "Code": "DciProcessKind", | ||
8 | "CreationAreaMetadata": { | ||
9 | "NameGuid": "f7766750-eee2-4fcd-8003-5c06a90d1f44", | ||
10 | "Name": "CreationArea", | ||
11 | "Buttons": [], | ||
12 | "IsAncestorMetadata": true | ||
13 | }, | ||
14 | "ExtraSearchProperties": [], | ||
15 | "FilterPanel": { | ||
16 | "NameGuid": "b0125fbd-3b91-4dbb-914a-689276216404", | ||
17 | "Name": "FilterPanel", | ||
18 | "Controls": [], | ||
19 | "IsAncestorMetadata": true | ||
20 | }, | ||
21 | "Forms": [ | ||
22 | { | ||
23 | "$type": "Sungero.Metadata.StandaloneFormMetadata, Sungero.Metadata", | ||
24 | "NameGuid": "e3903018-e6ef-4336-a294-2ccdc8d0bf63", | ||
25 | "Name": "Card", | ||
26 | "Controls": [ | ||
27 | { | ||
28 | "$type": "Sungero.Metadata.ControlGroupMetadata, Sungero.Metadata", | ||
29 | "NameGuid": "ae9b3c49-c2d9-4028-ad33-4fa8226dcea8", | ||
30 | "Name": "ControlGroup" | ||
31 | }, | ||
32 | { | ||
33 | "$type": "Sungero.Metadata.ControlGroupMetadata, Sungero.Metadata", | ||
34 | "NameGuid": "7329a31f-6786-41d3-a5fc-cdd3fde0e7bf", | ||
35 | "Name": "Main", | ||
36 | "ColumnDefinitions": [ | ||
37 | { | ||
38 | "Percentage": 49.96 | ||
39 | }, | ||
40 | { | ||
41 | "Percentage": 50.04 | ||
42 | } | ||
43 | ], | ||
44 | "ColumnNumber": 0, | ||
45 | "ColumnSpan": 1, | ||
46 | "ParentGuid": "ae9b3c49-c2d9-4028-ad33-4fa8226dcea8", | ||
47 | "RowNumber": 0, | ||
48 | "RowSpan": 1 | ||
49 | }, | ||
50 | { | ||
51 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
52 | "NameGuid": "3193c97c-1a9f-499f-95a3-9168dc1bc0b3", | ||
53 | "Name": "Control", | ||
54 | "ColumnNumber": 0, | ||
55 | "ColumnSpan": 2, | ||
56 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
57 | "ParentGuid": "7329a31f-6786-41d3-a5fc-cdd3fde0e7bf", | ||
58 | "PropertyGuid": "9ce7f50e-38ac-4ce4-96e6-631b6a0524ce", | ||
59 | "RowNumber": 0, | ||
60 | "RowSpan": 1, | ||
61 | "Settings": [] | ||
62 | }, | ||
63 | { | ||
64 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
65 | "NameGuid": "03aa2121-2040-4083-9730-169604e1ebd6", | ||
66 | "Name": "ProcessType", | ||
67 | "ColumnNumber": 0, | ||
68 | "ColumnSpan": 1, | ||
69 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.DropDownEditorToEnumerationBinder", | ||
70 | "ParentGuid": "7329a31f-6786-41d3-a5fc-cdd3fde0e7bf", | ||
71 | "PropertyGuid": "a0d0f428-c7aa-47fb-95bb-3227ab2b48ed", | ||
72 | "RowNumber": 2, | ||
73 | "RowSpan": 1, | ||
74 | "Settings": [] | ||
75 | }, | ||
76 | { | ||
77 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
78 | "NameGuid": "940f57df-25e6-4130-acb3-bc1aae6659f4", | ||
79 | "Name": "Status", | ||
80 | "ColumnNumber": 0, | ||
81 | "ColumnSpan": 1, | ||
82 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.DropDownEditorToEnumerationBinder", | ||
83 | "ParentGuid": "7329a31f-6786-41d3-a5fc-cdd3fde0e7bf", | ||
84 | "PropertyGuid": "1dcedc29-5140-4770-ac92-eabc212326a1", | ||
85 | "RowNumber": 3, | ||
86 | "RowSpan": 1, | ||
87 | "Settings": [] | ||
88 | }, | ||
89 | { | ||
90 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
91 | "NameGuid": "0fa43e10-6d48-4828-add2-5632c0b1c4c6", | ||
92 | "Name": "Description", | ||
93 | "ColumnNumber": 0, | ||
94 | "ColumnSpan": 2, | ||
95 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
96 | "ParentGuid": "7329a31f-6786-41d3-a5fc-cdd3fde0e7bf", | ||
97 | "PropertyGuid": "93e6d0ee-f8cd-4418-ab62-fe087e38669b", | ||
98 | "RowNumber": 1, | ||
99 | "RowSpan": 1, | ||
100 | "Settings": [] | ||
101 | }, | ||
102 | { | ||
103 | "$type": "Sungero.Metadata.ControlGroupMetadata, Sungero.Metadata", | ||
104 | "NameGuid": "c424d5cc-88b4-4f81-a951-b57d2eabb9da", | ||
105 | "Name": "Additional", | ||
106 | "ColumnNumber": 0, | ||
107 | "ColumnSpan": 1, | ||
108 | "ParentGuid": "ae9b3c49-c2d9-4028-ad33-4fa8226dcea8", | ||
109 | "RowNumber": 1, | ||
110 | "RowSpan": 1 | ||
111 | }, | ||
112 | { | ||
113 | "$type": "Sungero.Metadata.ControlGroupMetadata, Sungero.Metadata", | ||
114 | "NameGuid": "3c299716-5b10-4c75-b130-49533d077c3d", | ||
115 | "Name": "Note", | ||
116 | "ColumnNumber": 0, | ||
117 | "ColumnSpan": 1, | ||
118 | "GroupType": "WithTitleNoBorder", | ||
119 | "ParentGuid": "ae9b3c49-c2d9-4028-ad33-4fa8226dcea8", | ||
120 | "RowNumber": 2, | ||
121 | "RowSpan": 1 | ||
122 | }, | ||
123 | { | ||
124 | "$type": "Sungero.Metadata.ControlGroupMetadata, Sungero.Metadata", | ||
125 | "NameGuid": "462ec2b8-adee-4c71-930c-660c2eeb52c8", | ||
126 | "Name": "Messages", | ||
127 | "ColumnNumber": 0, | ||
128 | "ColumnSpan": 1, | ||
129 | "GroupType": "WithTitleNoBorder", | ||
130 | "ParentGuid": "ae9b3c49-c2d9-4028-ad33-4fa8226dcea8", | ||
131 | "RowNumber": 3, | ||
132 | "RowSpan": 1 | ||
133 | }, | ||
134 | { | ||
135 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
136 | "NameGuid": "175cf315-4427-4d6b-8120-5bd7b57bd993", | ||
137 | "Name": "Messages", | ||
138 | "ColumnNumber": 0, | ||
139 | "ColumnSpan": 1, | ||
140 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.GridControlToChildCollectionBinder", | ||
141 | "HeaderLocation": "None", | ||
142 | "ParentGuid": "462ec2b8-adee-4c71-930c-660c2eeb52c8", | ||
143 | "PropertyGuid": "be1c954e-af9a-4fd0-b0c6-3f9bdcf93f11", | ||
144 | "RowNumber": 0, | ||
145 | "RowSpan": 1, | ||
146 | "Settings": [ | ||
147 | { | ||
148 | "Name": "NeedExpand", | ||
149 | "Value": true | ||
150 | } | ||
151 | ] | ||
152 | }, | ||
153 | { | ||
154 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
155 | "NameGuid": "5834aee8-ab03-4ea3-a8f5-fb9e23a1167d", | ||
156 | "Name": "Note", | ||
157 | "ColumnNumber": 0, | ||
158 | "ColumnSpan": 1, | ||
159 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.TextEditorToTextBinder", | ||
160 | "HeaderLocation": "None", | ||
161 | "ParentGuid": "3c299716-5b10-4c75-b130-49533d077c3d", | ||
162 | "PropertyGuid": "4bdb3aae-6cc0-41de-8a82-5f548a5d9d6a", | ||
163 | "RowNumber": 0, | ||
164 | "RowSpan": 1, | ||
165 | "Settings": [ | ||
166 | { | ||
167 | "Name": "Height", | ||
168 | "Value": 80 | ||
169 | } | ||
170 | ] | ||
171 | }, | ||
172 | { | ||
173 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
174 | "NameGuid": "3753bf8a-804c-4607-bf29-16b90ec2c4ca", | ||
175 | "Name": "LastDciSyncDate", | ||
176 | "ColumnNumber": 1, | ||
177 | "ColumnSpan": 1, | ||
178 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.DateTimeEditorToDateTimeBinder", | ||
179 | "ParentGuid": "7329a31f-6786-41d3-a5fc-cdd3fde0e7bf", | ||
180 | "PropertyGuid": "6519340c-d9ae-4a12-a6c9-819f964eda5d", | ||
181 | "RowNumber": 3, | ||
182 | "RowSpan": 1, | ||
183 | "Settings": [] | ||
184 | }, | ||
185 | { | ||
186 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
187 | "NameGuid": "93969610-fafe-4fc3-981f-8e0ba52bca9e", | ||
188 | "Name": "EntityTypeGUID", | ||
189 | "ColumnNumber": 1, | ||
190 | "ColumnSpan": 1, | ||
191 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
192 | "ParentGuid": "7329a31f-6786-41d3-a5fc-cdd3fde0e7bf", | ||
193 | "PropertyGuid": "dcba824d-c55b-4d07-92b3-ec2fc5bee318", | ||
194 | "RowNumber": 2, | ||
195 | "RowSpan": 1, | ||
196 | "Settings": [] | ||
197 | } | ||
198 | ] | ||
199 | } | ||
200 | ], | ||
201 | "HandledEvents": [ | ||
202 | "BeforeSaveServer" | ||
203 | ], | ||
204 | "HideFromCreationArea": true, | ||
205 | "HideFromNavigationEditorCreationArea": true, | ||
206 | "IconResourcesKeys": [], | ||
207 | "IsAutoCreated": true, | ||
208 | "IsStatusEnabled": true, | ||
209 | "OperationsClass": "", | ||
210 | "Overridden": [ | ||
211 | "IsStatusEnabled", | ||
212 | "IsAutoCreated", | ||
213 | "HideFromCreationArea", | ||
214 | "HideFromNavigationEditorCreationArea" | ||
215 | ], | ||
216 | "Properties": [ | ||
217 | { | ||
218 | "$type": "Sungero.Metadata.EnumPropertyMetadata, Sungero.Metadata", | ||
219 | "NameGuid": "1dcedc29-5140-4770-ac92-eabc212326a1", | ||
220 | "Name": "Status", | ||
221 | "IsAncestorMetadata": true, | ||
222 | "Overridden": [ | ||
223 | "IsShowedInList", | ||
224 | "IsVisibility", | ||
225 | "CanBeSearch", | ||
226 | "PreviousPropertyGuid" | ||
227 | ], | ||
228 | "PreviousPropertyGuid": "d7319199-3333-49cc-a7b9-8467617ccf20" | ||
229 | }, | ||
230 | { | ||
231 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
232 | "NameGuid": "9ce7f50e-38ac-4ce4-96e6-631b6a0524ce", | ||
233 | "Name": "Name", | ||
234 | "Code": "Name", | ||
235 | "IsDisplayValue": true, | ||
236 | "IsEnabled": false, | ||
237 | "IsQuickSearchAllowed": true, | ||
238 | "IsRequired": true, | ||
239 | "IsUnique": true, | ||
240 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
241 | "PreviousPropertyGuid": "1dcedc29-5140-4770-ac92-eabc212326a1" | ||
242 | }, | ||
243 | { | ||
244 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
245 | "NameGuid": "41103636-132e-49d5-91ea-020c1603cd16", | ||
246 | "Name": "GUID", | ||
247 | "Code": "GUID", | ||
248 | "IsEnabled": false, | ||
249 | "IsRequired": true, | ||
250 | "IsUnique": true, | ||
251 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
252 | "PreviousPropertyGuid": "9ce7f50e-38ac-4ce4-96e6-631b6a0524ce" | ||
253 | }, | ||
254 | { | ||
255 | "$type": "Sungero.Metadata.CollectionPropertyMetadata, Sungero.Metadata", | ||
256 | "NameGuid": "be1c954e-af9a-4fd0-b0c6-3f9bdcf93f11", | ||
257 | "Name": "Messages", | ||
258 | "Code": "DciProcessKin1", | ||
259 | "EntityGuid": "97a41c12-ed37-4790-afd4-529b70493184", | ||
260 | "IsEnabled": false, | ||
261 | "IsShowedInList": false, | ||
262 | "PreviousPropertyGuid": "93e6d0ee-f8cd-4418-ab62-fe087e38669b" | ||
263 | }, | ||
264 | { | ||
265 | "$type": "Sungero.Metadata.EnumPropertyMetadata, Sungero.Metadata", | ||
266 | "NameGuid": "a0d0f428-c7aa-47fb-95bb-3227ab2b48ed", | ||
267 | "Name": "ProcessType", | ||
268 | "Code": "ProcessType", | ||
269 | "DirectValues": [ | ||
270 | { | ||
271 | "NameGuid": "7581b95a-e6d8-4937-a3b2-4d9c5079d8ac", | ||
272 | "Name": "DataSync", | ||
273 | "Code": "DataSync" | ||
274 | }, | ||
275 | { | ||
276 | "NameGuid": "7ffd482a-9555-4b61-b220-b032071636e2", | ||
277 | "Name": "DocSync", | ||
278 | "Code": "DocSync" | ||
279 | }, | ||
280 | { | ||
281 | "NameGuid": "704fc64b-e29d-4b94-a639-cd683fffc2e0", | ||
282 | "Name": "Process", | ||
283 | "Code": "Process" | ||
284 | } | ||
285 | ], | ||
286 | "IsEnabled": false, | ||
287 | "IsRequired": true, | ||
288 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.DropDownEditorToEnumerationBinder", | ||
289 | "PreviousPropertyGuid": "be1c954e-af9a-4fd0-b0c6-3f9bdcf93f11" | ||
290 | }, | ||
291 | { | ||
292 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
293 | "NameGuid": "93e6d0ee-f8cd-4418-ab62-fe087e38669b", | ||
294 | "Name": "Description", | ||
295 | "Code": "Description", | ||
296 | "Length": 1000, | ||
297 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
298 | "PreviousPropertyGuid": "41103636-132e-49d5-91ea-020c1603cd16" | ||
299 | }, | ||
300 | { | ||
301 | "$type": "Sungero.Metadata.TextPropertyMetadata, Sungero.Metadata", | ||
302 | "NameGuid": "4bdb3aae-6cc0-41de-8a82-5f548a5d9d6a", | ||
303 | "Name": "Note", | ||
304 | "Code": "Note", | ||
305 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToTextBinder", | ||
306 | "PreviousPropertyGuid": "a0d0f428-c7aa-47fb-95bb-3227ab2b48ed" | ||
307 | }, | ||
308 | { | ||
309 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
310 | "NameGuid": "dcba824d-c55b-4d07-92b3-ec2fc5bee318", | ||
311 | "Name": "EntityTypeGUID", | ||
312 | "Code": "EntityTypeGUID", | ||
313 | "IsEnabled": false, | ||
314 | "IsRequired": true, | ||
315 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
316 | "PreviousPropertyGuid": "4bdb3aae-6cc0-41de-8a82-5f548a5d9d6a" | ||
317 | }, | ||
318 | { | ||
319 | "$type": "Sungero.Metadata.DateTimePropertyMetadata, Sungero.Metadata", | ||
320 | "NameGuid": "6519340c-d9ae-4a12-a6c9-819f964eda5d", | ||
321 | "Name": "LastOutSyncDate", | ||
322 | "Code": "LastOutSyncDat", | ||
323 | "DateTimeFormat": "DateTime", | ||
324 | "IsRequired": true, | ||
325 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.DateTimeEditorToDateTimeBinder", | ||
326 | "PreviousPropertyGuid": "dcba824d-c55b-4d07-92b3-ec2fc5bee318" | ||
327 | } | ||
328 | ], | ||
329 | "PublicConstants": [ | ||
330 | { | ||
331 | "Name": "Name", | ||
332 | "ParentClasses": [ | ||
333 | "DciProcessKind", | ||
334 | "DCICheckLinkProcess" | ||
335 | ], | ||
336 | "TypeName": "System.String", | ||
337 | "Value": "\"DCICheckLink\"" | ||
338 | }, | ||
339 | { | ||
340 | "Name": "Name", | ||
341 | "ParentClasses": [ | ||
342 | "DciProcessKind", | ||
343 | "DCICheckLinkProcess", | ||
344 | "PingMessage" | ||
345 | ], | ||
346 | "TypeName": "System.String", | ||
347 | "Value": "\"Ping\"" | ||
348 | }, | ||
349 | { | ||
350 | "Name": "Name", | ||
351 | "ParentClasses": [ | ||
352 | "DciProcessKind", | ||
353 | "DCICheckLinkProcess", | ||
354 | "PongMessage" | ||
355 | ], | ||
356 | "TypeName": "System.String", | ||
357 | "Value": "\"Pong\"" | ||
358 | }, | ||
359 | { | ||
360 | "Name": "RecordChanges", | ||
361 | "ParentClasses": [ | ||
362 | "DciProcessKind", | ||
363 | "DefaultDciMessageName" | ||
364 | ], | ||
365 | "TypeName": "System.String", | ||
366 | "Value": "\"SynchronizeRecordChanges\"" | ||
367 | }, | ||
368 | { | ||
369 | "Name": "RecordDeletion", | ||
370 | "ParentClasses": [ | ||
371 | "DciProcessKind", | ||
372 | "DefaultDciMessageName" | ||
373 | ], | ||
374 | "TypeName": "System.String", | ||
375 | "Value": "\"SynchronizeRecordDeletion\"" | ||
376 | }, | ||
377 | { | ||
378 | "Name": "RecordGUID", | ||
379 | "ParentClasses": [ | ||
380 | "DciProcessKind", | ||
381 | "DCICheckLinkProcess" | ||
382 | ], | ||
383 | "TypeName": "System.Guid", | ||
384 | "Value": "new System.Guid(\"FF629668-7663-406C-A89E-D57C0F0F4D0C\")" | ||
385 | }, | ||
386 | { | ||
387 | "Name": "RowGUID", | ||
388 | "ParentClasses": [ | ||
389 | "DciProcessKind", | ||
390 | "DCICheckLinkProcess", | ||
391 | "PingMessage" | ||
392 | ], | ||
393 | "TypeName": "System.Guid", | ||
394 | "Value": "new System.Guid(\"7A39F16B-7F3E-4D54-8807-947371282914\")" | ||
395 | }, | ||
396 | { | ||
397 | "Name": "RowGUID", | ||
398 | "ParentClasses": [ | ||
399 | "DciProcessKind", | ||
400 | "DCICheckLinkProcess", | ||
401 | "PongMessage" | ||
402 | ], | ||
403 | "TypeName": "System.Guid", | ||
404 | "Value": "new System.Guid(\"72EC2A7B-5CAF-464A-A89E-AA9D3A40AF95\")" | ||
405 | } | ||
406 | ], | ||
407 | "PublicFunctions": [ | ||
408 | { | ||
409 | "Name": "CheckProcessKindExists", | ||
410 | "IsRemote": true, | ||
411 | "Parameters": [ | ||
412 | { | ||
413 | "Name": "processName", | ||
414 | "ParameterType": "global::System.String", | ||
415 | "ParameterTypeFullName": "System.String" | ||
416 | }, | ||
417 | { | ||
418 | "Name": "messageName", | ||
419 | "ParameterType": "global::System.String", | ||
420 | "ParameterTypeFullName": "System.String" | ||
421 | } | ||
422 | ], | ||
423 | "Placement": "Shared", | ||
424 | "ReturnType": "global::System.String", | ||
425 | "ReturnTypeFullName": "System.String" | ||
426 | }, | ||
427 | { | ||
428 | "Name": "GetProcessKindByName", | ||
429 | "IsRemote": true, | ||
430 | "Parameters": [ | ||
431 | { | ||
432 | "Name": "processName", | ||
433 | "ParameterType": "global::System.String", | ||
434 | "ParameterTypeFullName": "System.String" | ||
435 | } | ||
436 | ], | ||
437 | "Placement": "Shared", | ||
438 | "ReturnType": "global::DirRX.DciCore.IDciProcessKind", | ||
439 | "ReturnTypeFullName": "DirRX.DciCore.IDciProcessKind, Sungero.Domain.Interfaces" | ||
440 | } | ||
441 | ], | ||
442 | "PublicStructures": [], | ||
443 | "ResourcesKeys": [ | ||
444 | "NotFoundProcessKindByProcessName", | ||
445 | "NotFoundMessageInProcessKind", | ||
446 | "NotValidDciName", | ||
447 | "IncorrectProcessName", | ||
448 | "IncorrectMessageName", | ||
449 | "NotUniqueMessageName" | ||
450 | ], | ||
451 | "RibbonCardMetadata": { | ||
452 | "NameGuid": "3deae715-fa8f-4776-8f98-e287417462bb", | ||
453 | "Name": "RibbonCard", | ||
454 | "Categories": [], | ||
455 | "Elements": [], | ||
456 | "Groups": [], | ||
457 | "IsAncestorMetadata": true, | ||
458 | "Pages": [], | ||
459 | "RibbonKind": "Card" | ||
460 | }, | ||
461 | "RibbonCollectionMetadata": { | ||
462 | "NameGuid": "34141cb0-eeb0-49d8-8b86-6ce14ac8b481", | ||
463 | "Name": "RibbonCollection", | ||
464 | "Categories": [], | ||
465 | "Elements": [], | ||
466 | "Groups": [], | ||
467 | "IsAncestorMetadata": true, | ||
468 | "Pages": [] | ||
469 | }, | ||
470 | "Versions": [ | ||
471 | { | ||
472 | "Type": "EntityMetadata", | ||
473 | "Number": 11 | ||
474 | } | ||
475 | ] | ||
476 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="NotFoundProcessKindByProcessName" xml:space="preserve"> | ||
121 | <value>В справочнике "Виды межсистемных процессов" не найдена действующая запись для процесса с именем {0}. Выполните инициализацию решения, проверьте что запись действующая.</value> | ||
122 | </data> | ||
123 | <data name="NotFoundMessageInProcessKind" xml:space="preserve"> | ||
124 | <value>В справочнике "Виды межсистемных процессов" для процесса {0} не найдено сообщение с именем {1}. Выполните инициализацию решения.</value> | ||
125 | </data> | ||
126 | <data name="NotValidDciName" xml:space="preserve"> | ||
127 | <value>Некорректное имя {0}. Имя должно содержать только буквы (латиница, кириллица), цифры и символ подчеркивания. Имя не должно начинаться с цифры.</value> | ||
128 | </data> | ||
129 | <data name="IncorrectProcessName" xml:space="preserve"> | ||
130 | <value>Измените имя вида процесса. {0}</value> | ||
131 | </data> | ||
132 | <data name="IncorrectMessageName" xml:space="preserve"> | ||
133 | <value>Измените имя сообщения. {0}</value> | ||
134 | </data> | ||
135 | <data name="NotUniqueMessageName" xml:space="preserve"> | ||
136 | <value>Имя сообщения "{0}" должно быть уникальным в разрезе процесса "{1}".</value> | ||
137 | </data> | ||
138 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="NotFoundProcessKindByProcessName" xml:space="preserve"> | ||
121 | <value>В справочнике "Виды межсистемных процессов" не найдена действующая запись для процесса с именем {0}. Выполните инициализацию решения, проверьте что запись действующая.</value> | ||
122 | </data> | ||
123 | <data name="NotFoundMessageInProcessKind" xml:space="preserve"> | ||
124 | <value>В справочнике "Виды межсистемных процессов" для процесса {0} не найдено сообщение с именем {1}. Выполните инициализацию решения.</value> | ||
125 | </data> | ||
126 | <data name="NotValidDciName" xml:space="preserve"> | ||
127 | <value>Некорректное имя {0}. Имя должно содержать только буквы (латиница, кириллица), цифры и символ подчеркивания. Имя не должно начинаться с цифры.</value> | ||
128 | </data> | ||
129 | <data name="IncorrectProcessName" xml:space="preserve"> | ||
130 | <value>Измените имя вида процесса. {0}</value> | ||
131 | </data> | ||
132 | <data name="IncorrectMessageName" xml:space="preserve"> | ||
133 | <value>Измените имя сообщения. {0}</value> | ||
134 | </data> | ||
135 | <data name="NotUniqueMessageName" xml:space="preserve"> | ||
136 | <value>Имя сообщения "{0}" должно быть уникальным в разрезе процесса "{1}".</value> | ||
137 | </data> | ||
138 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using Sungero.Core; | ||
3 | |||
4 | namespace DirRX.DciCore.Constants | ||
5 | { | ||
6 | public static class DciProcessKind | ||
7 | { | ||
8 | |||
9 | /// <summary> | ||
10 | /// Стандартные имена сообщений для синхронизации записей справочника через DCI. | ||
11 | /// </summary> | ||
12 | public static class DefaultDciMessageName | ||
13 | { | ||
14 | [Public] | ||
15 | public const string RecordChanges = "SynchronizeRecordChanges"; | ||
16 | [Public] | ||
17 | public const string RecordDeletion = "SynchronizeRecordDeletion"; | ||
18 | } | ||
19 | |||
20 | #region Процесс DCICheckLink. | ||
21 | |||
22 | /// <summary> | ||
23 | /// Значения полей для записи справочника. | ||
24 | /// </summary> | ||
25 | public static class DCICheckLinkProcess | ||
26 | { | ||
27 | [Public] | ||
28 | public static readonly Guid RecordGUID = Guid.Parse("FF629668-7663-406C-A89E-D57C0F0F4D0C"); | ||
29 | [Public] | ||
30 | public const string Name = "DCICheckLink"; | ||
31 | public const string Description = "Проверка связи между системами"; | ||
32 | public const string Note = "Отправка тестового сообщения. Используется на обложке решения."; | ||
33 | |||
34 | public static class PingMessage | ||
35 | { | ||
36 | [Public] | ||
37 | public static readonly Guid RowGUID = Guid.Parse("7A39F16B-7F3E-4D54-8807-947371282914"); | ||
38 | [Public] | ||
39 | public const string Name = "Ping"; | ||
40 | |||
41 | public const string Note = "Сообщение с тестовыми данными"; | ||
42 | } | ||
43 | |||
44 | public static class PongMessage | ||
45 | { | ||
46 | [Public] | ||
47 | public static readonly Guid RowGUID = Guid.Parse("72EC2A7B-5CAF-464A-A89E-AA9D3A40AF95"); | ||
48 | [Public] | ||
49 | public const string Name = "Pong"; | ||
50 | |||
51 | public const string Note = "Отбойник о получении сообщения"; | ||
52 | } | ||
53 | } | ||
54 | #endregion | ||
55 | |||
56 | } | ||
57 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciProcessKind; | ||
7 | |||
8 | namespace DirRX.DciCore | ||
9 | { | ||
10 | partial class DciProcessKindSharedHandlers | ||
11 | { | ||
12 | |||
13 | } | ||
14 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciProcessKind; | ||
7 | |||
8 | namespace DirRX.DciCore.Shared | ||
9 | { | ||
10 | partial class DciProcessKindFunctions | ||
11 | { | ||
12 | |||
13 | } | ||
14 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="Property_Name" xml:space="preserve"> | ||
121 | <value>Name</value> | ||
122 | </data> | ||
123 | <data name="DisplayName" xml:space="preserve"> | ||
124 | <value>Вид межсистемного процесса</value> | ||
125 | </data> | ||
126 | <data name="AccusativeDisplayName" xml:space="preserve"> | ||
127 | <value>Виды межсистемных процессов</value> | ||
128 | </data> | ||
129 | <data name="CollectionDisplayName" xml:space="preserve"> | ||
130 | <value>Виды межсистемных процессов</value> | ||
131 | </data> | ||
132 | <data name="Property_GUID" xml:space="preserve"> | ||
133 | <value>GUID записи</value> | ||
134 | </data> | ||
135 | <data name="Property_Messages" xml:space="preserve"> | ||
136 | <value>Сообщения</value> | ||
137 | </data> | ||
138 | <data name="Property_ProcessType" xml:space="preserve"> | ||
139 | <value>Тип процесса</value> | ||
140 | </data> | ||
141 | <data name="Enum_ProcessType_DataSync" xml:space="preserve"> | ||
142 | <value>Синхронизация справочника</value> | ||
143 | </data> | ||
144 | <data name="Enum_ProcessType_DocSync" xml:space="preserve"> | ||
145 | <value>Синхронизация документа</value> | ||
146 | </data> | ||
147 | <data name="Enum_ProcessType_Process" xml:space="preserve"> | ||
148 | <value>Сквозной бизнес-процесс</value> | ||
149 | </data> | ||
150 | <data name="ControlGroup_7329a31f678641d3a5fccdd3fde0e7bf" xml:space="preserve"> | ||
151 | <value /> | ||
152 | </data> | ||
153 | <data name="ControlGroup_3c2997165b104c75b13049533d077c3d" xml:space="preserve"> | ||
154 | <value>Примечания</value> | ||
155 | </data> | ||
156 | <data name="Property_Description" xml:space="preserve"> | ||
157 | <value>Описание</value> | ||
158 | </data> | ||
159 | <data name="Property_Note" xml:space="preserve"> | ||
160 | <value>Примечание</value> | ||
161 | </data> | ||
162 | <data name="ControlGroup_c424d5cc88b44f81a951b57d2eabb9da" xml:space="preserve"> | ||
163 | <value /> | ||
164 | </data> | ||
165 | <data name="ControlGroup_462ec2b8adee4c71930c660c2eeb52c8" xml:space="preserve"> | ||
166 | <value>Сообщения</value> | ||
167 | </data> | ||
168 | <data name="Property_EntityTypeGUID" xml:space="preserve"> | ||
169 | <value>GUID типа сущности</value> | ||
170 | </data> | ||
171 | <data name="Property_LastOutSyncDate" xml:space="preserve"> | ||
172 | <value>Дата последней отправки</value> | ||
173 | </data> | ||
174 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="Property_Name" xml:space="preserve"> | ||
121 | <value>Имя</value> | ||
122 | </data> | ||
123 | <data name="DisplayName" xml:space="preserve"> | ||
124 | <value>Вид межсистемного процесса</value> | ||
125 | </data> | ||
126 | <data name="AccusativeDisplayName" xml:space="preserve"> | ||
127 | <value>Виды межсистемных процессов</value> | ||
128 | </data> | ||
129 | <data name="CollectionDisplayName" xml:space="preserve"> | ||
130 | <value>Виды межсистемных процессов</value> | ||
131 | </data> | ||
132 | <data name="Property_GUID" xml:space="preserve"> | ||
133 | <value>GUID записи</value> | ||
134 | </data> | ||
135 | <data name="Property_ProcessType" xml:space="preserve"> | ||
136 | <value>Тип процесса</value> | ||
137 | </data> | ||
138 | <data name="Enum_ProcessType_DataSync" xml:space="preserve"> | ||
139 | <value>Синхронизация справочника</value> | ||
140 | </data> | ||
141 | <data name="Enum_ProcessType_Process" xml:space="preserve"> | ||
142 | <value>Сквозной бизнес-процесс</value> | ||
143 | </data> | ||
144 | <data name="Enum_ProcessType_DocSync" xml:space="preserve"> | ||
145 | <value>Синхронизация документа</value> | ||
146 | </data> | ||
147 | <data name="ControlGroup_3c2997165b104c75b13049533d077c3d" xml:space="preserve"> | ||
148 | <value>Примечания</value> | ||
149 | </data> | ||
150 | <data name="Property_Description" xml:space="preserve"> | ||
151 | <value>Описание</value> | ||
152 | </data> | ||
153 | <data name="Property_Messages" xml:space="preserve"> | ||
154 | <value>Сообщения</value> | ||
155 | </data> | ||
156 | <data name="Property_Note" xml:space="preserve"> | ||
157 | <value>Примечание</value> | ||
158 | </data> | ||
159 | <data name="ControlGroup_462ec2b8adee4c71930c660c2eeb52c8" xml:space="preserve"> | ||
160 | <value>Сообщения</value> | ||
161 | </data> | ||
162 | <data name="Property_EntityTypeGUID" xml:space="preserve"> | ||
163 | <value>GUID типа сущности</value> | ||
164 | </data> | ||
165 | <data name="Property_LastOutSyncDate" xml:space="preserve"> | ||
166 | <value>Дата последней отправки</value> | ||
167 | </data> | ||
168 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | { | ||
2 | "$type": "Sungero.Metadata.EntityMetadata, Sungero.Metadata", | ||
3 | "NameGuid": "97a41c12-ed37-4790-afd4-529b70493184", | ||
4 | "Name": "DciProcessKindMessages", | ||
5 | "AccessRightsMode": "NoRight", | ||
6 | "BaseGuid": "a3d38bf5-0414-41f6-bb33-a4621d2e5a60", | ||
7 | "CanBeNavigationPropertyType": true, | ||
8 | "Code": "DciProcessKin1", | ||
9 | "ExtraSearchProperties": [], | ||
10 | "IsChildEntity": true, | ||
11 | "Properties": [ | ||
12 | { | ||
13 | "$type": "Sungero.Metadata.NavigationPropertyMetadata, Sungero.Metadata", | ||
14 | "NameGuid": "298ffbfe-b9e8-49b2-9f67-50503d28bfaa", | ||
15 | "Name": "DciProcessKind", | ||
16 | "CanBeSearch": false, | ||
17 | "Code": "DciProcessKind", | ||
18 | "EntityGuid": "b8fb59dc-559f-40b8-8ad3-2df642ff71d5", | ||
19 | "IsReferenceToRootEntity": true, | ||
20 | "IsShowedInList": false | ||
21 | }, | ||
22 | { | ||
23 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
24 | "NameGuid": "a041d7a7-df7b-4973-8edf-c09e9b64d46a", | ||
25 | "Name": "Name", | ||
26 | "CanBeSearch": false, | ||
27 | "Code": "Name", | ||
28 | "IsEnabled": false, | ||
29 | "IsRequired": true, | ||
30 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
31 | "PreviousPropertyGuid": "298ffbfe-b9e8-49b2-9f67-50503d28bfaa" | ||
32 | }, | ||
33 | { | ||
34 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
35 | "NameGuid": "72f6b57a-e893-430d-855b-1658630682bc", | ||
36 | "Name": "Note", | ||
37 | "CanBeSearch": false, | ||
38 | "Code": "Note", | ||
39 | "Length": 1000, | ||
40 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
41 | "PreviousPropertyGuid": "a041d7a7-df7b-4973-8edf-c09e9b64d46a" | ||
42 | }, | ||
43 | { | ||
44 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
45 | "NameGuid": "43b48378-c48c-4631-b22c-c8ccbdae3bf4", | ||
46 | "Name": "RowGUID", | ||
47 | "CanBeSearch": false, | ||
48 | "Code": "RowGUID", | ||
49 | "IsEnabled": false, | ||
50 | "IsRequired": true, | ||
51 | "IsUnique": true, | ||
52 | "IsVisibility": false, | ||
53 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
54 | "PreviousPropertyGuid": "72f6b57a-e893-430d-855b-1658630682bc" | ||
55 | } | ||
56 | ], | ||
57 | "PublicStructures": [], | ||
58 | "RibbonCardMetadata": { | ||
59 | "NameGuid": "99f6c7c3-a806-41f5-bdae-9069316f5626", | ||
60 | "Name": "RibbonCard", | ||
61 | "Categories": [], | ||
62 | "Elements": [], | ||
63 | "Groups": [], | ||
64 | "IsAncestorMetadata": true, | ||
65 | "Pages": [], | ||
66 | "RibbonKind": "Card" | ||
67 | }, | ||
68 | "RibbonCollectionMetadata": { | ||
69 | "NameGuid": "53c4e4be-6d89-4fc2-8003-44582166fc12", | ||
70 | "Name": "RibbonCollection", | ||
71 | "Categories": [], | ||
72 | "Elements": [], | ||
73 | "Groups": [], | ||
74 | "IsAncestorMetadata": true, | ||
75 | "Pages": [] | ||
76 | }, | ||
77 | "Versions": [ | ||
78 | { | ||
79 | "Type": "EntityMetadata", | ||
80 | "Number": 11 | ||
81 | } | ||
82 | ] | ||
83 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
DirRX.DciCore/DirRX.DciCore.Shared/DciProcessKind@Messages/DciProcessKindMessages.ru.resx
0 → 100644
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
DirRX.DciCore/DirRX.DciCore.Shared/DciProcessKind@Messages/DciProcessKindMessagesSystem.resx
0 → 100644
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="Property_Name" xml:space="preserve"> | ||
121 | <value>Имя сообщения</value> | ||
122 | </data> | ||
123 | <data name="Property_Note" xml:space="preserve"> | ||
124 | <value>Примечание</value> | ||
125 | </data> | ||
126 | <data name="Property_RowGUID" xml:space="preserve"> | ||
127 | <value>GUID строки</value> | ||
128 | </data> | ||
129 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
DirRX.DciCore/DirRX.DciCore.Shared/DciProcessKind@Messages/DciProcessKindMessagesSystem.ru.resx
0 → 100644
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="Property_Name" xml:space="preserve"> | ||
121 | <value>Имя сообщения</value> | ||
122 | </data> | ||
123 | <data name="Property_Note" xml:space="preserve"> | ||
124 | <value>Примечание</value> | ||
125 | </data> | ||
126 | <data name="Property_RowGUID" xml:space="preserve"> | ||
127 | <value>GUID строки</value> | ||
128 | </data> | ||
129 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | { | ||
2 | "$type": "Sungero.Metadata.EntityMetadata, Sungero.Metadata", | ||
3 | "NameGuid": "0a291244-941b-4006-8497-06ecd1fabca4", | ||
4 | "Name": "DciSetting", | ||
5 | "BaseGuid": "04581d26-0780-4cfd-b3cd-c2cafc5798b0", | ||
6 | "CanBeNavigationPropertyType": true, | ||
7 | "Code": "DciSetting", | ||
8 | "CreationAreaMetadata": { | ||
9 | "NameGuid": "f7766750-eee2-4fcd-8003-5c06a90d1f44", | ||
10 | "Name": "CreationArea", | ||
11 | "Buttons": [], | ||
12 | "IsAncestorMetadata": true | ||
13 | }, | ||
14 | "ExtraSearchProperties": [], | ||
15 | "FilterPanel": { | ||
16 | "NameGuid": "b0125fbd-3b91-4dbb-914a-689276216404", | ||
17 | "Name": "FilterPanel", | ||
18 | "Controls": [], | ||
19 | "IsAncestorMetadata": true | ||
20 | }, | ||
21 | "Forms": [ | ||
22 | { | ||
23 | "$type": "Sungero.Metadata.StandaloneFormMetadata, Sungero.Metadata", | ||
24 | "NameGuid": "f345093b-e6c2-4742-85eb-bc661cd50bee", | ||
25 | "Name": "Card", | ||
26 | "Controls": [ | ||
27 | { | ||
28 | "$type": "Sungero.Metadata.ControlGroupMetadata, Sungero.Metadata", | ||
29 | "NameGuid": "be475439-282f-4f2d-b313-5efcff782627", | ||
30 | "Name": "ControlGroup" | ||
31 | }, | ||
32 | { | ||
33 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
34 | "NameGuid": "662ffa75-a86a-4ed0-98f8-a0ee5d7d5b63", | ||
35 | "Name": "Control", | ||
36 | "ColumnNumber": 0, | ||
37 | "ColumnSpan": 1, | ||
38 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
39 | "ParentGuid": "be475439-282f-4f2d-b313-5efcff782627", | ||
40 | "PropertyGuid": "f9c79369-67c9-44e3-9f14-48aaec8cf3cd", | ||
41 | "RowNumber": 0, | ||
42 | "RowSpan": 1, | ||
43 | "Settings": [] | ||
44 | }, | ||
45 | { | ||
46 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
47 | "NameGuid": "d2fb7766-a0ad-4991-b508-9c86ac60d5df", | ||
48 | "Name": "AdapterServiceUrl", | ||
49 | "ColumnNumber": 0, | ||
50 | "ColumnSpan": 1, | ||
51 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
52 | "ParentGuid": "be475439-282f-4f2d-b313-5efcff782627", | ||
53 | "PropertyGuid": "e3ba2ddd-ad59-4ace-9688-67417dfb265f", | ||
54 | "RowNumber": 1, | ||
55 | "RowSpan": 1, | ||
56 | "Settings": [] | ||
57 | }, | ||
58 | { | ||
59 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
60 | "NameGuid": "2ef7e302-252c-4213-b34a-8c82631497ec", | ||
61 | "Name": "AdapterSiteUrl", | ||
62 | "ColumnNumber": 0, | ||
63 | "ColumnSpan": 1, | ||
64 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
65 | "ParentGuid": "be475439-282f-4f2d-b313-5efcff782627", | ||
66 | "PropertyGuid": "f9c3fb20-883c-4ba7-984b-2224755a3357", | ||
67 | "RowNumber": 2, | ||
68 | "RowSpan": 1, | ||
69 | "Settings": [] | ||
70 | }, | ||
71 | { | ||
72 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
73 | "NameGuid": "a434e717-94c3-4087-81c4-0f073cd77490", | ||
74 | "Name": "ExchangeFolder", | ||
75 | "ColumnNumber": 0, | ||
76 | "ColumnSpan": 1, | ||
77 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
78 | "ParentGuid": "be475439-282f-4f2d-b313-5efcff782627", | ||
79 | "PropertyGuid": "7c6189ac-312c-4db9-9a12-e616c925ad8b", | ||
80 | "RowNumber": 3, | ||
81 | "RowSpan": 1, | ||
82 | "Settings": [] | ||
83 | }, | ||
84 | { | ||
85 | "$type": "Sungero.Metadata.ControlMetadata, Sungero.Metadata", | ||
86 | "NameGuid": "f6c42c4c-6cf9-4f56-a9a6-388d6f2ae07f", | ||
87 | "Name": "ExternalSystemID", | ||
88 | "ColumnNumber": 0, | ||
89 | "ColumnSpan": 1, | ||
90 | "DataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
91 | "ParentGuid": "be475439-282f-4f2d-b313-5efcff782627", | ||
92 | "PropertyGuid": "7a5df22a-5e04-408b-a8c3-907e030a2b9e", | ||
93 | "RowNumber": 4, | ||
94 | "RowSpan": 1, | ||
95 | "Settings": [] | ||
96 | } | ||
97 | ] | ||
98 | } | ||
99 | ], | ||
100 | "HideFromCreationArea": true, | ||
101 | "HideFromNavigationEditorCreationArea": true, | ||
102 | "IconResourcesKeys": [], | ||
103 | "IsAutoCreated": true, | ||
104 | "IsVisible": false, | ||
105 | "OperationsClass": "", | ||
106 | "Overridden": [ | ||
107 | "HideFromCreationArea", | ||
108 | "HideFromNavigationEditorCreationArea", | ||
109 | "IsAutoCreated", | ||
110 | "IsVisible" | ||
111 | ], | ||
112 | "Properties": [ | ||
113 | { | ||
114 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
115 | "NameGuid": "f9c79369-67c9-44e3-9f14-48aaec8cf3cd", | ||
116 | "Name": "SystemID", | ||
117 | "Code": "SystemID", | ||
118 | "IsDisplayValue": true, | ||
119 | "IsQuickSearchAllowed": true, | ||
120 | "IsRequired": true, | ||
121 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
122 | "PreviousPropertyGuid": "7a5df22a-5e04-408b-a8c3-907e030a2b9e" | ||
123 | }, | ||
124 | { | ||
125 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
126 | "NameGuid": "e3ba2ddd-ad59-4ace-9688-67417dfb265f", | ||
127 | "Name": "AdapterServiceUrl", | ||
128 | "Code": "AdapterService", | ||
129 | "IsRequired": true, | ||
130 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
131 | "PreviousPropertyGuid": "1dcedc29-5140-4770-ac92-eabc212326a1" | ||
132 | }, | ||
133 | { | ||
134 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
135 | "NameGuid": "f9c3fb20-883c-4ba7-984b-2224755a3357", | ||
136 | "Name": "AdapterSiteUrl", | ||
137 | "Code": "AdapterSiteUrl", | ||
138 | "IsRequired": true, | ||
139 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
140 | "PreviousPropertyGuid": "e3ba2ddd-ad59-4ace-9688-67417dfb265f" | ||
141 | }, | ||
142 | { | ||
143 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
144 | "NameGuid": "7c6189ac-312c-4db9-9a12-e616c925ad8b", | ||
145 | "Name": "ExchangeFolder", | ||
146 | "Code": "ExchangeFolder", | ||
147 | "IsRequired": true, | ||
148 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
149 | "PreviousPropertyGuid": "f9c3fb20-883c-4ba7-984b-2224755a3357" | ||
150 | }, | ||
151 | { | ||
152 | "$type": "Sungero.Metadata.StringPropertyMetadata, Sungero.Metadata", | ||
153 | "NameGuid": "7a5df22a-5e04-408b-a8c3-907e030a2b9e", | ||
154 | "Name": "ExternalSystemID", | ||
155 | "Code": "ExternalSystem", | ||
156 | "IsRequired": true, | ||
157 | "ListDataBinderTypeName": "Sungero.Presentation.CommonDataBinders.StringEditorToStringBinder", | ||
158 | "PreviousPropertyGuid": "7c6189ac-312c-4db9-9a12-e616c925ad8b" | ||
159 | } | ||
160 | ], | ||
161 | "PublicFunctions": [ | ||
162 | { | ||
163 | "Name": "CreateDciSetting", | ||
164 | "IsRemote": true, | ||
165 | "Placement": "Shared", | ||
166 | "ReturnType": "global::DirRX.DciCore.IDciSetting", | ||
167 | "ReturnTypeFullName": "DirRX.DciCore.IDciSetting, Sungero.Domain.Interfaces" | ||
168 | }, | ||
169 | { | ||
170 | "Name": "GetDciSettings", | ||
171 | "IsRemote": true, | ||
172 | "Placement": "Shared", | ||
173 | "ReturnType": "global::DirRX.DciCore.IDciSetting", | ||
174 | "ReturnTypeFullName": "DirRX.DciCore.IDciSetting, Sungero.Domain.Interfaces" | ||
175 | } | ||
176 | ], | ||
177 | "PublicStructures": [], | ||
178 | "ResourcesKeys": [], | ||
179 | "RibbonCardMetadata": { | ||
180 | "NameGuid": "c1dff1ab-43e0-497c-85fb-e8027625d8ef", | ||
181 | "Name": "RibbonCard", | ||
182 | "Categories": [], | ||
183 | "Elements": [], | ||
184 | "Groups": [], | ||
185 | "IsAncestorMetadata": true, | ||
186 | "Pages": [], | ||
187 | "RibbonKind": "Card" | ||
188 | }, | ||
189 | "RibbonCollectionMetadata": { | ||
190 | "NameGuid": "4a2db3f3-683e-470a-a1b3-ead1b910d269", | ||
191 | "Name": "RibbonCollection", | ||
192 | "Categories": [], | ||
193 | "Elements": [], | ||
194 | "Groups": [], | ||
195 | "IsAncestorMetadata": true, | ||
196 | "Pages": [] | ||
197 | }, | ||
198 | "Versions": [ | ||
199 | { | ||
200 | "Type": "EntityMetadata", | ||
201 | "Number": 11 | ||
202 | } | ||
203 | ] | ||
204 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciSetting; | ||
7 | |||
8 | namespace DirRX.DciCore | ||
9 | { | ||
10 | partial class DciSettingSharedHandlers | ||
11 | { | ||
12 | |||
13 | } | ||
14 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | using DirRX.DciCore.DciSetting; | ||
7 | |||
8 | namespace DirRX.DciCore.Shared | ||
9 | { | ||
10 | partial class DciSettingFunctions | ||
11 | { | ||
12 | |||
13 | } | ||
14 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="Property_SystemID" xml:space="preserve"> | ||
121 | <value>Идентификатор системы</value> | ||
122 | </data> | ||
123 | <data name="DisplayName" xml:space="preserve"> | ||
124 | <value>Настройка DCI</value> | ||
125 | </data> | ||
126 | <data name="AccusativeDisplayName" xml:space="preserve"> | ||
127 | <value>Настройки DCI</value> | ||
128 | </data> | ||
129 | <data name="CollectionDisplayName" xml:space="preserve"> | ||
130 | <value>Настройки DCI</value> | ||
131 | </data> | ||
132 | <data name="Property_AdapterServiceUrl" xml:space="preserve"> | ||
133 | <value>Url адаптера</value> | ||
134 | </data> | ||
135 | <data name="Property_AdapterSiteUrl" xml:space="preserve"> | ||
136 | <value>Адрес сайта адаптера</value> | ||
137 | </data> | ||
138 | <data name="Property_ExchangeFolder" xml:space="preserve"> | ||
139 | <value>Папка обмена</value> | ||
140 | </data> | ||
141 | <data name="Property_ExternalSystemID" xml:space="preserve"> | ||
142 | <value>Идентификатор внешней системы</value> | ||
143 | </data> | ||
144 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="Property_SystemID" xml:space="preserve"> | ||
121 | <value>Идентификатор системы</value> | ||
122 | </data> | ||
123 | <data name="DisplayName" xml:space="preserve"> | ||
124 | <value>Настройка DCI</value> | ||
125 | </data> | ||
126 | <data name="AccusativeDisplayName" xml:space="preserve"> | ||
127 | <value>Настройки DCI</value> | ||
128 | </data> | ||
129 | <data name="CollectionDisplayName" xml:space="preserve"> | ||
130 | <value>Настройки DCI</value> | ||
131 | </data> | ||
132 | <data name="Property_AdapterServiceUrl" xml:space="preserve"> | ||
133 | <value>Url адаптера</value> | ||
134 | </data> | ||
135 | <data name="Property_AdapterSiteUrl" xml:space="preserve"> | ||
136 | <value>Адрес сайта адаптера</value> | ||
137 | </data> | ||
138 | <data name="Property_ExchangeFolder" xml:space="preserve"> | ||
139 | <value>Папка обмена</value> | ||
140 | </data> | ||
141 | <data name="Property_ExternalSystemID" xml:space="preserve"> | ||
142 | <value>Идентификатор внешней системы</value> | ||
143 | </data> | ||
144 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | { | ||
2 | "$type": "Sungero.Metadata.ModuleMetadata, Sungero.Metadata", | ||
3 | "NameGuid": "9467e108-745e-47d5-ab30-7e82cb4d5f13", | ||
4 | "Name": "DciCore", | ||
5 | "AsyncHandlers": [ | ||
6 | { | ||
7 | "NameGuid": "a03678a5-178b-4a4f-9c0e-fb5d2ddbef33", | ||
8 | "Name": "ReceiveProcessMessage", | ||
9 | "DelayPeriod": 5, | ||
10 | "DelayStrategy": "RegularDelayStrategy", | ||
11 | "IsHandlerGenerated": true, | ||
12 | "Parameters": [ | ||
13 | { | ||
14 | "NameGuid": "7a48357c-a513-4920-972a-07c2f5904c12", | ||
15 | "Name": "MessageGUID", | ||
16 | "ParameterType": "String" | ||
17 | } | ||
18 | ] | ||
19 | }, | ||
20 | { | ||
21 | "NameGuid": "76d6a6af-4016-471d-a784-780ffaf23255", | ||
22 | "Name": "SendProcessMessage", | ||
23 | "DelayPeriod": 5, | ||
24 | "DelayStrategy": "RegularDelayStrategy", | ||
25 | "IsHandlerGenerated": true, | ||
26 | "Parameters": [ | ||
27 | { | ||
28 | "NameGuid": "56b7aed1-4256-4fd0-a0a4-dbf8bea4a0be", | ||
29 | "Name": "NameProcessKind", | ||
30 | "ParameterType": "String" | ||
31 | }, | ||
32 | { | ||
33 | "NameGuid": "97c34765-74ad-45d7-9941-163e93180b5b", | ||
34 | "Name": "IdProcessKind", | ||
35 | "ParameterType": "Integer" | ||
36 | } | ||
37 | ] | ||
38 | } | ||
39 | ], | ||
40 | "ClientAssemblyName": "DirRX.DciCore.Client", | ||
41 | "ClientBaseAssemblyName": "DirRX.DciCore.ClientBase", | ||
42 | "ClientBaseNamespace": "DirRX.DciCore.ClientBase", | ||
43 | "ClientNamespace": "DirRX.DciCore.Client", | ||
44 | "Code": "DciCore", | ||
45 | "CompanyCode": "DirRX", | ||
46 | "Cover": { | ||
47 | "NameGuid": "65e41069-aeb8-4d31-89f5-48d2ef52d6fc", | ||
48 | "Actions": [ | ||
49 | { | ||
50 | "$type": "Sungero.Metadata.CoverFunctionActionMetadata, Sungero.Metadata", | ||
51 | "NameGuid": "11ef9367-22e7-4afc-b340-21ae67bd2720", | ||
52 | "Name": "Settings", | ||
53 | "FunctionName": "ShowDciSettings", | ||
54 | "GroupId": "19b2648e-125a-4c5f-8421-79d45577097f" | ||
55 | }, | ||
56 | { | ||
57 | "$type": "Sungero.Metadata.CoverEntityListActionMetadata, Sungero.Metadata", | ||
58 | "NameGuid": "7f422a54-2157-4ecb-bca1-31820e781997", | ||
59 | "Name": "DciProcessKinds", | ||
60 | "EntityTypeId": "b8fb59dc-559f-40b8-8ad3-2df642ff71d5", | ||
61 | "GroupId": "19b2648e-125a-4c5f-8421-79d45577097f", | ||
62 | "PreviousItemGuid": "11ef9367-22e7-4afc-b340-21ae67bd2720" | ||
63 | }, | ||
64 | { | ||
65 | "$type": "Sungero.Metadata.CoverFunctionActionMetadata, Sungero.Metadata", | ||
66 | "NameGuid": "a0a59ad8-8975-4014-8aa1-f55021a9461c", | ||
67 | "Name": "PingMessage", | ||
68 | "FunctionName": "SendDciPingMessage", | ||
69 | "GroupId": "19b2648e-125a-4c5f-8421-79d45577097f", | ||
70 | "PreviousItemGuid": "7f422a54-2157-4ecb-bca1-31820e781997" | ||
71 | } | ||
72 | ], | ||
73 | "Background": null, | ||
74 | "Footer": { | ||
75 | "NameGuid": "203ad4b2-8694-45db-953c-0a575e4463c7", | ||
76 | "BackgroundPosition": "Stretch" | ||
77 | }, | ||
78 | "Groups": [ | ||
79 | { | ||
80 | "NameGuid": "19b2648e-125a-4c5f-8421-79d45577097f", | ||
81 | "Name": "GroupSettings", | ||
82 | "BackgroundPosition": "Stretch", | ||
83 | "IconName": "GroupIconGroupSettings_19b2648e125a4c5f842179d45577097f.png", | ||
84 | "TabId": "cd167a53-6a5b-4f1a-bfda-dee3daa70d51" | ||
85 | } | ||
86 | ], | ||
87 | "Header": { | ||
88 | "NameGuid": "235fce62-6dfd-4824-8bfd-e566dccbd864", | ||
89 | "BackgroundPosition": "Stretch" | ||
90 | }, | ||
91 | "Tabs": [ | ||
92 | { | ||
93 | "NameGuid": "cd167a53-6a5b-4f1a-bfda-dee3daa70d51", | ||
94 | "Name": "Tab" | ||
95 | } | ||
96 | ] | ||
97 | }, | ||
98 | "Dependencies": [ | ||
99 | { | ||
100 | "Id": "f380c872-469a-4014-9ce5-ffb840907fc6", | ||
101 | "IsSolutionModule": true, | ||
102 | "MaxVersion": "", | ||
103 | "MinVersion": "" | ||
104 | }, | ||
105 | { | ||
106 | "Id": "92491aa6-c4df-4f46-a807-ebdd337bda74", | ||
107 | "MaxVersion": "", | ||
108 | "MinVersion": "1.1.0.0" | ||
109 | }, | ||
110 | { | ||
111 | "Id": "ec7b606a-21ee-4f16-aba8-ab8c2af76d12", | ||
112 | "MaxVersion": "", | ||
113 | "MinVersion": "0.0.1.0" | ||
114 | } | ||
115 | ], | ||
116 | "ExplorerTreeOrder": [ | ||
117 | { | ||
118 | "ItemId": "0a291244-941b-4006-8497-06ecd1fabca4" | ||
119 | }, | ||
120 | { | ||
121 | "ItemId": "b8fb59dc-559f-40b8-8ad3-2df642ff71d5", | ||
122 | "PreviousItemId": "0a291244-941b-4006-8497-06ecd1fabca4" | ||
123 | } | ||
124 | ], | ||
125 | "HandledEvents": [ | ||
126 | "InitializingServer" | ||
127 | ], | ||
128 | "IconResourcesKeys": [], | ||
129 | "Importance": "Low", | ||
130 | "InitializationFunctions": [ | ||
131 | { | ||
132 | "Name": "AddProcessMessage", | ||
133 | "Parameters": [ | ||
134 | { | ||
135 | "Name": "processKind", | ||
136 | "ParameterType": "global::DirRX.DciCore.IDciProcessKind", | ||
137 | "ParameterTypeFullName": "DirRX.DciCore.IDciProcessKind, Sungero.Domain.Interfaces" | ||
138 | }, | ||
139 | { | ||
140 | "Name": "rowGUID", | ||
141 | "ParameterType": "global::System.Guid", | ||
142 | "ParameterTypeFullName": "System.Guid" | ||
143 | }, | ||
144 | { | ||
145 | "Name": "messageName", | ||
146 | "ParameterType": "global::System.String", | ||
147 | "ParameterTypeFullName": "System.String" | ||
148 | }, | ||
149 | { | ||
150 | "Name": "messageNote", | ||
151 | "ParameterType": "global::System.String", | ||
152 | "ParameterTypeFullName": "System.String" | ||
153 | } | ||
154 | ], | ||
155 | "ReturnType": "void", | ||
156 | "ReturnTypeFullName": "System.Void" | ||
157 | }, | ||
158 | { | ||
159 | "Name": "CreateProcessKind", | ||
160 | "Parameters": [ | ||
161 | { | ||
162 | "Name": "guid", | ||
163 | "ParameterType": "global::System.Guid", | ||
164 | "ParameterTypeFullName": "System.Guid" | ||
165 | }, | ||
166 | { | ||
167 | "Name": "processName", | ||
168 | "ParameterType": "global::System.String", | ||
169 | "ParameterTypeFullName": "System.String" | ||
170 | }, | ||
171 | { | ||
172 | "Name": "note", | ||
173 | "ParameterType": "global::System.String", | ||
174 | "ParameterTypeFullName": "System.String" | ||
175 | }, | ||
176 | { | ||
177 | "Name": "description", | ||
178 | "ParameterType": "global::System.String", | ||
179 | "ParameterTypeFullName": "System.String" | ||
180 | }, | ||
181 | { | ||
182 | "Name": "processType", | ||
183 | "ParameterType": "global::Sungero.Core.Enumeration", | ||
184 | "ParameterTypeFullName": "Sungero.Core.Enumeration, Sungero.Domain.Shared" | ||
185 | }, | ||
186 | { | ||
187 | "Name": "entityTypeGuid", | ||
188 | "ParameterType": "global::System.Guid", | ||
189 | "ParameterTypeFullName": "System.Guid" | ||
190 | }, | ||
191 | { | ||
192 | "Name": "startSyncDate", | ||
193 | "ParameterType": "global::System.DateTime", | ||
194 | "ParameterTypeFullName": "System.DateTime" | ||
195 | } | ||
196 | ], | ||
197 | "ReturnType": "global::DirRX.DciCore.IDciProcessKind", | ||
198 | "ReturnTypeFullName": "DirRX.DciCore.IDciProcessKind, Sungero.Domain.Interfaces" | ||
199 | } | ||
200 | ], | ||
201 | "InterfaceAssemblyName": "Sungero.Domain.Interfaces", | ||
202 | "InterfaceNamespace": "DirRX.DciCore", | ||
203 | "Jobs": [ | ||
204 | { | ||
205 | "NameGuid": "c22dcae5-4d53-4637-a2b8-136f4e75666d", | ||
206 | "Name": "SendEntitiesToDciSynchronization", | ||
207 | "Daily": "Repeat", | ||
208 | "GenerateHandler": true, | ||
209 | "IsEnabled": false, | ||
210 | "MonthSchedule": "Monthly", | ||
211 | "TimePeriod": 30 | ||
212 | } | ||
213 | ], | ||
214 | "Libraries": [ | ||
215 | { | ||
216 | "NameGuid": "eb3bcb57-e730-4f30-b9e3-7eb254b7fd6c", | ||
217 | "Name": "Dci", | ||
218 | "Scope": "Server" | ||
219 | } | ||
220 | ], | ||
221 | "Overridden": [ | ||
222 | "Importance" | ||
223 | ], | ||
224 | "PublicConstants": [ | ||
225 | { | ||
226 | "Name": "Active", | ||
227 | "ParentClasses": [ | ||
228 | "Module", | ||
229 | "D5StatusName" | ||
230 | ], | ||
231 | "TypeName": "System.String", | ||
232 | "Value": "\"Действующая\"" | ||
233 | }, | ||
234 | { | ||
235 | "Name": "Closed", | ||
236 | "ParentClasses": [ | ||
237 | "Module", | ||
238 | "D5StatusName" | ||
239 | ], | ||
240 | "TypeName": "System.String", | ||
241 | "Value": "\"Закрытая\"" | ||
242 | }, | ||
243 | { | ||
244 | "Name": "EntityIsLocked", | ||
245 | "ParentClasses": [ | ||
246 | "Module", | ||
247 | "ErrorType" | ||
248 | ], | ||
249 | "TypeName": "System.String", | ||
250 | "Value": "\"EntityIsLocked\"" | ||
251 | } | ||
252 | ], | ||
253 | "PublicFunctions": [ | ||
254 | { | ||
255 | "Name": "Base64ToString", | ||
256 | "Parameters": [ | ||
257 | { | ||
258 | "Name": "value", | ||
259 | "ParameterType": "global::System.String", | ||
260 | "ParameterTypeFullName": "System.String" | ||
261 | } | ||
262 | ], | ||
263 | "Placement": "Shared", | ||
264 | "ReturnType": "global::System.String", | ||
265 | "ReturnTypeFullName": "System.String" | ||
266 | }, | ||
267 | { | ||
268 | "Name": "ConvertD5StatusToRXStatus", | ||
269 | "Parameters": [ | ||
270 | { | ||
271 | "Name": "d5Status", | ||
272 | "ParameterType": "global::System.String", | ||
273 | "ParameterTypeFullName": "System.String" | ||
274 | } | ||
275 | ], | ||
276 | "Placement": "Shared", | ||
277 | "ReturnType": "global::System.Nullable<global::Sungero.Core.Enumeration>", | ||
278 | "ReturnTypeFullName": "System.Nullable" | ||
279 | }, | ||
280 | { | ||
281 | "Name": "ConvertRXStatusToD5Status", | ||
282 | "Parameters": [ | ||
283 | { | ||
284 | "Name": "rxStatus", | ||
285 | "ParameterType": "global::System.Nullable<global::Sungero.Core.Enumeration>", | ||
286 | "ParameterTypeFullName": "System.Nullable" | ||
287 | } | ||
288 | ], | ||
289 | "Placement": "Shared", | ||
290 | "ReturnType": "global::System.String", | ||
291 | "ReturnTypeFullName": "System.String" | ||
292 | }, | ||
293 | { | ||
294 | "Name": "ConvertTextRXStatusToRXStatus", | ||
295 | "Parameters": [ | ||
296 | { | ||
297 | "Name": "stringStatus", | ||
298 | "ParameterType": "global::System.String", | ||
299 | "ParameterTypeFullName": "System.String" | ||
300 | } | ||
301 | ], | ||
302 | "Placement": "Shared", | ||
303 | "ReturnType": "global::System.Nullable<global::Sungero.Core.Enumeration>", | ||
304 | "ReturnTypeFullName": "System.Nullable" | ||
305 | }, | ||
306 | { | ||
307 | "Name": "DateTimeToDciString", | ||
308 | "Parameters": [ | ||
309 | { | ||
310 | "Name": "value", | ||
311 | "ParameterType": "global::System.DateTime", | ||
312 | "ParameterTypeFullName": "System.DateTime" | ||
313 | } | ||
314 | ], | ||
315 | "ReturnType": "global::System.String", | ||
316 | "ReturnTypeFullName": "System.String" | ||
317 | }, | ||
318 | { | ||
319 | "Name": "DateToDciString", | ||
320 | "Parameters": [ | ||
321 | { | ||
322 | "Name": "value", | ||
323 | "ParameterType": "global::System.DateTime", | ||
324 | "ParameterTypeFullName": "System.DateTime" | ||
325 | } | ||
326 | ], | ||
327 | "ReturnType": "global::System.String", | ||
328 | "ReturnTypeFullName": "System.String" | ||
329 | }, | ||
330 | { | ||
331 | "Name": "DeleteEntityByProcessName", | ||
332 | "IsRemote": true, | ||
333 | "Parameters": [ | ||
334 | { | ||
335 | "Name": "entityId", | ||
336 | "ParameterType": "global::System.Int32", | ||
337 | "ParameterTypeFullName": "System.Int32" | ||
338 | }, | ||
339 | { | ||
340 | "Name": "entityTypeGuid", | ||
341 | "ParameterType": "global::System.String", | ||
342 | "ParameterTypeFullName": "System.String" | ||
343 | }, | ||
344 | { | ||
345 | "Name": "processName", | ||
346 | "ParameterType": "global::System.String", | ||
347 | "ParameterTypeFullName": "System.String" | ||
348 | } | ||
349 | ], | ||
350 | "Placement": "Shared", | ||
351 | "ReturnType": "global::System.String", | ||
352 | "ReturnTypeFullName": "System.String" | ||
353 | }, | ||
354 | { | ||
355 | "Name": "EnqueueDciMessage", | ||
356 | "Parameters": [ | ||
357 | { | ||
358 | "Name": "processMessageGlobalId", | ||
359 | "ParameterType": "global::System.String", | ||
360 | "ParameterTypeFullName": "System.String" | ||
361 | } | ||
362 | ], | ||
363 | "ReturnType": "global::System.String", | ||
364 | "ReturnTypeFullName": "System.String", | ||
365 | "WebApiRequestType": "Post" | ||
366 | }, | ||
367 | { | ||
368 | "Name": "GetAllEntityLinksByGuid", | ||
369 | "IsRemote": true, | ||
370 | "Parameters": [ | ||
371 | { | ||
372 | "Name": "guid", | ||
373 | "ParameterType": "global::System.String", | ||
374 | "ParameterTypeFullName": "System.String" | ||
375 | } | ||
376 | ], | ||
377 | "Placement": "Shared", | ||
378 | "ReturnType": "global::System.Linq.IQueryable<global::Sungero.Commons.IExternalEntityLink>", | ||
379 | "ReturnTypeFullName": "System.Linq.IQueryable" | ||
380 | }, | ||
381 | { | ||
382 | "Name": "GetChangedDatabookRecords", | ||
383 | "Parameters": [ | ||
384 | { | ||
385 | "Name": "baseGuid", | ||
386 | "ParameterType": "global::System.String", | ||
387 | "ParameterTypeFullName": "System.String" | ||
388 | }, | ||
389 | { | ||
390 | "Name": "dateBegin", | ||
391 | "ParameterType": "global::System.DateTime", | ||
392 | "ParameterTypeFullName": "System.DateTime" | ||
393 | }, | ||
394 | { | ||
395 | "Name": "dateEnd", | ||
396 | "ParameterType": "global::System.DateTime", | ||
397 | "ParameterTypeFullName": "System.DateTime" | ||
398 | } | ||
399 | ], | ||
400 | "ReturnType": "global::System.Linq.IQueryable<global::System.Int32>", | ||
401 | "ReturnTypeFullName": "System.Linq.IQueryable" | ||
402 | }, | ||
403 | { | ||
404 | "Name": "GetDatabookEntityById", | ||
405 | "IsRemote": true, | ||
406 | "Parameters": [ | ||
407 | { | ||
408 | "Name": "entityId", | ||
409 | "ParameterType": "global::System.Int32", | ||
410 | "ParameterTypeFullName": "System.Int32" | ||
411 | }, | ||
412 | { | ||
413 | "Name": "entityTypeGuid", | ||
414 | "ParameterType": "global::System.String", | ||
415 | "ParameterTypeFullName": "System.String" | ||
416 | } | ||
417 | ], | ||
418 | "Placement": "Shared", | ||
419 | "ReturnType": "global::Sungero.CoreEntities.IDatabookEntry", | ||
420 | "ReturnTypeFullName": "Sungero.CoreEntities.IDatabookEntry, Sungero.Domain.Shared" | ||
421 | }, | ||
422 | { | ||
423 | "Name": "GetDCIMessageNameByEntity", | ||
424 | "Parameters": [ | ||
425 | { | ||
426 | "Name": "entity", | ||
427 | "ParameterType": "global::Sungero.CoreEntities.IDatabookEntry", | ||
428 | "ParameterTypeFullName": "Sungero.CoreEntities.IDatabookEntry, Sungero.Domain.Shared" | ||
429 | } | ||
430 | ], | ||
431 | "ReturnType": "global::System.String", | ||
432 | "ReturnTypeFullName": "System.String" | ||
433 | }, | ||
434 | { | ||
435 | "Name": "GetEntityIdByGuid", | ||
436 | "IsRemote": true, | ||
437 | "Parameters": [ | ||
438 | { | ||
439 | "Name": "guid", | ||
440 | "ParameterType": "global::System.String", | ||
441 | "ParameterTypeFullName": "System.String" | ||
442 | } | ||
443 | ], | ||
444 | "Placement": "Shared", | ||
445 | "ReturnType": "global::System.Int32", | ||
446 | "ReturnTypeFullName": "System.Int32" | ||
447 | }, | ||
448 | { | ||
449 | "Name": "GetEntityLinkByGuid", | ||
450 | "IsRemote": true, | ||
451 | "Parameters": [ | ||
452 | { | ||
453 | "Name": "guid", | ||
454 | "ParameterType": "global::System.String", | ||
455 | "ParameterTypeFullName": "System.String" | ||
456 | } | ||
457 | ], | ||
458 | "Placement": "Shared", | ||
459 | "ReturnType": "global::Sungero.Commons.IExternalEntityLink", | ||
460 | "ReturnTypeFullName": "Sungero.Commons.IExternalEntityLink, Sungero.Domain.Interfaces" | ||
461 | }, | ||
462 | { | ||
463 | "Name": "GetExternalEntityLink", | ||
464 | "IsRemote": true, | ||
465 | "Parameters": [ | ||
466 | { | ||
467 | "Name": "entityId", | ||
468 | "ParameterType": "global::System.Int32", | ||
469 | "ParameterTypeFullName": "System.Int32" | ||
470 | }, | ||
471 | { | ||
472 | "Name": "entityTypeGuid", | ||
473 | "ParameterType": "global::System.String", | ||
474 | "ParameterTypeFullName": "System.String" | ||
475 | }, | ||
476 | { | ||
477 | "Name": "externalSystemID", | ||
478 | "ParameterType": "global::System.String", | ||
479 | "ParameterTypeFullName": "System.String" | ||
480 | } | ||
481 | ], | ||
482 | "Placement": "Shared", | ||
483 | "ReturnType": "global::Sungero.Commons.IExternalEntityLink", | ||
484 | "ReturnTypeFullName": "Sungero.Commons.IExternalEntityLink, Sungero.Domain.Interfaces" | ||
485 | }, | ||
486 | { | ||
487 | "Name": "GetHyperlinkToDciProcess", | ||
488 | "Parameters": [ | ||
489 | { | ||
490 | "Name": "setting", | ||
491 | "ParameterType": "global::DirRX.DciCore.IDciSetting", | ||
492 | "ParameterTypeFullName": "DirRX.DciCore.IDciSetting, Sungero.Domain.Interfaces" | ||
493 | }, | ||
494 | { | ||
495 | "Name": "processGUID", | ||
496 | "ParameterType": "global::System.String", | ||
497 | "ParameterTypeFullName": "System.String" | ||
498 | } | ||
499 | ], | ||
500 | "Placement": "Shared", | ||
501 | "ReturnType": "global::System.String", | ||
502 | "ReturnTypeFullName": "System.String" | ||
503 | }, | ||
504 | { | ||
505 | "Name": "SendDciPing", | ||
506 | "IsRemote": true, | ||
507 | "Placement": "Shared", | ||
508 | "ReturnType": "global::System.String", | ||
509 | "ReturnTypeFullName": "System.String" | ||
510 | }, | ||
511 | { | ||
512 | "Name": "SendDciPingMessage", | ||
513 | "Placement": "Client", | ||
514 | "ReturnType": "void", | ||
515 | "ReturnTypeFullName": "System.Void" | ||
516 | }, | ||
517 | { | ||
518 | "Name": "SendNotificatiobAboutReceiveErrors", | ||
519 | "Parameters": [ | ||
520 | { | ||
521 | "Name": "errors", | ||
522 | "ParameterType": "System.Collections.Generic.IList<global::System.String>" | ||
523 | }, | ||
524 | { | ||
525 | "Name": "processName", | ||
526 | "ParameterType": "global::System.String", | ||
527 | "ParameterTypeFullName": "System.String" | ||
528 | }, | ||
529 | { | ||
530 | "Name": "processGUID", | ||
531 | "ParameterType": "global::System.String", | ||
532 | "ParameterTypeFullName": "System.String" | ||
533 | }, | ||
534 | { | ||
535 | "Name": "messageName", | ||
536 | "ParameterType": "global::System.String", | ||
537 | "ParameterTypeFullName": "System.String" | ||
538 | }, | ||
539 | { | ||
540 | "Name": "messageGUID", | ||
541 | "ParameterType": "global::System.String", | ||
542 | "ParameterTypeFullName": "System.String" | ||
543 | } | ||
544 | ], | ||
545 | "ReturnType": "void", | ||
546 | "ReturnTypeFullName": "System.Void" | ||
547 | }, | ||
548 | { | ||
549 | "Name": "SetExternalEntityLinkGuid", | ||
550 | "IsRemote": true, | ||
551 | "Parameters": [ | ||
552 | { | ||
553 | "Name": "entityId", | ||
554 | "ParameterType": "global::System.Int32", | ||
555 | "ParameterTypeFullName": "System.Int32" | ||
556 | }, | ||
557 | { | ||
558 | "Name": "entityTypeGuid", | ||
559 | "ParameterType": "global::System.String", | ||
560 | "ParameterTypeFullName": "System.String" | ||
561 | }, | ||
562 | { | ||
563 | "Name": "externalSystemID", | ||
564 | "ParameterType": "global::System.String", | ||
565 | "ParameterTypeFullName": "System.String" | ||
566 | }, | ||
567 | { | ||
568 | "Name": "externalEntityGuid", | ||
569 | "ParameterType": "global::System.String", | ||
570 | "ParameterTypeFullName": "System.String" | ||
571 | } | ||
572 | ], | ||
573 | "Placement": "Shared", | ||
574 | "ReturnType": "global::Sungero.Commons.IExternalEntityLink", | ||
575 | "ReturnTypeFullName": "Sungero.Commons.IExternalEntityLink, Sungero.Domain.Interfaces" | ||
576 | }, | ||
577 | { | ||
578 | "Name": "ShowDciSettings", | ||
579 | "Placement": "Client", | ||
580 | "ReturnType": "void", | ||
581 | "ReturnTypeFullName": "System.Void" | ||
582 | }, | ||
583 | { | ||
584 | "Name": "StringToBase64", | ||
585 | "Parameters": [ | ||
586 | { | ||
587 | "Name": "value", | ||
588 | "ParameterType": "global::System.String", | ||
589 | "ParameterTypeFullName": "System.String" | ||
590 | } | ||
591 | ], | ||
592 | "Placement": "Shared", | ||
593 | "ReturnType": "global::System.String", | ||
594 | "ReturnTypeFullName": "System.String" | ||
595 | }, | ||
596 | { | ||
597 | "Name": "StringToDate", | ||
598 | "Parameters": [ | ||
599 | { | ||
600 | "Name": "value", | ||
601 | "ParameterType": "global::System.String", | ||
602 | "ParameterTypeFullName": "System.String" | ||
603 | } | ||
604 | ], | ||
605 | "ReturnType": "global::System.Nullable<global::System.DateTime>", | ||
606 | "ReturnTypeFullName": "System.Nullable" | ||
607 | }, | ||
608 | { | ||
609 | "Name": "StringToDateTime", | ||
610 | "Parameters": [ | ||
611 | { | ||
612 | "Name": "value", | ||
613 | "ParameterType": "global::System.String", | ||
614 | "ParameterTypeFullName": "System.String" | ||
615 | } | ||
616 | ], | ||
617 | "ReturnType": "global::System.Nullable<global::System.DateTime>", | ||
618 | "ReturnTypeFullName": "System.Nullable" | ||
619 | }, | ||
620 | { | ||
621 | "Name": "StringToDouble", | ||
622 | "Parameters": [ | ||
623 | { | ||
624 | "Name": "value", | ||
625 | "ParameterType": "global::System.String", | ||
626 | "ParameterTypeFullName": "System.String" | ||
627 | } | ||
628 | ], | ||
629 | "Placement": "Shared", | ||
630 | "ReturnType": "global::System.Nullable<global::System.Double>", | ||
631 | "ReturnTypeFullName": "System.Nullable" | ||
632 | }, | ||
633 | { | ||
634 | "Name": "StringToInt", | ||
635 | "Parameters": [ | ||
636 | { | ||
637 | "Name": "value", | ||
638 | "ParameterType": "global::System.String", | ||
639 | "ParameterTypeFullName": "System.String" | ||
640 | } | ||
641 | ], | ||
642 | "Placement": "Shared", | ||
643 | "ReturnType": "global::System.Nullable<global::System.Int32>", | ||
644 | "ReturnTypeFullName": "System.Nullable" | ||
645 | }, | ||
646 | { | ||
647 | "Name": "ValidateDciName", | ||
648 | "Parameters": [ | ||
649 | { | ||
650 | "Name": "name", | ||
651 | "ParameterType": "global::System.String", | ||
652 | "ParameterTypeFullName": "System.String" | ||
653 | } | ||
654 | ], | ||
655 | "Placement": "Shared", | ||
656 | "ReturnType": "global::System.String", | ||
657 | "ReturnTypeFullName": "System.String" | ||
658 | } | ||
659 | ], | ||
660 | "PublicStructures": [], | ||
661 | "ResourceInterfaceAssemblyName": "Sungero.Domain.Interfaces", | ||
662 | "ResourceInterfaceNamespace": "DirRX.DciCore", | ||
663 | "ResourcesKeys": [ | ||
664 | "NotFoundDeleteHandlerByProcess", | ||
665 | "NotFoundMessageByGlobalId", | ||
666 | "ReceiveErrorDetailText", | ||
667 | "ReceiveHandlerError", | ||
668 | "InsufficientDataError", | ||
669 | "ReceiveErrorTaskText", | ||
670 | "NotFoundReceiveHandlerByProcess", | ||
671 | "ReceiveErrorTaskSubject", | ||
672 | "DciSettingsNotFound", | ||
673 | "NotFoundProcessByMessage", | ||
674 | "SendPingTrackingMessage", | ||
675 | "MultipleEntitiesFoundToDelete", | ||
676 | "NoEntitiesFoundToDelete", | ||
677 | "DeleteEntityError", | ||
678 | "NotFoundExternalEntityLink", | ||
679 | "NotFoundPrepareHandlerByProcess" | ||
680 | ], | ||
681 | "ServerAssemblyName": "DirRX.DciCore.Server", | ||
682 | "ServerNamespace": "DirRX.DciCore.Server", | ||
683 | "SharedAssemblyName": "DirRX.DciCore.Shared", | ||
684 | "SharedNamespace": "DirRX.DciCore.Shared", | ||
685 | "SpecialFolders": [], | ||
686 | "Version": "1.0.4427.0", | ||
687 | "Widgets": [], | ||
688 | "Versions": [ | ||
689 | { | ||
690 | "Type": "ModuleMetadata", | ||
691 | "Number": 8 | ||
692 | }, | ||
693 | { | ||
694 | "Type": "DomainApi", | ||
695 | "Number": 3 | ||
696 | } | ||
697 | ] | ||
698 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="NotFoundDeleteHandlerByProcess" xml:space="preserve"> | ||
121 | <value>В разработке не реализован обработчик для удаления сущности по процессу "{0}".</value> | ||
122 | </data> | ||
123 | <data name="NotFoundMessageByGlobalId" xml:space="preserve"> | ||
124 | <value>Сообщение DCI с GUID {0} не существует. Проверьте наличие сообщения в адаптере DCI.</value> | ||
125 | </data> | ||
126 | <data name="ReceiveErrorDetailText" xml:space="preserve"> | ||
127 | <value>Процесс: {0} {1} | ||
128 | Сообщение: {2} {3} | ||
129 | Путь к папке обмена: {4} | ||
130 | Ссылка на сообщение: {5} | ||
131 | Текст ошибки: {6}</value> | ||
132 | </data> | ||
133 | <data name="ReceiveHandlerError" xml:space="preserve"> | ||
134 | <value>Ошибка обработки: {0} | ||
135 | {1}</value> | ||
136 | </data> | ||
137 | <data name="InsufficientDataError" xml:space="preserve"> | ||
138 | <value>В сообщении недостаточно данных для обработки сообщения.</value> | ||
139 | </data> | ||
140 | <data name="ReceiveErrorTaskText" xml:space="preserve"> | ||
141 | <value>При обработке входящего сообщения произошла ошибки. См. в логах службы Worker. | ||
142 | {0}</value> | ||
143 | </data> | ||
144 | <data name="NotFoundReceiveHandlerByProcess" xml:space="preserve"> | ||
145 | <value>В разработке не реализован обработчик для приема сообщения "{0}" по процессу "{1}".</value> | ||
146 | </data> | ||
147 | <data name="ReceiveErrorTaskSubject" xml:space="preserve"> | ||
148 | <value>Ошибка при приеме сообщения DCI {0} по процессу {1}</value> | ||
149 | </data> | ||
150 | <data name="DciSettingsNotFound" xml:space="preserve"> | ||
151 | <value>Не найдена запись справочника "Настройки DCI". Выполните настройку решения.</value> | ||
152 | </data> | ||
153 | <data name="NotFoundProcessByMessage" xml:space="preserve"> | ||
154 | <value>Процесс DCI по сообщению с GUID {0} не найден. Проверьте наличие данного сообщения и процесса в адаптере DCI.</value> | ||
155 | </data> | ||
156 | <data name="SendPingTrackingMessage" xml:space="preserve"> | ||
157 | <value>Тестовое сообщение отправлено. Для отслеживания состояние межсистемного процесса откройте сайт адаптера DCI {0}</value> | ||
158 | </data> | ||
159 | <data name="MultipleEntitiesFoundToDelete" xml:space="preserve"> | ||
160 | <value>Найдено несколько сущностей с ИД {0} и GUID типа сущности {1}.</value> | ||
161 | </data> | ||
162 | <data name="NoEntitiesFoundToDelete" xml:space="preserve"> | ||
163 | <value>Не найдена сущность с ИД {0} и GUID типа сущности {1}.</value> | ||
164 | </data> | ||
165 | <data name="DeleteEntityError" xml:space="preserve"> | ||
166 | <value>Ошибка удаления сущности из системы. | ||
167 | {0} | ||
168 | {1}</value> | ||
169 | </data> | ||
170 | <data name="NotFoundExternalEntityLink" xml:space="preserve"> | ||
171 | <value>В справочнике "Ссылки внешней системы" не найдена ссылка с GUID {0}. Вероятно запись не была синхронизирована ранее.</value> | ||
172 | </data> | ||
173 | <data name="NotFoundPrepareHandlerByProcess" xml:space="preserve"> | ||
174 | <value>В разработке не реализован обработчик для подготовки исходящего сообщения "{0}" по процессу "{1}".</value> | ||
175 | </data> | ||
176 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | <data name="NotFoundDeleteHandlerByProcess" xml:space="preserve"> | ||
121 | <value>В разработке не реализован обработчик для удаления сущности по процессу "{0}".</value> | ||
122 | </data> | ||
123 | <data name="NotFoundMessageByGlobalId" xml:space="preserve"> | ||
124 | <value>Сообщение DCI с GUID {0} не существует. Проверьте наличие сообщения в адаптере DCI.</value> | ||
125 | </data> | ||
126 | <data name="ReceiveErrorDetailText" xml:space="preserve"> | ||
127 | <value>Процесс: {0} {1} | ||
128 | Сообщение: {2} {3} | ||
129 | Путь к папке обмена: {4} | ||
130 | Ссылка на сообщение: {5} | ||
131 | Текст ошибки: {6}</value> | ||
132 | </data> | ||
133 | <data name="ReceiveHandlerError" xml:space="preserve"> | ||
134 | <value>Ошибка обработки: {0} | ||
135 | {1}</value> | ||
136 | </data> | ||
137 | <data name="InsufficientDataError" xml:space="preserve"> | ||
138 | <value>В сообщении недостаточно данных для обработки сообщения.</value> | ||
139 | </data> | ||
140 | <data name="ReceiveErrorTaskText" xml:space="preserve"> | ||
141 | <value>При обработке входящего сообщения произошла ошибки. См. в логах службы Worker. | ||
142 | {0}</value> | ||
143 | </data> | ||
144 | <data name="NotFoundReceiveHandlerByProcess" xml:space="preserve"> | ||
145 | <value>В разработке не реализован обработчик для приема сообщения "{0}" по процессу "{1}".</value> | ||
146 | </data> | ||
147 | <data name="ReceiveErrorTaskSubject" xml:space="preserve"> | ||
148 | <value>Ошибка при приеме сообщения DCI {0} по процессу {1}</value> | ||
149 | </data> | ||
150 | <data name="DciSettingsNotFound" xml:space="preserve"> | ||
151 | <value>Не найдена запись справочника "Настройки DCI". Выполните настройку решения.</value> | ||
152 | </data> | ||
153 | <data name="NotFoundProcessByMessage" xml:space="preserve"> | ||
154 | <value>Процесс DCI по сообщению с GUID {0} не найден. Проверьте наличие данного сообщения и процесса в адаптере DCI.</value> | ||
155 | </data> | ||
156 | <data name="SendPingTrackingMessage" xml:space="preserve"> | ||
157 | <value>Тестовое сообщение отправлено. Для отслеживания состояние межсистемного процесса откройте сайт адаптера DCI {0}</value> | ||
158 | </data> | ||
159 | <data name="MultipleEntitiesFoundToDelete" xml:space="preserve"> | ||
160 | <value>Найдено несколько сущностей с ИД {0} и GUID типа сущности {1}.</value> | ||
161 | </data> | ||
162 | <data name="NoEntitiesFoundToDelete" xml:space="preserve"> | ||
163 | <value>Не найдена сущность с ИД {0} и GUID типа сущности {1}.</value> | ||
164 | </data> | ||
165 | <data name="DeleteEntityError" xml:space="preserve"> | ||
166 | <value>Ошибка удаления сущности из системы. | ||
167 | {0} | ||
168 | {1}</value> | ||
169 | </data> | ||
170 | <data name="NotFoundExternalEntityLink" xml:space="preserve"> | ||
171 | <value>В справочнике "Ссылки внешней системы" не найдена ссылка с GUID {0}. Вероятно запись не была синхронизирована ранее.</value> | ||
172 | </data> | ||
173 | <data name="NotFoundPrepareHandlerByProcess" xml:space="preserve"> | ||
174 | <value>В разработке не реализован обработчик для подготовки исходящего сообщения "{0}" по процессу "{1}".</value> | ||
175 | </data> | ||
176 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using Sungero.Core; | ||
3 | |||
4 | namespace DirRX.DciCore.Constants | ||
5 | { | ||
6 | public static class Module | ||
7 | { | ||
8 | |||
9 | /// <summary> | ||
10 | /// Константы для типов ошибок. | ||
11 | /// </summary> | ||
12 | public static class ErrorType | ||
13 | { | ||
14 | [Public] | ||
15 | public const string EntityIsLocked = "EntityIsLocked"; | ||
16 | } | ||
17 | |||
18 | /// <summary> | ||
19 | /// Константы для наименований статусов записи Directum 5. | ||
20 | /// </summary> | ||
21 | public static class D5StatusName | ||
22 | { | ||
23 | [Public] | ||
24 | public const string Active = "Действующая"; | ||
25 | [Public] | ||
26 | public const string Closed = "Закрытая"; | ||
27 | } | ||
28 | |||
29 | } | ||
30 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Linq; | ||
4 | using Sungero.Core; | ||
5 | using Sungero.CoreEntities; | ||
6 | |||
7 | namespace DirRX.DciCore.Shared | ||
8 | { | ||
9 | public class ModuleFunctions | ||
10 | { | ||
11 | |||
12 | #region Полезные функции | ||
13 | |||
14 | /// <summary> | ||
15 | /// Сформировать гиперссылку на сайт адаптера DCI для просмотра сообщений по процессу. | ||
16 | /// </summary> | ||
17 | /// <param name="setting">Запись справочника "Настройки DCI".</param> | ||
18 | /// <param name="processGUID">GUID процесса DCI.</param> | ||
19 | /// <returns>Гиперссылка.</returns> | ||
20 | [Public] | ||
21 | public string GetHyperlinkToDciProcess(IDciSetting setting, string processGUID) | ||
22 | { | ||
23 | // TODO в адресе может сформироваться два //. | ||
24 | return string.Format(@"{0}/Messages?processGuid={1}", setting.AdapterSiteUrl, System.Net.WebUtility.UrlEncode(processGUID)); | ||
25 | } | ||
26 | |||
27 | /// <summary> | ||
28 | /// Проверить строку на наличие символов, недопустимых для имени вида процесса или сообщения. | ||
29 | /// </summary> | ||
30 | /// <param name="name">Проверяемая строка.</param> | ||
31 | /// <returns>Пустая строка или текст ошибки.</returns> | ||
32 | [Public] | ||
33 | public string ValidateDciName(string name) | ||
34 | { | ||
35 | // Буквы (латиница, кириллица), цифры и символ "_", и начинается с буквы или "_". | ||
36 | var pattern = @"^[_A-Za-zА-Яа-я]+[_0-9A-Za-zА-Яа-я]*$"; | ||
37 | var regex = new System.Text.RegularExpressions.Regex(pattern); | ||
38 | if (!regex.IsMatch(name)) | ||
39 | return DirRX.DciCore.DciProcessKinds.Resources.NotValidDciNameFormat(name); | ||
40 | |||
41 | return string.Empty; | ||
42 | } | ||
43 | |||
44 | #endregion | ||
45 | |||
46 | #region Функции по преобразованию данных из строки в объект. | ||
47 | |||
48 | /// <summary> | ||
49 | /// Преобразовать строку в double. | ||
50 | /// </summary> | ||
51 | /// <param name="value">Строка.</param> | ||
52 | /// <returns>Число типа double или null.</returns> | ||
53 | /// <seealso cref="https://docs.microsoft.com/en-us/dotnet/api/system.globalization.numberstyles"></seealso> | ||
54 | /// <seealso cref="https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo.getcultureinfo"></seealso> | ||
55 | /// <seealso cref="https://en.wikipedia.org/wiki/Decimal_separator"></seealso> | ||
56 | [Public] | ||
57 | public virtual double? StringToDouble(string value) | ||
58 | { | ||
59 | if (string.IsNullOrWhiteSpace(value)) | ||
60 | return null; | ||
61 | |||
62 | double result; | ||
63 | // Попробовать выполнить преобразование в ru-RU культуре. | ||
64 | if (!double.TryParse(value, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.GetCultureInfo("ru-RU"), out result) && | ||
65 | // Затем попробовать выполнить преобразование в en-US культуре. | ||
66 | !double.TryParse(value, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.GetCultureInfo("en-US"), out result) && | ||
67 | // Затем попробовать выполнить преобразование в es-ES культуре. | ||
68 | !double.TryParse(value, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.GetCultureInfo("es-ES"), out result)) | ||
69 | // "NumberStyles.Any" + локаль "ru-RU"/"en-US" покрывает большую часть форматов написания числа - комбинаций из десятичного разделителя ("," и ".") и разделителя групп разрядов (" ", "," и "."). | ||
70 | // Еще часть комбинаций закрывается поиском по локали "es-ES" (например "1.234.567,89"), но остаются другие экзотические форматы (например "1 234 567.89") и арабский разделитель "мумаййиз". | ||
71 | { | ||
72 | return null; | ||
73 | } | ||
74 | |||
75 | return result; | ||
76 | } | ||
77 | |||
78 | /// <summary> | ||
79 | /// Преобразовать строку в целое число. | ||
80 | /// </summary> | ||
81 | /// <param name="value">Строка с числом.</param> | ||
82 | /// <returns>Целое число или null.</returns> | ||
83 | /// <seealso cref="https://docs.microsoft.com/en-us/dotnet/api/system.globalization.numberstyles"></seealso> | ||
84 | /// <seealso cref="https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo.getcultureinfo"></seealso> | ||
85 | /// <seealso cref="https://en.wikipedia.org/wiki/Decimal_separator"></seealso> | ||
86 | [Public] | ||
87 | public virtual int? StringToInt(string value) | ||
88 | { | ||
89 | if (string.IsNullOrWhiteSpace(value)) | ||
90 | return null; | ||
91 | |||
92 | int result; | ||
93 | |||
94 | // Попробовать выполнить преобразование в ru-RU культуре. | ||
95 | if (!int.TryParse(value, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.GetCultureInfo("ru-RU"), out result) && | ||
96 | // Затем попробовать выполнить преобразование в en-US культуре. | ||
97 | !int.TryParse(value, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.GetCultureInfo("en-US"), out result) && | ||
98 | // Затем попробовать выполнить преобразование в es-ES культуре. | ||
99 | !int.TryParse(value, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.GetCultureInfo("es-ES"), out result)) | ||
100 | { | ||
101 | return null; | ||
102 | } | ||
103 | |||
104 | return result; | ||
105 | } | ||
106 | |||
107 | /// <summary> | ||
108 | /// Преобразовать статус записи RX из строки в перечисление. | ||
109 | /// </summary> | ||
110 | /// <param name="stringStatus">Статус записи RX (строка).</param> | ||
111 | /// <returns>Статус записи RX (перечисление).</returns> | ||
112 | [Public] | ||
113 | public virtual Enumeration? ConvertTextRXStatusToRXStatus(string stringStatus) | ||
114 | { | ||
115 | Enumeration? result = null; | ||
116 | |||
117 | if (stringStatus == Sungero.CoreEntities.DatabookEntry.Status.Active.Value) | ||
118 | return Sungero.CoreEntities.DatabookEntry.Status.Active; | ||
119 | |||
120 | if (stringStatus == Sungero.CoreEntities.DatabookEntry.Status.Closed.Value) | ||
121 | return Sungero.CoreEntities.DatabookEntry.Status.Closed; | ||
122 | |||
123 | return result; | ||
124 | } | ||
125 | |||
126 | /// <summary> | ||
127 | /// Преобразовать состояние записи D5 в статус записи RX (перечисление). | ||
128 | /// </summary> | ||
129 | /// <param name="d5Status">Состояния записи из D5.</param> | ||
130 | /// <returns>Статус записи RX.</returns> | ||
131 | [Public] | ||
132 | public virtual Enumeration? ConvertD5StatusToRXStatus(string d5Status) | ||
133 | { | ||
134 | Enumeration? result = null; | ||
135 | |||
136 | if (d5Status == Constants.Module.D5StatusName.Active) | ||
137 | return Sungero.CoreEntities.DatabookEntry.Status.Active; | ||
138 | |||
139 | if (d5Status == Constants.Module.D5StatusName.Closed) | ||
140 | return Sungero.CoreEntities.DatabookEntry.Status.Closed; | ||
141 | |||
142 | return result; | ||
143 | } | ||
144 | |||
145 | /// <summary> | ||
146 | /// Раскодировать строку из base64. | ||
147 | /// </summary> | ||
148 | /// <param name="value">Строка в base64.</param> | ||
149 | /// <returns>Строка.</returns> | ||
150 | [Public] | ||
151 | public virtual string Base64ToString(string value) | ||
152 | { | ||
153 | var b = Convert.FromBase64String(value); | ||
154 | var strOriginal = System.Text.Encoding.UTF8.GetString(b); | ||
155 | return strOriginal; | ||
156 | } | ||
157 | |||
158 | #endregion | ||
159 | |||
160 | #region Функции по преобразованию данных в строку. | ||
161 | |||
162 | /// <summary> | ||
163 | /// Преобразовать статус записи RX в состояние записи D5. | ||
164 | /// </summary> | ||
165 | /// <param name="rxStatus">Статус записи RX.</param> | ||
166 | /// <returns>Состояние записи в D5.</returns> | ||
167 | [Public] | ||
168 | public virtual string ConvertRXStatusToD5Status(Enumeration? rxStatus) | ||
169 | { | ||
170 | var result = string.Empty; | ||
171 | |||
172 | if (rxStatus == Sungero.CoreEntities.DatabookEntry.Status.Active) | ||
173 | return Constants.Module.D5StatusName.Active; | ||
174 | |||
175 | if (rxStatus == Sungero.CoreEntities.DatabookEntry.Status.Closed) | ||
176 | return Constants.Module.D5StatusName.Closed; | ||
177 | |||
178 | return result; | ||
179 | } | ||
180 | |||
181 | /// <summary> | ||
182 | /// Закодировать строку в base64. | ||
183 | /// </summary> | ||
184 | /// <param name="value">Строка.</param> | ||
185 | /// <returns>Закодированная строка.</returns> | ||
186 | [Public] | ||
187 | public virtual string StringToBase64(string value) | ||
188 | { | ||
189 | var b = System.Text.Encoding.UTF8.GetBytes(value); | ||
190 | var strModified = Convert.ToBase64String(b); | ||
191 | return strModified; | ||
192 | } | ||
193 | |||
194 | #endregion | ||
195 | |||
196 | } | ||
197 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
4 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
5 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
6 | <xsd:complexType> | ||
7 | <xsd:choice maxOccurs="unbounded"> | ||
8 | <xsd:element name="metadata"> | ||
9 | <xsd:complexType> | ||
10 | <xsd:sequence> | ||
11 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
12 | </xsd:sequence> | ||
13 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
14 | <xsd:attribute name="type" type="xsd:string" /> | ||
15 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
16 | <xsd:attribute ref="xml:space" /> | ||
17 | </xsd:complexType> | ||
18 | </xsd:element> | ||
19 | <xsd:element name="assembly"> | ||
20 | <xsd:complexType> | ||
21 | <xsd:attribute name="alias" type="xsd:string" /> | ||
22 | <xsd:attribute name="name" type="xsd:string" /> | ||
23 | </xsd:complexType> | ||
24 | </xsd:element> | ||
25 | <xsd:element name="data"> | ||
26 | <xsd:complexType> | ||
27 | <xsd:sequence> | ||
28 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
29 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
30 | </xsd:sequence> | ||
31 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
32 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
33 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
34 | <xsd:attribute ref="xml:space" /> | ||
35 | </xsd:complexType> | ||
36 | </xsd:element> | ||
37 | <xsd:element name="resheader"> | ||
38 | <xsd:complexType> | ||
39 | <xsd:sequence> | ||
40 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
41 | </xsd:sequence> | ||
42 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
43 | </xsd:complexType> | ||
44 | </xsd:element> | ||
45 | </xsd:choice> | ||
46 | </xsd:complexType> | ||
47 | </xsd:element> | ||
48 | </xsd:schema> | ||
49 | <resheader name="resmimetype"> | ||
50 | <value>text/microsoft-resx</value> | ||
51 | </resheader> | ||
52 | <resheader name="version"> | ||
53 | <value>2.0</value> | ||
54 | </resheader> | ||
55 | <resheader name="reader"> | ||
56 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
57 | </resheader> | ||
58 | <resheader name="writer"> | ||
59 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
60 | </resheader> | ||
61 | <data name="DisplayName" xml:space="preserve"> | ||
62 | <value>Межсистемное взаимодействие</value> | ||
63 | </data> | ||
64 | <data name="CoverTitle" xml:space="preserve"> | ||
65 | <value>Механизмы межсистемного взаимодействия</value> | ||
66 | </data> | ||
67 | <data name="CoverGroup_GroupSettings" xml:space="preserve"> | ||
68 | <value>Настройки</value> | ||
69 | </data> | ||
70 | <data name="CoverDescription" xml:space="preserve"> | ||
71 | <value>Модуль предназначен для организации сквозных бизнес-процессов и синхронизации данных между системами</value> | ||
72 | </data> | ||
73 | <data name="CoverAction_Settings" xml:space="preserve"> | ||
74 | <value>Настройки DCI</value> | ||
75 | </data> | ||
76 | <data name="CoverDescription_Settings" xml:space="preserve"> | ||
77 | <value>Основные параметры для работы с модулем</value> | ||
78 | </data> | ||
79 | <data name="CoverDescription_PingMessage" xml:space="preserve"> | ||
80 | <value>Отправка тестового сообщения во внешнюю систему для проверки связи</value> | ||
81 | </data> | ||
82 | <data name="CoverAction_PingMessage" xml:space="preserve"> | ||
83 | <value>Отправить тестовое сообщение</value> | ||
84 | </data> | ||
85 | <data name="AsyncHandler_Description_a03678a5178b4a4f9c0efb5d2ddbef33" xml:space="preserve"> | ||
86 | <value>Получить и обработать входящее сообщение DCI</value> | ||
87 | </data> | ||
88 | <data name="JobDisplayName_c22dcae54d534637a2b8136f4e75666d" xml:space="preserve"> | ||
89 | <value>Межсистемное взаимодействие. Отправка изменений во внешнюю систему</value> | ||
90 | </data> | ||
91 | <data name="JobDescription_c22dcae54d534637a2b8136f4e75666d" xml:space="preserve"> | ||
92 | <value>Выполняет поиск сущностей системы, которые были изменены с моменты последней синхронизации</value> | ||
93 | </data> | ||
94 | <data name="AsyncHandler_Description_76d6a6af4016471da784780ffaf23255" xml:space="preserve"> | ||
95 | <value>Найти изменения типа сущности и отправить исходящее сообщение DCI</value> | ||
96 | </data> | ||
97 | <data name="CoverTab_Tab" xml:space="preserve"> | ||
98 | <value>Tab</value> | ||
99 | </data> | ||
100 | <data name="CoverAction_DciProcessKinds" xml:space="preserve"> | ||
101 | <value>Виды межсистемных процессов</value> | ||
102 | </data> | ||
103 | <data name="CoverDescription_DciProcessKinds" xml:space="preserve"> | ||
104 | <value>Открыть список межсистемных процессов</value> | ||
105 | </data> | ||
106 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
4 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
5 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
6 | <xsd:complexType> | ||
7 | <xsd:choice maxOccurs="unbounded"> | ||
8 | <xsd:element name="metadata"> | ||
9 | <xsd:complexType> | ||
10 | <xsd:sequence> | ||
11 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
12 | </xsd:sequence> | ||
13 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
14 | <xsd:attribute name="type" type="xsd:string" /> | ||
15 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
16 | <xsd:attribute ref="xml:space" /> | ||
17 | </xsd:complexType> | ||
18 | </xsd:element> | ||
19 | <xsd:element name="assembly"> | ||
20 | <xsd:complexType> | ||
21 | <xsd:attribute name="alias" type="xsd:string" /> | ||
22 | <xsd:attribute name="name" type="xsd:string" /> | ||
23 | </xsd:complexType> | ||
24 | </xsd:element> | ||
25 | <xsd:element name="data"> | ||
26 | <xsd:complexType> | ||
27 | <xsd:sequence> | ||
28 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
29 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
30 | </xsd:sequence> | ||
31 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
32 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
33 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
34 | <xsd:attribute ref="xml:space" /> | ||
35 | </xsd:complexType> | ||
36 | </xsd:element> | ||
37 | <xsd:element name="resheader"> | ||
38 | <xsd:complexType> | ||
39 | <xsd:sequence> | ||
40 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
41 | </xsd:sequence> | ||
42 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
43 | </xsd:complexType> | ||
44 | </xsd:element> | ||
45 | </xsd:choice> | ||
46 | </xsd:complexType> | ||
47 | </xsd:element> | ||
48 | </xsd:schema> | ||
49 | <resheader name="resmimetype"> | ||
50 | <value>text/microsoft-resx</value> | ||
51 | </resheader> | ||
52 | <resheader name="version"> | ||
53 | <value>2.0</value> | ||
54 | </resheader> | ||
55 | <resheader name="reader"> | ||
56 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
57 | </resheader> | ||
58 | <resheader name="writer"> | ||
59 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
60 | </resheader> | ||
61 | <data name="CoverTitle" xml:space="preserve"> | ||
62 | <value>Механизмы межсистемного взаимодействия</value> | ||
63 | </data> | ||
64 | <data name="CoverGroup_GroupSettings" xml:space="preserve"> | ||
65 | <value>Настройки</value> | ||
66 | </data> | ||
67 | <data name="CoverAction_Settings" xml:space="preserve"> | ||
68 | <value>Настройки DCI</value> | ||
69 | </data> | ||
70 | <data name="DisplayName" xml:space="preserve"> | ||
71 | <value>Межсистемное взаимодействие</value> | ||
72 | </data> | ||
73 | <data name="CoverDescription" xml:space="preserve"> | ||
74 | <value>Модуль предназначен для организации сквозных бизнес-процессов и синхронизации данных между системами</value> | ||
75 | </data> | ||
76 | <data name="CoverAction_PingMessage" xml:space="preserve"> | ||
77 | <value>Отправить тестовое сообщение</value> | ||
78 | </data> | ||
79 | <data name="CoverDescription_PingMessage" xml:space="preserve"> | ||
80 | <value>Отправка тестового сообщения во внешнюю систему для проверки связи</value> | ||
81 | </data> | ||
82 | <data name="AsyncHandler_Description_a03678a5178b4a4f9c0efb5d2ddbef33" xml:space="preserve"> | ||
83 | <value>Получить и обработать входящее сообщение DCI</value> | ||
84 | </data> | ||
85 | <data name="AsyncHandler_Description_76d6a6af4016471da784780ffaf23255" xml:space="preserve"> | ||
86 | <value>Найти изменения типа сущности и отправить исходящее сообщение DCI</value> | ||
87 | </data> | ||
88 | <data name="JobDisplayName_c22dcae54d534637a2b8136f4e75666d" xml:space="preserve"> | ||
89 | <value>Межсистемное взаимодействие. Отправка изменений во внешнюю систему</value> | ||
90 | </data> | ||
91 | <data name="CoverAction_DciProcessKinds" xml:space="preserve"> | ||
92 | <value>Виды межсистемных процессов</value> | ||
93 | </data> | ||
94 | <data name="CoverDescription_DciProcessKinds" xml:space="preserve"> | ||
95 | <value>Открыть список межсистемных процессов</value> | ||
96 | </data> | ||
97 | </root> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or sign in to post a comment