Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Marat Pavlov
/
AlexAdapter
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
3f018f22
authored
Mar 30, 2022
by
AlexNasyr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
transit
parent
01d0e57c
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
129 additions
and
35 deletions
SocialMinistryDataExchange/Controllers/apiController.cs
SocialMinistryDataExchange/Model/Contingent/Center/Contingent_center_Context.cs
SocialMinistryDataExchange/Model/EscpSD/SM_EscpXSD.cs
SocialMinistryDataExchange/Model/IContingentContext.cs
SocialMinistryDataExchange/Model/SMData.cs
SocialMinistryDataExchange/Model/SMRepository.cs
SocialMinistryDataExchange/Startup.cs
SocialMinistryDataExchange/Controllers/apiController.cs
View file @
3f018f22
...
@@ -20,7 +20,7 @@ namespace SocialMinistryDataExchange.Controllers {
...
@@ -20,7 +20,7 @@ namespace SocialMinistryDataExchange.Controllers {
public
async
Task
<
string
>
PutXMLDefenceStatus
()
{
public
async
Task
<
string
>
PutXMLDefenceStatus
()
{
var
request
=
System
.
IO
.
File
.
ReadAllText
(
"Model/reference/Request.xml"
);
var
request
=
System
.
IO
.
File
.
ReadAllText
(
"Model/reference/Request.xml"
);
var
responce
=
await
_repository
.
PutDefenceStatus
(
request
);
var
responce
=
await
_repository
.
PutDefenceStatus
(
request
);
return
String
.
Empty
;
return
responce
;
}
}
// тестовый запрос зачисленности личности
// тестовый запрос зачисленности личности
...
@@ -43,6 +43,8 @@ namespace SocialMinistryDataExchange.Controllers {
...
@@ -43,6 +43,8 @@ namespace SocialMinistryDataExchange.Controllers {
PersonName
=
"Василий"
,
PersonName
=
"Василий"
,
PersonSurname
=
"Алибабаевич"
,
PersonSurname
=
"Алибабаевич"
,
PersonBirthday
=
DateTime
.
Parse
(
"2015-01-01"
),
PersonBirthday
=
DateTime
.
Parse
(
"2015-01-01"
),
PersonSnils
=
"12345678"
,
Territory
=
"Пермский ГО (г. Пермь)"
,
},
},
PersonOccupation
=
new
SMPersonOccupationStatus
()
PersonOccupation
=
new
SMPersonOccupationStatus
()
},
},
...
@@ -54,7 +56,7 @@ namespace SocialMinistryDataExchange.Controllers {
...
@@ -54,7 +56,7 @@ namespace SocialMinistryDataExchange.Controllers {
PersonDocumentNumber
=
"123456"
,
PersonDocumentNumber
=
"123456"
,
PersonDocumentDate
=
DateTime
.
Parse
(
"2010-01-01"
),
PersonDocumentDate
=
DateTime
.
Parse
(
"2010-01-01"
),
},
},
PersonFamilyName
=
"Мкртчя
н
"
,
PersonFamilyName
=
"Мкртчя"
,
PersonName
=
"Василий"
,
PersonName
=
"Василий"
,
PersonSurname
=
"Алибабаевич"
,
PersonSurname
=
"Алибабаевич"
,
PersonBirthday
=
DateTime
.
Parse
(
"2015-01-01"
),
PersonBirthday
=
DateTime
.
Parse
(
"2015-01-01"
),
...
...
SocialMinistryDataExchange/Model/Contingent/Center/Contingent_center_Context.cs
View file @
3f018f22
...
@@ -5,6 +5,8 @@
...
@@ -5,6 +5,8 @@
namespace
SocialMinistryDataExchange.Model.Contingent.Center
namespace
SocialMinistryDataExchange.Model.Contingent.Center
{
{
public
partial
class
Contingent_center_Context
:
DbContext
,
IContingentContext
{
public
partial
class
Contingent_center_Context
:
DbContext
,
IContingentContext
{
public
Contingent_center_Context
()
public
Contingent_center_Context
()
{
{
}
}
...
...
SocialMinistryDataExchange/Model/EscpSD/SM_EscpXSD.cs
View file @
3f018f22
...
@@ -9,25 +9,77 @@ namespace SocialMinistryDataExchange.Model.EscpSD {
...
@@ -9,25 +9,77 @@ namespace SocialMinistryDataExchange.Model.EscpSD {
[
XmlType
(
AnonymousType
=
true
,
Namespace
=
"urn://ru.permkrai.ecsp/mv/ecsp-sending-status-maloimushch"
)]
[
XmlType
(
AnonymousType
=
true
,
Namespace
=
"urn://ru.permkrai.ecsp/mv/ecsp-sending-status-maloimushch"
)]
[
XmlRoot
(
Namespace
=
"urn://ru.permkrai.ecsp/mv/ecsp-sending-status-maloimushch"
,
IsNullable
=
false
)]
[
XmlRoot
(
Namespace
=
"urn://ru.permkrai.ecsp/mv/ecsp-sending-status-maloimushch"
,
IsNullable
=
false
)]
public
partial
class
EcspSendingStatusMaloimushch
{
public
partial
class
EcspSendingStatusMaloimushch
{
public
string
PrimaryKey
{
get
;
set
;
}
[
XmlElement
(
ElementName
=
"PrimaryKey"
)]
[
XmlElement
(
DataType
=
"date"
)]
public
string
MsgID
{
get
;
set
;
}
public
DateTime
DateTime
{
get
;
set
;
}
[
XmlElement
(
DataType
=
"date"
,
ElementName
=
"DateTime"
)]
public
string
OrganSZ
{
get
;
set
;
}
public
DateTime
MsgDataTime
{
get
;
set
;
}
public
byte
ObshKolChlenovSem
{
get
;
set
;
}
public
string
LgotKat
{
get
;
set
;
}
public
decimal
SrednedushevoiDohod
{
get
;
set
;
}
public
decimal
ProzhitMinimum
{
get
;
set
;
}
[
XmlElement
(
DataType
=
"date"
)]
public
DateTime
SrokDeistviiaS
{
get
;
set
;
}
[
XmlElement
(
DataType
=
"date"
)]
public
DateTime
SrokDeistviiaDo
{
get
;
set
;
}
[
XmlElement
(
ElementName
=
"Leechnost"
)]
[
XmlElement
(
ElementName
=
"Leechnost"
)]
public
Person
Person
{
get
;
set
;
}
public
Person
Person
{
get
;
set
;
}
[
XmlElement
(
ElementName
=
"Semya"
)]
[
XmlElement
(
ElementName
=
"Semya"
)]
public
Family
?
Family
{
get
;
set
;
}
public
Family
?
Family
{
get
;
set
;
}
public
PersonStatus
PersonSDStatus
{
get
;
set
;
}
=
new
();
[
XmlElement
(
ElementName
=
"OrganSZ"
)]
public
string
SDDepartment
{
get
{
return
PersonSDStatus
.
SDDepartment
;
}
set
{
PersonSDStatus
.
SDDepartment
=
value
;
}
}
[
XmlElement
(
ElementName
=
"ObshKolChlenovSem"
)]
public
byte
FamilyPersonsCount
{
get
{
return
PersonSDStatus
.
FamilyPersonsCount
;
}
set
{
PersonSDStatus
.
FamilyPersonsCount
=
value
;
}
}
[
XmlElement
(
ElementName
=
"LgotKat"
)]
public
string
Status
{
get
{
return
PersonSDStatus
.
Status
;
}
set
{
PersonSDStatus
.
Status
=
value
;
}
}
[
XmlElement
(
ElementName
=
"SrednedushevoiDohod"
)]
public
decimal
AvgIncome
{
get
{
return
PersonSDStatus
.
AvgIncome
;
}
set
{
PersonSDStatus
.
AvgIncome
=
value
;
}
}
[
XmlElement
(
ElementName
=
"ProzhitMinimum"
)]
public
decimal
MinIncome
{
get
{
return
PersonSDStatus
.
MinIncome
;
}
set
{
PersonSDStatus
.
MinIncome
=
value
;
}
}
[
XmlElement
(
DataType
=
"date"
,
ElementName
=
"SrokDeistviiaS"
)]
public
DateTime
StartDate
{
get
{
return
PersonSDStatus
.
StartDate
;
}
set
{
PersonSDStatus
.
StartDate
=
value
;
}
}
[
XmlElement
(
DataType
=
"date"
,
ElementName
=
"SrokDeistviiaDo"
)]
public
DateTime
EndDate
{
get
{
return
PersonSDStatus
.
EndDate
;
}
set
{
PersonSDStatus
.
EndDate
=
value
;
}
}
}
[
Serializable
()]
[
DesignerCategory
(
"code"
)]
[
XmlType
(
AnonymousType
=
true
,
Namespace
=
"urn://ru.permkrai.ecsp/mv/ecsp-sending-status-maloimushch"
)]
public
class
PersonStatus
{
[
XmlElement
(
ElementName
=
"OrganSZ"
)]
public
string
SDDepartment
{
get
;
set
;
}
[
XmlElement
(
ElementName
=
"LgotKat"
)]
public
string
Status
{
get
;
set
;
}
[
XmlElement
(
DataType
=
"date"
,
ElementName
=
"SrokDeistviiaS"
)]
public
DateTime
StartDate
{
get
;
set
;
}
[
XmlElement
(
DataType
=
"date"
,
ElementName
=
"SrokDeistviiaDo"
)]
public
DateTime
EndDate
{
get
;
set
;
}
[
XmlElement
(
ElementName
=
"SrednedushevoiDohod"
)]
public
decimal
AvgIncome
{
get
;
set
;
}
[
XmlElement
(
ElementName
=
"ProzhitMinimum"
)]
public
decimal
MinIncome
{
get
;
set
;
}
[
XmlElement
(
ElementName
=
"ObshKolChlenovSem"
)]
public
byte
FamilyPersonsCount
{
get
;
set
;
}
}
}
[
Serializable
()]
[
DesignerCategory
(
"code"
)]
[
XmlType
(
AnonymousType
=
true
,
Namespace
=
"urn://ru.permkrai.ecsp/mv/ecsp-sending-status-maloimushch"
)]
public
class
Family
{
public
class
Family
{
[
XmlElement
(
ElementName
=
"LeechostvSemya"
)]
[
XmlElement
(
ElementName
=
"LeechostvSemya"
)]
public
Person
[]?
Relatives
{
get
;
set
;
}
public
Person
[]?
Relatives
{
get
;
set
;
}
...
@@ -72,6 +124,4 @@ namespace SocialMinistryDataExchange.Model.EscpSD {
...
@@ -72,6 +124,4 @@ namespace SocialMinistryDataExchange.Model.EscpSD {
[
XmlElement
(
DataType
=
"date"
,
ElementName
=
"DataVydachi"
)]
[
XmlElement
(
DataType
=
"date"
,
ElementName
=
"DataVydachi"
)]
public
DateTime
DateOfIssue
{
get
;
set
;
}
public
DateTime
DateOfIssue
{
get
;
set
;
}
}
}
}
}
SocialMinistryDataExchange/Model/IContingentContext.cs
View file @
3f018f22
...
@@ -3,6 +3,7 @@ using SocialMinistryDataExchange.Model.Contingent.Center;
...
@@ -3,6 +3,7 @@ using SocialMinistryDataExchange.Model.Contingent.Center;
namespace
SocialMinistryDataExchange.Model
{
namespace
SocialMinistryDataExchange.Model
{
public
interface
IContingentContext
{
public
interface
IContingentContext
{
DbSet
<
СтатусыНуждаемости
>
СтатусыНуждаемости
s
{
get
;
set
;
}
DbSet
<
СтатусыНуждаемости
>
СтатусыНуждаемости
s
{
get
;
set
;
}
DbSet
<
ТипНуждаемости
>
ТипНуждаемости
s
{
get
;
set
;
}
DbSet
<
ТипНуждаемости
>
ТипНуждаемости
s
{
get
;
set
;
}
...
...
SocialMinistryDataExchange/Model/SMData.cs
View file @
3f018f22
...
@@ -4,12 +4,15 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -4,12 +4,15 @@ namespace SocialMinistryDataExchange.Model {
[
Flags
]
[
Flags
]
enum
PersonSearchAttributes
:
byte
{
enum
PersonSearchAttributes
:
byte
{
PersonFamilyName
=
1
,
PersonName
=
2
,
PersonBirthday
=
4
,
}
[
Flags
]
enum
PersonIdentitySearchAttributes
:
byte
{
PersonDocumentSeria
=
1
,
PersonDocumentSeria
=
1
,
PersonDocumentNumber
=
2
,
PersonDocumentNumber
=
2
,
PersonDocumentDate
=
4
,
PersonDocumentDate
=
4
,
PersonFamilyName
=
8
,
PersonName
=
16
,
PersonBirthday
=
32
,
}
}
public
class
SMResponceTemp
{
public
class
SMResponceTemp
{
...
@@ -28,10 +31,10 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -28,10 +31,10 @@ namespace SocialMinistryDataExchange.Model {
public
string
?
Фамилия
{
get
;
set
;
}
public
string
?
Фамилия
{
get
;
set
;
}
public
bool
?
БезОтчества
{
get
;
set
;
}
public
bool
?
БезОтчества
{
get
;
set
;
}
public
DateTime
?
ДатаРождения
{
get
;
set
;
}
public
DateTime
?
ДатаРождения
{
get
;
set
;
}
public
Guid
?
ТерриторияФактическогоМестаЖительства
New
{
get
;
set
;
}
public
Guid
?
ТерриторияРегистрацииПоМестуЖительства
New
{
get
;
set
;
}
public
string
?
Снилс
{
get
;
set
;
}
public
string
?
Территория
Shortname
{
get
;
set
;
}
public
string
?
Территория
Shortname
{
get
;
set
;
}
public
string
?
Снилс
{
get
;
set
;
}
public
Guid
?
ТипОрганизации
{
get
;
set
;
}
public
Guid
?
ТипОрганизации
{
get
;
set
;
}
public
int
?
ТипОрганизацииКод
{
get
;
set
;
}
public
int
?
ТипОрганизацииКод
{
get
;
set
;
}
public
string
?
ТипОрганизацииНаименование
{
get
;
set
;
}
public
string
?
ТипОрганизацииНаименование
{
get
;
set
;
}
...
...
SocialMinistryDataExchange/Model/SMRepository.cs
View file @
3f018f22
...
@@ -7,6 +7,7 @@ using Serilog;
...
@@ -7,6 +7,7 @@ using Serilog;
using
System.Xml.Serialization
;
using
System.Xml.Serialization
;
using
SocialMinistryDataExchange.Model.EscpSD
;
using
SocialMinistryDataExchange.Model.EscpSD
;
using
System.IO
;
using
System.IO
;
using
Microsoft.EntityFrameworkCore
;
namespace
SocialMinistryDataExchange.Model
{
namespace
SocialMinistryDataExchange.Model
{
public
class
SMRepository
:
ISMRepository
{
public
class
SMRepository
:
ISMRepository
{
...
@@ -23,7 +24,7 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -23,7 +24,7 @@ namespace SocialMinistryDataExchange.Model {
// принимает XML статус нуждаемости личности
// принимает XML статус нуждаемости личности
public
Task
<
string
>
PutDefenceStatus
(
string
RequestXML
)
{
public
Task
<
string
>
PutDefenceStatus
(
string
RequestXML
)
{
string
responce
=
string
.
Empty
;
string
responce
=
string
.
Empty
;
XmlSerializer
xmlSerializer
=
new
XmlSerializer
(
typeof
(
EcspSendingStatusMaloimushch
));
XmlSerializer
xmlSerializer
=
new
(
typeof
(
EcspSendingStatusMaloimushch
));
var
request
=
xmlSerializer
.
Deserialize
(
new
StringReader
(
RequestXML
));
var
request
=
xmlSerializer
.
Deserialize
(
new
StringReader
(
RequestXML
));
using
(
StringWriter
writer
=
new
())
{
using
(
StringWriter
writer
=
new
())
{
xmlSerializer
.
Serialize
(
writer
,
request
);
xmlSerializer
.
Serialize
(
writer
,
request
);
...
@@ -50,20 +51,30 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -50,20 +51,30 @@ namespace SocialMinistryDataExchange.Model {
Responce
.
MsgID
=
Request
.
MsgID
;
Responce
.
MsgID
=
Request
.
MsgID
;
Responce
.
MsgDataTime
=
DateTime
.
Now
;
Responce
.
MsgDataTime
=
DateTime
.
Now
;
Responce
.
MsgPriority
=
Request
.
MsgPriority
;
Responce
.
MsgData
=
Request
.
MsgData
;
Responce
.
MsgData
=
Request
.
MsgData
;
foreach
(
var
Person
in
Request
.
MsgData
)
{
foreach
(
var
Person
in
Request
.
MsgData
)
{
var
x
=
0
;
var
x
=
0
;
// проверяем на null ФИО
foreach
(
var
psa
in
Enum
.
GetValues
(
typeof
(
PersonSearchAttributes
)))
{
foreach
(
var
psa
in
Enum
.
GetValues
(
typeof
(
PersonSearchAttributes
)))
{
x
=
Person
.
Person
.
GetType
().
GetProperty
(
psa
.
ToString
()).
GetValue
(
Person
.
Person
)
is
null
?
x
:
(
x
|
(
byte
)
psa
);
x
=
Person
.
Person
.
GetType
().
GetProperty
(
psa
.
ToString
()).
GetValue
(
Person
.
Person
)
is
null
?
x
:
(
x
|
(
byte
)
psa
);
}
}
//var z = (PersonSearchAttributes)x;
if
(
x
<
Enum
.
GetValues
(
typeof
(
PersonSearchAttributes
)).
Cast
<
byte
>().
Sum
(
s
=>
s
))
{
if
(
x
<
Enum
.
GetValues
(
typeof
(
PersonSearchAttributes
)).
Cast
<
byte
>().
Sum
(
s
=>
s
))
{
Person
.
Person
.
Error
=
$"Parameters: [
{(
PersonSearchAttributes
)(
Enum
.
GetValues
(
typeof
(
PersonSearchAttributes
)).
Cast
<
byte
>().
Sum
(
s
=>
s
)
-
x
)}
] can't be null; "
;
Person
.
Person
.
Error
+
=
$"Parameters: [
{(
PersonSearchAttributes
)(
Enum
.
GetValues
(
typeof
(
PersonSearchAttributes
)).
Cast
<
byte
>().
Sum
(
s
=>
s
)
-
x
)}
] can't be null; "
;
_logger
.
Error
(
$"MsgID '
{{
@MsgID
}}
':
{{
@Error
}}
;"
,
Responce
.
MsgID
,
Person
.
Person
.
Error
);
_logger
.
Error
(
$"MsgID '
{{
@MsgID
}}
':
{{
@Error
}}
;"
,
Responce
.
MsgID
,
Person
.
Person
.
Error
);
}
}
else
{
// проверяем на null документе личности
TryFillPersonStatus
(
Person
);
foreach
(
var
psa
in
Enum
.
GetValues
(
typeof
(
PersonIdentitySearchAttributes
)))
{
x
=
Person
.
Person
.
PersonDocument
.
GetType
().
GetProperty
(
psa
.
ToString
()).
GetValue
(
Person
.
Person
.
PersonDocument
)
is
null
?
x
:
(
x
|
(
byte
)
psa
);
}
if
(
x
<
Enum
.
GetValues
(
typeof
(
PersonIdentitySearchAttributes
)).
Cast
<
byte
>().
Sum
(
s
=>
s
))
{
Person
.
Person
.
Error
+=
$"Parameters: [
{(
PersonIdentitySearchAttributes
)(
Enum
.
GetValues
(
typeof
(
PersonIdentitySearchAttributes
)).
Cast
<
byte
>().
Sum
(
s
=>
s
)
-
x
)}
] can't be null; "
;
_logger
.
Error
(
$"MsgID '
{{
@MsgID
}}
':
{{
@Error
}}
;"
,
Responce
.
MsgID
,
Person
.
Person
.
Error
);
}
// если ошибок нету заполняем ответ
if
(
string
.
IsNullOrEmpty
(
Person
.
Person
.
Error
))
{
TryFillPersonStatus
(
Person
,
Responce
.
MsgPriority
??
string
.
Empty
);
}
}
}
}
}
}
...
@@ -73,7 +84,7 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -73,7 +84,7 @@ namespace SocialMinistryDataExchange.Model {
return
Task
.
FromResult
(
Responce
);
return
Task
.
FromResult
(
Responce
);
}
}
private
void
TryFillPersonStatus
(
SMPersonDataOccupationMessage
Person
)
{
private
void
TryFillPersonStatus
(
SMPersonDataOccupationMessage
Person
,
string
Priority
)
{
try
{
try
{
var
person_record
=
(
from
pd
in
_contingentContext
.
ДокументЛичности
s
var
person_record
=
(
from
pd
in
_contingentContext
.
ДокументЛичности
s
where
pd
.
СерияДокумента
.
Contains
(
Person
.
Person
.
PersonDocument
.
PersonDocumentSeria
)
&&
pd
.
НомерДокумента
.
Contains
(
Person
.
Person
.
PersonDocument
.
PersonDocumentNumber
)
where
pd
.
СерияДокумента
.
Contains
(
Person
.
Person
.
PersonDocument
.
PersonDocumentSeria
)
&&
pd
.
НомерДокумента
.
Contains
(
Person
.
Person
.
PersonDocument
.
PersonDocumentNumber
)
...
@@ -94,9 +105,9 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -94,9 +105,9 @@ namespace SocialMinistryDataExchange.Model {
,
СерияДокумента
=
Person
.
Person
.
PersonDocument
.
PersonDocumentSeria
,
НомерДокумента
=
Person
.
Person
.
PersonDocument
.
PersonDocumentNumber
,
КогдаВыданДокумент
=
pd
.
КогдаВыданДокумент
,
ВидУдостоверяющегоДокумента
=
pd
.
ВидУдостоверяющегоДокумента
,
СерияДокумента
=
Person
.
Person
.
PersonDocument
.
PersonDocumentSeria
,
НомерДокумента
=
Person
.
Person
.
PersonDocument
.
PersonDocumentNumber
,
КогдаВыданДокумент
=
pd
.
КогдаВыданДокумент
,
ВидУдостоверяющегоДокумента
=
pd
.
ВидУдостоверяющегоДокумента
,
НаименованиеУдостоверяющегоДокумента
=
pd
.
ВидУдостоверяющегоДокумента
Navigation
.
Наименование
,
КодУдостоверяющегоДокумента
=
pd
.
ВидУдостоверяющегоДокумента
Navigation
.
Код
,
НаименованиеУдостоверяющегоДокумента
=
pd
.
ВидУдостоверяющегоДокумента
Navigation
.
Наименование
,
КодУдостоверяющегоДокумента
=
pd
.
ВидУдостоверяющегоДокумента
Navigation
.
Код
// Личность (Guid), Имя, Отчество, БезОтчества, Фамилия
// Личность (Guid), Имя, Отчество, БезОтчества, Фамилия
,
Личность
=
pd
.
Личность
,
Имя
=
pd
.
Личность
Navigation
.
Имя
,
Отчество
=
pd
.
Личность
Navigation
.
Отчество
,
БезОтчества
=
pd
.
Личность
Navigation
.
БезОтчества
==
null
?
false
:
true
,
Фамилия
=
pd
.
Личность
Navigation
.
Фамилия
,
Личность
=
pd
.
Личность
,
Имя
=
pd
.
Личность
Navigation
.
Имя
,
Отчество
=
pd
.
Личность
Navigation
.
Отчество
,
БезОтчества
=
pd
.
Личность
Navigation
.
БезОтчества
!=
null
,
Фамилия
=
pd
.
Личность
Navigation
.
Фамилия
// ДатаРождения, ТерриторияФактическогоМестаЖительстваNew (нигде не заполнено - null), Снилс
// ДатаРождения, ТерриторияФактическогоМестаЖительстваNew (нигде не заполнено - null), Снилс
,
ДатаРождения
=
pd
.
Личность
Navigation
.
ДатаРождения
,
Территория
ФактическогоМестаЖительства
New
=
pd
.
Личность
Navigation
.
ТерриторияФактическогоМеста
Жительства
New
,
Снилс
=
pd
.
Личность
Navigation
.
Снилс
,
ДатаРождения
=
pd
.
Личность
Navigation
.
ДатаРождения
,
Территория
РегистрацииПоМестуЖительства
New
=
pd
.
Личность
Navigation
.
ТерриторияРегистрацииПоМесту
Жительства
New
,
Снилс
=
pd
.
Личность
Navigation
.
Снилс
// ТерриторияShortname
// ТерриторияShortname
,
Территория
Shortname
=
pd
.
Личность
Navigation
.
ТерриторияРегистрацииПоМестуЖительства
NewNavigation
.
Территория
Navigation
.
Наименование
,
Территория
Shortname
=
pd
.
Личность
Navigation
.
ТерриторияРегистрацииПоМестуЖительства
NewNavigation
.
Территория
Navigation
.
Наименование
// ПриказЗачисления, ПриказОтчисления, НачальнаяДата, КонечнаяДата, Подразделение (Guid), Организация (Guid)
// ПриказЗачисления, ПриказОтчисления, НачальнаяДата, КонечнаяДата, Подразделение (Guid), Организация (Guid)
...
@@ -124,6 +135,23 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -124,6 +135,23 @@ namespace SocialMinistryDataExchange.Model {
Person
.
Person
.
Error
+=
"Personal document Error;"
;
Person
.
Person
.
Error
+=
"Personal document Error;"
;
_logger
.
Error
(
$"Person '
{{
@Error
}}
':
{{
@Person
}}
;"
,
"TryFillPersonStatus: "
,
Person
.
Person
);
_logger
.
Error
(
$"Person '
{{
@Error
}}
':
{{
@Person
}}
;"
,
"TryFillPersonStatus: "
,
Person
.
Person
);
}
}
// если ошибок нет или msg.priority = force дозополняем у себя данные
if
(
string
.
IsNullOrEmpty
(
Person
.
Person
.
Error
)
||
Priority
==
"force"
)
{
person_record
.
Фамилия
=
Person
.
Person
.
PersonFamilyName
;
person_record
.
Имя
=
Person
.
Person
.
PersonName
;
person_record
.
Отчество
=
Person
.
Person
.
PersonSurname
;
person_record
.
БезОтчества
=
string
.
IsNullOrEmpty
(
person_record
.
Отчество
);
person_record
.
ДатаРождения
=
Person
.
Person
.
PersonBirthday
;
person_record
.
СерияДокумента
=
Person
.
Person
.
PersonDocument
.
PersonDocumentSeria
;
person_record
.
НомерДокумента
=
Person
.
Person
.
PersonDocument
.
PersonDocumentNumber
;
person_record
.
КогдаВыданДокумент
=
Person
.
Person
.
PersonDocument
.
PersonDocumentDate
;
// TODO вид удостоверяющего документа
person_record
.
ТерриторияРегистрацииПоМестуЖительства
New
=
GetTeritory
(
_contingentContext
,
Person
.
Person
.
Territory
);
person_record
.
Снилс
=
String
.
IsNullOrEmpty
(
Person
.
Person
.
PersonSnils
)
?
person_record
.
Снилс
:
Person
.
Person
.
PersonSnils
;
int
a
=(
_contingentContext
as
DbContext
).
SaveChanges
();
int
b
=
((
DbContext
)
_contingentContext
).
SaveChanges
(
true
);
}
Person
.
Person
.
PersonFamilyName
=
person_record
.
Фамилия
;
Person
.
Person
.
PersonFamilyName
=
person_record
.
Фамилия
;
Person
.
Person
.
PersonName
=
person_record
.
Имя
;
Person
.
Person
.
PersonName
=
person_record
.
Имя
;
Person
.
Person
.
PersonSurname
=
person_record
.
Отчество
;
Person
.
Person
.
PersonSurname
=
person_record
.
Отчество
;
...
@@ -179,6 +207,13 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -179,6 +207,13 @@ namespace SocialMinistryDataExchange.Model {
_logger
.
Error
(
$"Person '
{{
@Error
}}
':
{{
@Person
}}
;"
,
"TryFillPersonStatus: "
,
Person
.
Person
);
_logger
.
Error
(
$"Person '
{{
@Error
}}
':
{{
@Person
}}
;"
,
"TryFillPersonStatus: "
,
Person
.
Person
);
}
}
}
}
private
static
Guid
?
GetTeritory
(
IContingentContext
context
,
string
address
)
{
if
(
string
.
IsNullOrEmpty
(
address
))
{
return
null
;
}
var
territory
=
(
from
terr
in
context
.
Территория
s
where
terr
.
Наименование
.
Contains
(
address
)
select
terr
.
PrimaryKey
).
First
();
return
territory
;
}
private
static
Guid
?
GetOrganizationType
(
IContingentContext
context
,
Guid
?
OrgTypeUid
)
{
private
static
Guid
?
GetOrganizationType
(
IContingentContext
context
,
Guid
?
OrgTypeUid
)
{
if
(
OrgTypeUid
==
null
)
{
if
(
OrgTypeUid
==
null
)
{
return
null
;
return
null
;
...
@@ -232,9 +267,9 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -232,9 +267,9 @@ namespace SocialMinistryDataExchange.Model {
// Личность (Guid), Имя, Отчество, БезОтчества, Фамилия
// Личность (Guid), Имя, Отчество, БезОтчества, Фамилия
,
Личность
=
pd
.
Личность
,
Имя
=
pd
.
Личность
Navigation
.
Имя
,
Отчество
=
pd
.
Личность
Navigation
.
Отчество
,
БезОтчества
=
pd
.
Личность
Navigation
.
БезОтчества
,
Фамилия
=
pd
.
Личность
Navigation
.
Фамилия
,
Личность
=
pd
.
Личность
,
Имя
=
pd
.
Личность
Navigation
.
Имя
,
Отчество
=
pd
.
Личность
Navigation
.
Отчество
,
БезОтчества
=
pd
.
Личность
Navigation
.
БезОтчества
,
Фамилия
=
pd
.
Личность
Navigation
.
Фамилия
// ДатаРождения, ТерриторияФактическогоМестаЖительстваNew (нигде не заполнено - null), Снилс
// ДатаРождения, ТерриторияФактическогоМестаЖительстваNew (нигде не заполнено - null), Снилс
,
ДатаРождения
=
pd
.
Личность
Navigation
.
ДатаРождения
,
Территория
ФактическогоМестаЖительства
New
=
pd
.
Личность
Navigation
.
ТерриторияФактическогоМеста
Жительства
New
,
Снилс
=
pd
.
Личность
Navigation
.
Снилс
,
ДатаРождения
=
pd
.
Личность
Navigation
.
ДатаРождения
,
Территория
РегистрацииПоМестуЖительства
New
=
pd
.
Личность
Navigation
.
ТерриторияРегистрацииПоМесту
Жительства
New
,
Снилс
=
pd
.
Личность
Navigation
.
Снилс
// ТерриторияShortname
// ТерриторияShortname
,
Территория
Shortname
=
pd
.
Личность
Navigation
.
Территория
ФактическогоМеста
Жительства
NewNavigation
.
Территория
Navigation
.
Наименование
,
Территория
Shortname
=
pd
.
Личность
Navigation
.
Территория
РегистрацииПоМесту
Жительства
NewNavigation
.
Территория
Navigation
.
Наименование
// ПриказЗачисления, ПриказОтчисления, НачальнаяДата, КонечнаяДата, Подразделение (Guid), Организация (Guid)
// ПриказЗачисления, ПриказОтчисления, НачальнаяДата, КонечнаяДата, Подразделение (Guid), Организация (Guid)
,
ПриказЗачисления
=
lp
.
ПриказЗачисления
,
ПриказОтчисления
=
lp
.
ПриказОтчисления
,
НачальнаяДата
=
lp
.
НачальнаяДата
,
КонечнаяДата
=
lp
.
КонечнаяДата
,
Подразделение
=
lp
.
Подразделение
,
Организация
=
lp
.
Организация
,
ПриказЗачисления
=
lp
.
ПриказЗачисления
,
ПриказОтчисления
=
lp
.
ПриказОтчисления
,
НачальнаяДата
=
lp
.
НачальнаяДата
,
КонечнаяДата
=
lp
.
КонечнаяДата
,
Подразделение
=
lp
.
Подразделение
,
Организация
=
lp
.
Организация
// ТипОрганизации, ТипОрганизацииКод, ТипОрганизацииНаименование
// ТипОрганизации, ТипОрганизацииКод, ТипОрганизацииНаименование
...
...
SocialMinistryDataExchange/Startup.cs
View file @
3f018f22
...
@@ -29,7 +29,7 @@ namespace SocialMinistryDataExchange {
...
@@ -29,7 +29,7 @@ namespace SocialMinistryDataExchange {
.
MinimumLevel
.
Debug
()
.
MinimumLevel
.
Debug
()
.
MinimumLevel
.
Override
(
"Default"
,
LogEventLevel
.
Information
)
.
MinimumLevel
.
Override
(
"Default"
,
LogEventLevel
.
Information
)
.
Enrich
.
FromLogContext
()
.
Enrich
.
FromLogContext
()
.
WriteTo
.
File
(
$@"
{
Directory
.
GetCurrentDirectory
()}
\Logs\
{
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd"
)
}
.log"
.
WriteTo
.
File
(
$@"
{
Directory
.
GetCurrentDirectory
()}
\Logs\
{
DateTime
.
Now
:
yyyy
-
MM
-
dd
}
.log"
,
outputTemplate
:
"[{Timestamp:HH:mm:ss.fff}] |{Level:u3}| {Message:lj}{NewLine}{Exception}"
)
,
outputTemplate
:
"[{Timestamp:HH:mm:ss.fff}] |{Level:u3}| {Message:lj}{NewLine}{Exception}"
)
.
CreateLogger
();
.
CreateLogger
();
services
.
AddSingleton
(
Log
.
Logger
);
services
.
AddSingleton
(
Log
.
Logger
);
...
@@ -45,7 +45,8 @@ namespace SocialMinistryDataExchange {
...
@@ -45,7 +45,8 @@ namespace SocialMinistryDataExchange {
}
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public
void
Configure
(
IApplicationBuilder
app
,
IWebHostEnvironment
env
,
ILoggerFactory
loggerFactory
)
{
//public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) {
public
void
Configure
(
IApplicationBuilder
app
,
IWebHostEnvironment
env
)
{
if
(
env
.
IsDevelopment
())
{
if
(
env
.
IsDevelopment
())
{
app
.
UseDeveloperExceptionPage
();
app
.
UseDeveloperExceptionPage
();
app
.
UseSwagger
();
app
.
UseSwagger
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment