Commit 5fe0353f by AlexNasyr

repository cleaning

parent ce501e84
...@@ -13,24 +13,10 @@ namespace SocialMinistryDataExchange.Controllers { ...@@ -13,24 +13,10 @@ namespace SocialMinistryDataExchange.Controllers {
} }
[HttpGet]
[Route("[controller]/getpersonFixID")]
public async Task<List<SMResponce>> GetPersonFixID() {
var result = await _repository.GetPersonByID("27373577-4234-43B2-A969-8D95B9384171");
return result;
}
//[HttpPost]
[HttpGet]
[Route("[controller]/getpersonByID/{PersonID}")]
public async Task<List<SMResponce>> GetPersonByID(string PersonID) {
var result = await _repository.GetPersonByID(PersonID);
return result;
}
// тестовый запрос с фиксированным документом личности // тестовый запрос с фиксированным документом личности
[HttpGet] [HttpGet]
[Route("[controller]/getpersonFixDoc")] [Route("[controller]/getpersonFixDoc")]
public async Task<List<SMResponce>> GetPersonFixDoc() { public async Task<SMResponce> GetPersonFixDoc() {
var result = await _repository.GetPersonByDoc(JsonSerializer.Serialize(new SMPersonRequest() { rowguid_eais = "223322", document_seria = "V-II", document_number = "123456" })); var result = await _repository.GetPersonByDoc(JsonSerializer.Serialize(new SMPersonRequest() { rowguid_eais = "223322", document_seria = "V-II", document_number = "123456" }));
return result; return result;
} }
...@@ -38,7 +24,7 @@ namespace SocialMinistryDataExchange.Controllers { ...@@ -38,7 +24,7 @@ namespace SocialMinistryDataExchange.Controllers {
//[HttpPost] //[HttpPost]
[HttpGet] [HttpGet]
[Route("[controller]/getpersonByDoc/{Rowguid}/{Seria}/{Number}")] [Route("[controller]/getpersonByDoc/{Rowguid}/{Seria}/{Number}")]
public async Task<List<SMResponce>> GetPersonFixDoc(string Rowguid, string Seria, string Number) { public async Task<SMResponce> GetPersonByDoc(string Rowguid, string Seria, string Number) {
var result = await _repository.GetPersonByDoc(JsonSerializer.Serialize(new SMPersonRequest() { rowguid_eais = Rowguid, document_seria = Seria, document_number = Number })); var result = await _repository.GetPersonByDoc(JsonSerializer.Serialize(new SMPersonRequest() { rowguid_eais = Rowguid, document_seria = Seria, document_number = Number }));
return result; return result;
} }
......
...@@ -3,8 +3,7 @@ using System.Threading.Tasks; ...@@ -3,8 +3,7 @@ using System.Threading.Tasks;
namespace SocialMinistryDataExchange.Model { namespace SocialMinistryDataExchange.Model {
public interface ISMRepository { public interface ISMRepository {
Task<List<SMResponce>> GetPersonByID(string ID); Task<SMResponce> GetPersonByDoc(string Document);
Task<List<SMResponce>> GetPersonByDoc(string Document);
Task<SMDefenceDemandResponce> GetPersonDefenceDemandByID(string PersonID); Task<SMDefenceDemandResponce> GetPersonDefenceDemandByID(string PersonID);
} }
} }
...@@ -21,10 +21,10 @@ namespace SocialMinistryDataExchange.Model { ...@@ -21,10 +21,10 @@ namespace SocialMinistryDataExchange.Model {
return Task.FromResult(status); return Task.FromResult(status);
} }
public Task<List<SMResponce>> GetPersonByDoc(string document) { public Task<SMResponce> GetPersonByDoc(string document) {
var doc = JsonSerializer.Deserialize<SMPersonRequest>(document); var doc = JsonSerializer.Deserialize<SMPersonRequest>(document);
try { try {
var records = (from pd in _contingentContext.ДокументЛичностиs var record = (from pd in _contingentContext.ДокументЛичностиs
where pd.СерияДокумента == doc.document_seria && pd.НомерДокумента == doc.document_number where pd.СерияДокумента == doc.document_seria && pd.НомерДокумента == doc.document_number
join lp in _contingentContext.ЛичностьПодразделенияs on pd.Личность equals lp.Личность into lps join lp in _contingentContext.ЛичностьПодразделенияs on pd.Личность equals lp.Личность into lps
from lp in lps.DefaultIfEmpty() from lp in lps.DefaultIfEmpty()
...@@ -32,7 +32,7 @@ namespace SocialMinistryDataExchange.Model { ...@@ -32,7 +32,7 @@ namespace SocialMinistryDataExchange.Model {
from op in ops.DefaultIfEmpty() from op in ops.DefaultIfEmpty()
join cp in _contingentContext.ТекущаяЛичностьПодразделенияs on pd.Личность equals cp.Личность into cps join cp in _contingentContext.ТекущаяЛичностьПодразделенияs on pd.Личность equals cp.Личность into cps
from cp in cps.DefaultIfEmpty() from cp in cps.DefaultIfEmpty()
orderby lp.НачальнаяДата descending
select new SMResponceTemp { select new SMResponceTemp {
rowguid_eais = doc.rowguid_eais rowguid_eais = doc.rowguid_eais
// СерияДокумента, НомерДокумента, КогдаВыданДокумент, ВидУдостоверяющегоДокумента, НаименованиеУдостоверяющегоДокумента, КодУдостоверяющегоДокумента // СерияДокумента, НомерДокумента, КогдаВыданДокумент, ВидУдостоверяющегоДокумента, НаименованиеУдостоверяющегоДокумента, КодУдостоверяющегоДокумента
...@@ -53,16 +53,17 @@ namespace SocialMinistryDataExchange.Model { ...@@ -53,16 +53,17 @@ namespace SocialMinistryDataExchange.Model {
, ОбразовательнаяПрограммаТип = op.ТипОп, ОбразовательнаяПрограммаКод = op.ТипОпNavigation.Код , ОбразовательнаяПрограммаТип = op.ТипОп, ОбразовательнаяПрограммаКод = op.ТипОпNavigation.Код
// ФормаОбученияКод, ФормаОбученияНаименование // ФормаОбученияКод, ФормаОбученияНаименование
, ФормаОбученияКод = cp.ФормаОбученияNavigation.Код, ФормаОбученияНаименование = cp.ФормаОбученияNavigation.Наименование , ФормаОбученияКод = cp.ФормаОбученияNavigation.Код, ФормаОбученияНаименование = cp.ФормаОбученияNavigation.Наименование
}).ToList(); }).First();
// записи не найдены // записи не найдены
if (records.Count == 0) { if (record == null) {
records.Add(new SMResponceTemp() { rowguid_eais = doc.rowguid_eais, СерияДокумента = doc.document_seria, НомерДокумента = doc.document_number }); record = new SMResponceTemp() { rowguid_eais = doc.rowguid_eais, СерияДокумента = doc.document_seria, НомерДокумента = doc.document_number };
} }
return Task.FromResult(FormatResponce(_contingentContext, records)); var responce = FormatResponce(_contingentContext, record);
return Task.FromResult(responce);
} }
catch (Exception ex) { catch (Exception ex) {
// TODO log exception // TODO log exception
return Task.FromResult(FormatResponce(_contingentContext, new List<SMResponceTemp>() { new SMResponceTemp() { rowguid_eais = doc.rowguid_eais, СерияДокумента = doc.document_seria, НомерДокумента = doc.document_number } })); return Task.FromResult(FormatResponce(_contingentContext, new SMResponceTemp() { rowguid_eais = doc.rowguid_eais, СерияДокумента = doc.document_seria, НомерДокумента = doc.document_number }));
} }
} }
...@@ -86,38 +87,36 @@ namespace SocialMinistryDataExchange.Model { ...@@ -86,38 +87,36 @@ namespace SocialMinistryDataExchange.Model {
} }
static List<SMResponce> FormatResponce(IContingentContext context, List<SMResponceTemp> records) { static SMResponce FormatResponce(IContingentContext context, SMResponceTemp record) {
List<SMResponce> responce = new(); SMResponce responce = new();
foreach (SMResponceTemp record in records) {
var SMRecord = new SMResponce();
if (record.Личность != Guid.Empty) { // записи найдены if (record.Личность != Guid.Empty) { // записи найдены
SMRecord.rowguid_eais = record.rowguid_eais; responce.rowguid_eais = record.rowguid_eais;
SMRecord.TerritoryName = record.ТерриторияShortname; responce.TerritoryName = record.ТерриторияShortname;
SMRecord.PersonFamilyName = record.Фамилия; responce.PersonFamilyName = record.Фамилия;
SMRecord.PersonName = record.Имя; responce.PersonName = record.Имя;
SMRecord.PersonSurname = record.Отчество; responce.PersonSurname = record.Отчество;
SMRecord.PersonBirthday = record.ДатаРождения; responce.PersonBirthday = record.ДатаРождения;
SMRecord.PersonDocumentType = record.КодУдостоверяющегоДокумента == 12 || record.КодУдостоверяющегоДокумента == 13 || record.КодУдостоверяющегоДокумента == 21 ? responce.PersonDocumentType = record.КодУдостоверяющегоДокумента == 12 || record.КодУдостоверяющегоДокумента == 13 || record.КодУдостоверяющегоДокумента == 21 ?
"1" "1"
: record.КодУдостоверяющегоДокумента == 11 || record.КодУдостоверяющегоДокумента == 31 ? : record.КодУдостоверяющегоДокумента == 11 || record.КодУдостоверяющегоДокумента == 31 ?
"2" "2"
: String.Empty; : String.Empty;
SMRecord.PersonDocumentSeria = record.СерияДокумента; responce.PersonDocumentSeria = record.СерияДокумента;
SMRecord.PersonDocumentNumber = record.НомерДокумента; responce.PersonDocumentNumber = record.НомерДокумента;
SMRecord.PersonDocumentDate = record.КогдаВыданДокумент; responce.PersonDocumentDate = record.КогдаВыданДокумент;
SMRecord.PersonSnils = record.Снилс; responce.PersonSnils = record.Снилс;
SMRecord.rowguid_contingent = record.Личность.ToString(); responce.rowguid_contingent = record.Личность.ToString();
SMRecord.Status = record.ПриказОтчисления == null ? record.ПриказЗачисления == null ? "3" : "1" : "2"; responce.Status = record.ПриказОтчисления == null ? record.ПриказЗачисления == null ? "3" : "1" : "2";
SMRecord.StatusDate = SMRecord.Status switch { responce.StatusDate = responce.Status switch {
"1" => record.НачальнаяДата, "1" => record.НачальнаяДата,
"2" => record.КонечнаяДата, "2" => record.КонечнаяДата,
_ => DateTime.Now, _ => DateTime.Now,
}; };
if (SMRecord.Status == "1") { if (responce.Status == "1") {
SMRecord.FounderType = record.ВидУчредителяКод.ToString() ?? String.Empty; responce.FounderType = record.ВидУчредителяКод.ToString() ?? String.Empty;
SMRecord.OrganizationType = GetOrganizationType(context, record.ТипОрганизации).ToString() switch { responce.OrganizationType = GetOrganizationType(context, record.ТипОрганизации).ToString() switch {
"29025A0D-7C7F-457B-9E14-0A6C16CBF94D" => "1", "29025A0D-7C7F-457B-9E14-0A6C16CBF94D" => "1",
"CF85F418-FFAD-4C86-8937-B2D4FBF4B661" => "2", "CF85F418-FFAD-4C86-8937-B2D4FBF4B661" => "2",
"1EB33F46-5A7C-4117-97EB-D3DFE4C3A7B2" => "3", "1EB33F46-5A7C-4117-97EB-D3DFE4C3A7B2" => "3",
...@@ -125,14 +124,14 @@ namespace SocialMinistryDataExchange.Model { ...@@ -125,14 +124,14 @@ namespace SocialMinistryDataExchange.Model {
_ => "5", _ => "5",
}; };
SMRecord.EducationProgram = GetProgramType(context, record.ОбразовательнаяПрограммаТип).ToString() switch { responce.EducationProgram = GetProgramType(context, record.ОбразовательнаяПрограммаТип).ToString() switch {
"5BE7BD7C-1202-45E2-8E9E-7247070EA7B6" => "1", "5BE7BD7C-1202-45E2-8E9E-7247070EA7B6" => "1",
"C09D82B4-CC8D-4EB8-9703-C95AEA53E044" => "2", "C09D82B4-CC8D-4EB8-9703-C95AEA53E044" => "2",
"8E674FDF-32CF-4080-B062-85C41A067A6F" => "3", "8E674FDF-32CF-4080-B062-85C41A067A6F" => "3",
_ => "4", _ => "4",
}; };
SMRecord.EducationForm = record.ФормаОбученияКод switch { responce.EducationForm = record.ФормаОбученияКод switch {
11 => "1", 11 => "1",
12 => "2", 12 => "2",
13 => "3", 13 => "3",
...@@ -144,47 +143,16 @@ namespace SocialMinistryDataExchange.Model { ...@@ -144,47 +143,16 @@ namespace SocialMinistryDataExchange.Model {
} }
else { else {
// записи не найдены // записи не найдены
SMRecord.rowguid_eais = record.rowguid_eais; responce.rowguid_eais = record.rowguid_eais;
SMRecord.PersonDocumentSeria = record.СерияДокумента; responce.PersonDocumentSeria = record.СерияДокумента;
SMRecord.PersonDocumentNumber = record.НомерДокумента; responce.PersonDocumentNumber = record.НомерДокумента;
SMRecord.Status = "3"; responce.Status = "3";
SMRecord.StatusDate = DateTime.Now; responce.StatusDate = DateTime.Now;
}
responce.Add(SMRecord);
} }
return responce; return responce;
} }
//форма обучения в GetPersonByID не исправлена
public Task<List<SMResponce>> GetPersonByID(string ID) {
var records = _contingentContext.ЛичностьПодразделенияs.Where(persondepartment => persondepartment.Личность == new Guid(ID))
.Join(_contingentContext.Личностьs, persondepartment => persondepartment.Личность, person => person.PrimaryKey, (persondepartment, person) => new { persondepartment, person })
.Join(_contingentContext.Территорияs, up => up.person.ТерриторияФактическогоМестаЖительстваNew, location => location.PrimaryKey, (up, location) => new { up.persondepartment, up.person, location })
.Join(_contingentContext.ОбразовательнаяОрганизацияs, up => up.persondepartment.Организация, organization => organization.PrimaryKey, (up, organization) => new { up.persondepartment, up.person, up.location, organization })
.Join(_contingentContext.ВидУчредителяs, up => up.organization.ВидУчредителя, organizationfounder => organizationfounder.PrimaryKey, (up, organizationfounder) => new { up.persondepartment, up.person, up.location, up.organization, organizationfounder })
.Join(_contingentContext.ДокументЛичностиs, up => up.persondepartment.Личность, doc => doc.Личность, (up, doc) => new { up.persondepartment, up.person, up.location, up.organization, up.organizationfounder, doc })
.Join(_contingentContext.ВидУдостоверяющегоДокументаs, up => up.doc.ВидУдостоверяющегоДокумента, doctype => doctype.PrimaryKey, (up, doctype) => new { up.persondepartment, up.person, up.location, up.organization, up.organizationfounder, up.doc, doctype })
.Join(_contingentContext.ОбразовательнаяПрограммаОрганизацииs, up => up.organization.PrimaryKey, educationprogram => educationprogram.Организация, (up, educationprogram) => new { up.persondepartment, up.person, up.location, up.organization, up.organizationfounder, up.doc, up.doctype, educationprogram })
.Join(_contingentContext.ТипОбразовательнойПрограммыs, up => up.educationprogram.ТипОп, programtype => programtype.PrimaryKey, (up, programtype) => new { up.persondepartment, up.person, up.location, up.organization, up.organizationfounder, up.doc, up.doctype, up.educationprogram, programtype })
.Join(_contingentContext.ФормаОбученияs, up => up.programtype.Иерархия, eduform => eduform.Иерархия, (up, eduform) => new { up.persondepartment, up.person, up.location, up.organization, up.organizationfounder, up.doc, up.doctype, up.educationprogram, up.programtype, eduform })
.Select(result => new SMResponceTemp() {
Личность = result.persondepartment.Личность, ПриказЗачисления = result.persondepartment.ПриказЗачисления, ПриказОтчисления = result.persondepartment.ПриказОтчисления
, НачальнаяДата = result.persondepartment.НачальнаяДата, КонечнаяДата = result.persondepartment.КонечнаяДата, Подразделение = result.persondepartment.Подразделение
, Организация = result.persondepartment.Организация
, Имя = result.person.Имя, Отчество = result.person.Отчество, Фамилия = result.person.Фамилия, БезОтчества = result.person.БезОтчества, ДатаРождения = result.person.ДатаРождения
, ТерриторияФактическогоМестаЖительстваNew = result.person.ТерриторияФактическогоМестаЖительстваNew, Снилс = result.person.Снилс
, ТерриторияShortname = result.location.Наименование, ТипОрганизации = result.organization.ТипОрганизации, ПолноеНаименованиеОрганизации = result.organization.ПолноеНаименование, ВидУчредителя = result.organization.ВидУчредителя
, ВидУчредителяКод = result.organizationfounder.Код
, СерияДокумента = result.doc.СерияДокумента, НомерДокумента = result.doc.НомерДокумента, КогдаВыданДокумент = result.doc.КогдаВыданДокумент, ВидУдостоверяющегоДокумента = result.doc.ВидУдостоверяющегоДокумента
, НаименованиеУдостоверяющегоДокумента = result.doctype.Наименование, КодУдостоверяющегоДокумента = result.doctype.Код
, ОбразовательнаяПрограммаТип = result.educationprogram.ТипОп, ОбразовательнаяПрограммаКод = result.programtype.Код, ОбразовательнаяПрограммаИерархия = result.programtype.Иерархия
, ФормаОбученияНаименование = result.eduform.Наименование, ФормаОбученияКод = result.eduform.Код
, rowguid_eais = result.person.PrimaryKey.ToString()
}).ToList();
return Task.FromResult(FormatResponce(_contingentContext, records));
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment