Commit 51e111bf by AlexNasyr

responce formatting

parent e388f5c3
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
......@@ -12,31 +12,62 @@ namespace SocialMinistryDataExchange.Model.DB.Center {
public Task<List<SMResponce>> GetPersonByDoc(string document) {
var doc = JsonSerializer.Deserialize<SMRequest>(document);
var records = ДокументЛичностиs.Where(pd => (pd.СерияДокумента == doc.document_seria) && (pd.НомерДокумента == doc.document_number))
.Join(ЛичностьПодразделенияs, pd => pd.Личность, lp => lp.Личность, (pd, lp) => new { pd, lp })
.Join(ОбразовательнаяПрограммаОрганизацииs, up => up.lp.ОрганизацияNavigation.PrimaryKey, op => op.Организация, (up, op) => new { up.pd, up.lp, op })
.Join(ТекущаяЛичностьПодразделенияs, up => up.pd.Личность, cp => cp.Личность, (up, cp) => new { up.pd, up.lp, up.op, cp })
.Select(result => new SMResponce() { rowguid_eais = doc.rowguid_eais
// СерияДокумента, НомерДокумента, КогдаВыданДокумент, ВидУдостоверяющегоДокумента, НаименованиеУдостоверяющегоДокумента, КодУдостоверяющегоДокумента
, СерияДокумента = result.pd.СерияДокумента, НомерДокумента = result.pd.НомерДокумента, КогдаВыданДокумент = result.pd.КогдаВыданДокумент, ВидУдостоверяющегоДокумента = result.pd.ВидУдостоверяющегоДокумента, НаименованиеУдостоверяющегоДокумента = result.pd.ВидУдостоверяющегоДокументаNavigation.Наименование, КодУдостоверяющегоДокумента = result.pd.ВидУдостоверяющегоДокументаNavigation.Код
// Личность (Guid), Имя, Отчество, БезОтчества, Фамилия
, Личность = result.pd.Личность, Имя = result.pd.ЛичностьNavigation.Имя, Отчество = result.pd.ЛичностьNavigation.Отчество, БезОтчества = result.pd.ЛичностьNavigation.БезОтчества, Фамилия = result.pd.ЛичностьNavigation.Фамилия
// ДатаРождения, ТерриторияФактическогоМестаЖительстваNew (нигде не заполнено - null), Снилс
, ДатаРождения = result.pd.ЛичностьNavigation.ДатаРождения, ТерриторияФактическогоМестаЖительстваNew = result.pd.ЛичностьNavigation.ТерриторияФактическогоМестаЖительстваNew, Снилс = result.pd.ЛичностьNavigation.Снилс
// ТерриторияShortname
, ТерриторияShortname = result.pd.ЛичностьNavigation.ТерриторияФактическогоМестаЖительстваNewNavigation.ТерриторияNavigation.Наименование
// ПриказЗачисления, ПриказОтчисления, НачальнаяДата, КонечнаяДата, Подразделение (Guid), Организация (Guid)
, ПриказЗачисления = result.lp.ПриказЗачисления, ПриказОтчисления = result.lp.ПриказОтчисления, НачальнаяДата = result.lp.НачальнаяДата, КонечнаяДата = result.lp.КонечнаяДата, Подразделение = result.lp.Подразделение, Организация = result.lp.Организация
// ТипОрганизации, ПолноеНаименованиеОрганизации, ВидУчредителя (Guid), ВидУчредителяКод
, ТипОрганизации = result.lp.ОрганизацияNavigation.ТипОрганизации, ПолноеНаименованиеОрганизации = result.lp.ОрганизацияNavigation.ПолноеНаименование, ВидУчредителя = result.lp.ОрганизацияNavigation.ВидУчредителя, ВидУчредителяКод = result.lp.ОрганизацияNavigation.ВидУчредителяNavigation.Код
// ОбразовательнаяПрограммаТип (Guid), ОбразовательнаяПрограммаКод
, ОбразовательнаяПрограммаТип = result.op.ТипОп, ОбразовательнаяПрограммаКод = result.op.ТипОпNavigation.Код
// ФормаОбученияКод, ФормаОбученияНаименование
, ФормаОбученияКод = result.cp.ФормаОбученияNavigation.Код, ФормаОбученияНаименование = result.cp.ФормаОбученияNavigation.Наименование
}).ToList();
return Task.FromResult(records);
}
try {
var records = ДокументЛичностиs.Where(pd => (pd.СерияДокумента == doc.document_seria) && (pd.НомерДокумента == doc.document_number))
.Join(ЛичностьПодразделенияs, pd => pd.Личность, lp => lp.Личность, (pd, lp) => new { pd, lp })
.Join(ОбразовательнаяПрограммаОрганизацииs, up => up.lp.ОрганизацияNavigation.PrimaryKey, op => op.Организация, (up, op) => new { up.pd, up.lp, op })
.Join(ТекущаяЛичностьПодразделенияs, up => up.pd.Личность, cp => cp.Личность, (up, cp) => new { up.pd, up.lp, up.op, cp })
.Select(result => new SMResponceTemp() {
rowguid_eais = doc.rowguid_eais
// СерияДокумента, НомерДокумента, КогдаВыданДокумент, ВидУдостоверяющегоДокумента, НаименованиеУдостоверяющегоДокумента, КодУдостоверяющегоДокумента
, СерияДокумента = result.pd.СерияДокумента, НомерДокумента = result.pd.НомерДокумента, КогдаВыданДокумент = result.pd.КогдаВыданДокумент, ВидУдостоверяющегоДокумента = result.pd.ВидУдостоверяющегоДокумента, НаименованиеУдостоверяющегоДокумента = result.pd.ВидУдостоверяющегоДокументаNavigation.Наименование, КодУдостоверяющегоДокумента = result.pd.ВидУдостоверяющегоДокументаNavigation.Код
// Личность (Guid), Имя, Отчество, БезОтчества, Фамилия
, Личность = result.pd.Личность, Имя = result.pd.ЛичностьNavigation.Имя, Отчество = result.pd.ЛичностьNavigation.Отчество, БезОтчества = result.pd.ЛичностьNavigation.БезОтчества, Фамилия = result.pd.ЛичностьNavigation.Фамилия
// ДатаРождения, ТерриторияФактическогоМестаЖительстваNew (нигде не заполнено - null), Снилс
, ДатаРождения = result.pd.ЛичностьNavigation.ДатаРождения, ТерриторияФактическогоМестаЖительстваNew = result.pd.ЛичностьNavigation.ТерриторияФактическогоМестаЖительстваNew, Снилс = result.pd.ЛичностьNavigation.Снилс
// ТерриторияShortname
, ТерриторияShortname = result.pd.ЛичностьNavigation.ТерриторияФактическогоМестаЖительстваNewNavigation.ТерриторияNavigation.Наименование
// ПриказЗачисления, ПриказОтчисления, НачальнаяДата, КонечнаяДата, Подразделение (Guid), Организация (Guid)
, ПриказЗачисления = result.lp.ПриказЗачисления, ПриказОтчисления = result.lp.ПриказОтчисления, НачальнаяДата = result.lp.НачальнаяДата, КонечнаяДата = result.lp.КонечнаяДата, Подразделение = result.lp.Подразделение, Организация = result.lp.Организация
// ТипОрганизации, ПолноеНаименованиеОрганизации, ВидУчредителя (Guid), ВидУчредителяКод
, ТипОрганизации = result.lp.ОрганизацияNavigation.ТипОрганизации, ПолноеНаименованиеОрганизации = result.lp.ОрганизацияNavigation.ПолноеНаименование, ВидУчредителя = result.lp.ОрганизацияNavigation.ВидУчредителя, ВидУчредителяКод = result.lp.ОрганизацияNavigation.ВидУчредителяNavigation.Код
// ОбразовательнаяПрограммаТип (Guid), ОбразовательнаяПрограммаКод
, ОбразовательнаяПрограммаТип = result.op.ТипОп, ОбразовательнаяПрограммаКод = result.op.ТипОпNavigation.Код
// ФормаОбученияКод, ФормаОбученияНаименование
, ФормаОбученияКод = result.cp.ФормаОбученияNavigation.Код, ФормаОбученияНаименование = result.cp.ФормаОбученияNavigation.Наименование
}).ToList();
return Task.FromResult(FormatResponce(records));
}
catch(Exception ex){
// TODO log exception
return Task.FromResult(FormatResponce(new List<SMResponceTemp>()));
}
}
private List<SMResponce> FormatResponce(List<SMResponceTemp> records) {
List<SMResponce> responce = new();
foreach (SMResponceTemp record in records) {
var SMRecord = new SMResponce();
SMRecord.rowguid_eais = record.rowguid_eais;
SMRecord.TerritoryName = record.ТерриторияShortname;
SMRecord.PersonFamilyName = record.Фамилия;
SMRecord.PersonName = record.Имя;
SMRecord.PersonSurname = record.Отчество;
SMRecord.PersonBirthday = record.ДатаРождения;
SMRecord.PersonDocumentType = record.КодУдостоверяющегоДокумента == 12 || record.КодУдостоверяющегоДокумента == 13 || record.КодУдостоверяющегоДокумента == 21 ? "1" : record.КодУдостоверяющегоДокумента == 11 || record.КодУдостоверяющегоДокумента == 31 ? "2" : String.Empty;
SMRecord.PersonDocumentSeria = record.СерияДокумента;
SMRecord.PersonDocumentNumber = record.НомерДокумента;
SMRecord.PersonDocumentDate = record.КогдаВыданДокумент;
SMRecord.PersonSnils = record.Снилс;
SMRecord.rowguid_contingent = record.Личность.ToString();
responce.Add(SMRecord);
}
return responce;
}
//форма обучения в GetPersonByID не исправлена
public Task<List<SMResponce>> GetPersonByID(string ID) {
......@@ -50,7 +81,7 @@ namespace SocialMinistryDataExchange.Model.DB.Center {
.Join(ОбразовательнаяПрограммаОрганизации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(ТипОбразовательнойПрограммы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(ФормаОбучения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 SMResponce() {Личность = result.persondepartment.Личность, ПриказЗачисления = result.persondepartment.ПриказЗачисления, ПриказОтчисления = result.persondepartment.ПриказОтчисления
.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.ДатаРождения
......@@ -63,7 +94,7 @@ namespace SocialMinistryDataExchange.Model.DB.Center {
, ФормаОбученияНаименование = result.eduform.Наименование, ФормаОбученияКод = result.eduform.Код
, rowguid_eais = result.person.PrimaryKey.ToString()
}).ToList();
return Task.FromResult(records);
return Task.FromResult(FormatResponce(records));
}
public Контингент_center_Context() {
......
using System;
namespace SocialMinistryDataExchange.Model {
public class SMResponce {
public class SMResponce {
public SMResponce() { }
public string rowguid_eais { get; set; }
public string TerritoryName { get; set; }
public string PersonFamilyName { get; set; }
public string PersonName { get; set; }
public string PersonSurname { get; set; }
public DateTime? PersonBirthday { get; set; }
public string PersonDocumentType { get; set; }
public string PersonDocumentSeria { get; set; }
public string PersonDocumentNumber { get; set; }
public DateTime? PersonDocumentDate { get; set; }
public string PersonSnils { get; set; }
public string rowguid_contingent { get; set; }
public string Status { get; set; }
public DateTime StatusDate { get; set; }
public string FounderType { get; set; }
public string OrganizationType { get; set; }
public string EducationProgram { get; set; }
public string EducationForm { get; set; }
}
public class SMResponceTemp {
public string rowguid_eais { get; set; }
public Guid Личность { get; set; }
......@@ -39,7 +62,7 @@ namespace SocialMinistryDataExchange.Model {
public string ФормаОбученияНаименование { get; set; }
public int? ФормаОбученияКод { get; set; }
public SMResponce() {
public SMResponceTemp() {
}
}
}
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