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
54856aa9
authored
Mar 28, 2022
by
Alex Nasyr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
temp
parent
6dc56ee3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
73 additions
and
17 deletions
SocialMinistryDataExchange/Controllers/apiController.cs
SocialMinistryDataExchange/Model/SMData.cs
SocialMinistryDataExchange/Model/SMRepository.cs
SocialMinistryDataExchange/Controllers/apiController.cs
View file @
54856aa9
...
@@ -27,6 +27,7 @@ namespace SocialMinistryDataExchange.Controllers {
...
@@ -27,6 +27,7 @@ namespace SocialMinistryDataExchange.Controllers {
rowguid_eais
=
"223322"
,
rowguid_eais
=
"223322"
,
PersonDocumentSeria
=
"V-II"
,
PersonDocumentSeria
=
"V-II"
,
PersonDocumentNumber
=
"123456"
,
PersonDocumentNumber
=
"123456"
,
PersonDocumentDate
=
DateTime
.
Parse
(
"2010-01-01"
),
PersonFamilyName
=
"Мкртчян"
,
PersonFamilyName
=
"Мкртчян"
,
PersonName
=
"Василий"
,
PersonName
=
"Василий"
,
PersonSurname
=
"Алибабаевич"
,
PersonSurname
=
"Алибабаевич"
,
...
...
SocialMinistryDataExchange/Model/SMData.cs
View file @
54856aa9
...
@@ -2,7 +2,17 @@
...
@@ -2,7 +2,17 @@
namespace
SocialMinistryDataExchange.Model
{
namespace
SocialMinistryDataExchange.Model
{
public
class
SMData
{
[
Flags
]
enum
PersonSearchAttributes
:
byte
{
PersonDocumentSeria
=
1
,
PersonDocumentNumber
=
2
,
PersonDocumentDate
=
4
,
PersonFamilyName
=
8
,
PersonName
=
16
,
PersonBirthday
=
32
,
}
public
class
SMData
{
public
SMData
()
{
}
public
SMData
()
{
}
public
string
rowguid_eais
{
get
;
set
;
}
public
string
rowguid_eais
{
get
;
set
;
}
public
string
TerritoryName
{
get
;
set
;
}
public
string
TerritoryName
{
get
;
set
;
}
...
@@ -23,17 +33,6 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -23,17 +33,6 @@ namespace SocialMinistryDataExchange.Model {
public
string
EducationProgram
{
get
;
set
;
}
public
string
EducationProgram
{
get
;
set
;
}
public
string
EducationForm
{
get
;
set
;
}
public
string
EducationForm
{
get
;
set
;
}
}
}
[
Flags
]
enum
PersonSearchAttributes
:
byte
{
PersonDocumentSeria
=
1
,
PersonDocumentNumber
=
2
,
PersonFamilyName
=
4
,
PersonName
=
8
,
PersonBirthday
=
16
,
}
public
class
SMPersonRequest
{
public
class
SMPersonRequest
{
public
string
rowguid_eais
{
get
;
set
;
}
public
string
rowguid_eais
{
get
;
set
;
}
public
string
document_seria
{
get
;
set
;
}
public
string
document_seria
{
get
;
set
;
}
...
...
SocialMinistryDataExchange/Model/SMRepository.cs
View file @
54856aa9
...
@@ -44,11 +44,11 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -44,11 +44,11 @@ namespace SocialMinistryDataExchange.Model {
}
}
var
z
=
(
PersonSearchAttributes
)
x
;
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
)(
31
-
z
)}
] can't be null"
;
Person
.
Person
.
Error
=
$"Parameters: [
{(
PersonSearchAttributes
)(
31
-
z
)}
] 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
{
else
{
// SearchPerson(
);
TryFillPersonStatus
(
Person
);
}
}
}
}
}
}
...
@@ -58,8 +58,65 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -58,8 +58,65 @@ namespace SocialMinistryDataExchange.Model {
return
Task
.
FromResult
(
Responce
);
return
Task
.
FromResult
(
Responce
);
}
}
private
void
SearchPerson
(
Person
person
)
{
private
void
TryFillPersonStatus
(
SMPersonDataOccupationMessage
Person
)
{
var
person_record
=
(
from
pd
in
_contingentContext
.
ДокументЛичности
s
where
pd
.
СерияДокумента
.
Contains
(
Person
.
Person
.
PersonDocumentSeria
)
&&
pd
.
НомерДокумента
.
Contains
(
Person
.
Person
.
PersonDocumentNumber
)
&&
pd
.
Личность
Navigation
.
Фамилия
.
Contains
(
Person
.
Person
.
PersonFamilyName
)
&&
pd
.
Личность
Navigation
.
Имя
.
Contains
(
Person
.
Person
.
PersonName
)
//&& (pd.ЛичностьNavigation.БезОтчества == false & pd.ЛичностьNavigation.Отчество.Contains(Person.Person.PersonSurname))
//&& pd.ЛичностьNavigation.ДатаРождения == Person.Person.PersonBirthday
join
lp
in
_contingentContext
.
ЛичностьПодразделения
s
on
pd
.
Личность
equals
lp
.
Личность
into
lps
from
lp
in
lps
.
DefaultIfEmpty
()
join
op
in
_contingentContext
.
ОбразовательнаяПрограммаОрганизации
s
on
lp
.
Организация
equals
op
.
Организация
into
ops
from
op
in
ops
.
DefaultIfEmpty
()
join
cp
in
_contingentContext
.
ТекущаяЛичностьПодразделения
s
on
pd
.
Личность
equals
cp
.
Личность
into
cps
from
cp
in
cps
.
DefaultIfEmpty
()
orderby
lp
.
НачальнаяДата
descending
select
new
SMResponceTemp
{
rowguid_eais
=
Person
.
Person
.
rowguid_eais
// СерияДокумента, НомерДокумента, КогдаВыданДокумент, ВидУдостоверяющегоДокумента,
// НаименованиеУдостоверяющегоДокумента, КодУдостоверяющегоДокумента
,
СерияДокумента
=
Person
.
Person
.
PersonDocumentSeria
,
НомерДокумента
=
Person
.
Person
.
PersonDocumentNumber
,
КогдаВыданДокумент
=
pd
.
КогдаВыданДокумент
,
ВидУдостоверяющегоДокумента
=
pd
.
ВидУдостоверяющегоДокумента
,
НаименованиеУдостоверяющегоДокумента
=
pd
.
ВидУдостоверяющегоДокумента
Navigation
.
Наименование
,
КодУдостоверяющегоДокумента
=
pd
.
ВидУдостоверяющегоДокумента
Navigation
.
Код
// Личность (Guid), Имя, Отчество, БезОтчества, Фамилия
,
Личность
=
pd
.
Личность
,
Имя
=
pd
.
Личность
Navigation
.
Имя
,
Отчество
=
pd
.
Личность
Navigation
.
Отчество
,
БезОтчества
=
pd
.
Личность
Navigation
.
БезОтчества
,
Фамилия
=
pd
.
Личность
Navigation
.
Фамилия
// ДатаРождения, ТерриторияФактическогоМестаЖительстваNew (нигде не заполнено - null), Снилс
,
ДатаРождения
=
pd
.
Личность
Navigation
.
ДатаРождения
,
ТерриторияФактическогоМестаЖительства
New
=
pd
.
Личность
Navigation
.
ТерриторияФактическогоМестаЖительства
New
,
Снилс
=
pd
.
Личность
Navigation
.
Снилс
// ТерриторияShortname
,
Территория
Shortname
=
pd
.
Личность
Navigation
.
ТерриторияФактическогоМестаЖительства
NewNavigation
.
Территория
Navigation
.
Наименование
// ПриказЗачисления, ПриказОтчисления, НачальнаяДата, КонечнаяДата, Подразделение (Guid), Организация (Guid)
,
ПриказЗачисления
=
lp
.
ПриказЗачисления
,
ПриказОтчисления
=
lp
.
ПриказОтчисления
,
НачальнаяДата
=
lp
.
НачальнаяДата
,
КонечнаяДата
=
lp
.
КонечнаяДата
,
Подразделение
=
lp
.
Подразделение
,
Организация
=
lp
.
Организация
// ТипОрганизации, ТипОрганизацииКод,
// ТипОрганизацииНаименование
,
ТипОрганизации
=
lp
.
Организация
Navigation
.
ТипОрганизации
,
ТипОрганизацииКод
=
lp
.
Организация
Navigation
.
ТипОрганизации
Navigation
.
Код
,
ТипОрганизацииНаименование
=
lp
.
Организация
Navigation
.
ТипОрганизации
Navigation
.
Наименование
// ПолноеНаименованиеОрганизации, ВидУчредителя (Guid), ВидУчредителяКод
,
ПолноеНаименованиеОрганизации
=
lp
.
Организация
Navigation
.
ПолноеНаименование
,
ВидУчредителя
=
lp
.
Организация
Navigation
.
ВидУчредителя
,
ВидУчредителяКод
=
lp
.
Организация
Navigation
.
ВидУчредителя
Navigation
.
Код
// ОбразовательнаяПрограммаТип (Guid), ОбразовательнаяПрограммаКод
,
ОбразовательнаяПрограммаТип
=
op
.
ТипОп
,
ОбразовательнаяПрограммаКод
=
op
.
ТипОп
Navigation
.
Код
// ФормаОбученияКод, ФормаОбученияНаименование
,
ФормаОбученияКод
=
cp
.
ФормаОбучения
Navigation
.
Код
,
ФормаОбученияНаименование
=
cp
.
ФормаОбучения
Navigation
.
Наименование
}).
First
();
if
(
person_record
.
Фамилия
!=
Person
.
Person
.
PersonFamilyName
||
person_record
.
Имя
!=
Person
.
Person
.
PersonName
||
(
person_record
.
БезОтчества
!=
false
&&
person_record
.
Отчество
!=
Person
.
Person
.
PersonSurname
||
person_record
.
ДатаРождения
!=
Person
.
Person
.
PersonBirthday
))
{
Person
.
Person
.
Error
+=
"Personal information Error;"
;
_logger
.
Error
(
$"Person '
{{
@Person
}}
':
{{
@Error
}}
;"
,
Person
.
Person
,
"Personal information Error"
);
Person
.
Person
.
PersonFamilyName
=
person_record
.
Фамилия
;
Person
.
Person
.
PersonName
=
person_record
.
Имя
;
Person
.
Person
.
PersonSurname
=
person_record
.
Отчество
;
Person
.
Person
.
PersonBirthday
=
person_record
.
ДатаРождения
;
}
if
(
person_record
.
СерияДокумента
!=
Person
.
Person
.
PersonDocumentSeria
||
person_record
.
НомерДокумента
!=
Person
.
Person
.
PersonDocumentNumber
||
person_record
.
КогдаВыданДокумент
!=
Person
.
Person
.
PersonDocumentDate
)
{
Person
.
Person
.
Error
+=
"Personal document Error;"
;
_logger
.
Error
(
$"Person '
{{
@Person
}}
':
{{
@Error
}}
;"
,
Person
.
Person
,
"Personal document Error"
);
Person
.
Person
.
PersonDocumentSeria
=
person_record
.
СерияДокумента
;
Person
.
Person
.
PersonDocumentNumber
=
person_record
.
НомерДокумента
;
Person
.
Person
.
PersonDocumentDate
=
person_record
.
КогдаВыданДокумент
;
}
if
(
string
.
IsNullOrEmpty
(
Person
.
Person
.
Error
))
{
int
i
=
0
;
}
}
}
public
Task
<
List
<
SMData
>>
GetPersonByDoc
(
string
document
)
{
public
Task
<
List
<
SMData
>>
GetPersonByDoc
(
string
document
)
{
...
@@ -68,7 +125,6 @@ namespace SocialMinistryDataExchange.Model {
...
@@ -68,7 +125,6 @@ namespace SocialMinistryDataExchange.Model {
SMData
responce_record
;
SMData
responce_record
;
foreach
(
var
doc
in
docs
.
MsgData
)
{
foreach
(
var
doc
in
docs
.
MsgData
)
{
try
{
try
{
// TODO separate exceptions
if
(
doc
.
Person
.
PersonDocumentSeria
is
null
||
doc
.
Person
.
PersonDocumentNumber
is
null
||
doc
.
Person
.
PersonFamilyName
is
null
||
doc
.
Person
.
PersonName
is
null
||
doc
.
Person
.
PersonBirthday
is
null
)
{
if
(
doc
.
Person
.
PersonDocumentSeria
is
null
||
doc
.
Person
.
PersonDocumentNumber
is
null
||
doc
.
Person
.
PersonFamilyName
is
null
||
doc
.
Person
.
PersonName
is
null
||
doc
.
Person
.
PersonBirthday
is
null
)
{
throw
new
ArgumentNullException
(
$"
{
nameof
(
doc
.
Person
)}
"
);
throw
new
ArgumentNullException
(
$"
{
nameof
(
doc
.
Person
)}
"
);
}
}
...
...
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