Commit 928ce71b by Alex Nasyr

responce achived

parent 2ca6da83
......@@ -29,7 +29,7 @@ namespace SocialMinistryDataExchange.Controllers {
[HttpGet]
[Route("[controller]/getpersonFixDoc")]
public async Task<List<SMResponce>> GetPersonFixDoc() {
var result = await _context.GetPersonByDoc(JsonSerializer.Serialize(new SMRequest() { rowguid_eais = "223322", document_seria = "1234", document_number = "123456" }));
var result = await _context.GetPersonByDoc(JsonSerializer.Serialize(new SMRequest() { rowguid_eais = "223322", document_seria = "V-II", document_number = "123456" }));
return result;
}
[HttpPost]
......
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
......@@ -13,34 +13,65 @@ namespace SocialMinistryDataExchange.Model.DB.Center {
public Task<List<SMResponce>> GetPersonByDoc(string document) {
var doc = JsonSerializer.Deserialize<SMRequest>(document);
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() {
var t = (from pd in ДокументЛичностиs where pd.СерияДокумента == doc.document_seria && pd.НомерДокумента == doc.document_number
join lp in ЛичностьПодразделенияs on pd.Личность equals lp.Личность into lps
from lp in lps.DefaultIfEmpty()
join op in ОбразовательнаяПрограммаОрганизацииs on lp.Организация equals op.Организация into ops
from op in ops.DefaultIfEmpty()
join cp in ТекущаяЛичностьПодразделенияs on pd.Личность equals cp.Личность into cps
from cp in cps.DefaultIfEmpty()
select new SMResponceTemp {
rowguid_eais = doc.rowguid_eais
// СерияДокумента, НомерДокумента, КогдаВыданДокумент, ВидУдостоверяющегоДокумента, НаименованиеУдостоверяющегоДокумента, КодУдостоверяющегоДокумента
, СерияДокумента = doc.document_seria, НомерДокумента = doc.document_number, КогдаВыданДокумент = result.pd.КогдаВыданДокумент, ВидУдостоверяющегоДокумента = result.pd.ВидУдостоверяющегоДокумента, НаименованиеУдостоверяющегоДокумента = result.pd.ВидУдостоверяющегоДокументаNavigation.Наименование, КодУдостоверяющегоДокумента = result.pd.ВидУдостоверяющегоДокументаNavigation.Код
, СерияДокумента = doc.document_seria, НомерДокумента = doc.document_number, КогдаВыданДокумент = pd.КогдаВыданДокумент, ВидУдостоверяющегоДокумента = pd.ВидУдостоверяющегоДокумента, НаименованиеУдостоверяющегоДокумента = pd.ВидУдостоверяющегоДокументаNavigation.Наименование, КодУдостоверяющегоДокумента = pd.ВидУдостоверяющегоДокументаNavigation.Код
// Личность (Guid), Имя, Отчество, БезОтчества, Фамилия
, Личность = result.pd.Личность, Имя = result.pd.ЛичностьNavigation.Имя, Отчество = result.pd.ЛичностьNavigation.Отчество, БезОтчества = result.pd.ЛичностьNavigation.БезОтчества, Фамилия = result.pd.ЛичностьNavigation.Фамилия
, Личность = pd.Личность, Имя = pd.ЛичностьNavigation.Имя, Отчество = pd.ЛичностьNavigation.Отчество, БезОтчества = pd.ЛичностьNavigation.БезОтчества, Фамилия = pd.ЛичностьNavigation.Фамилия
// ДатаРождения, ТерриторияФактическогоМестаЖительстваNew (нигде не заполнено - null), Снилс
, ДатаРождения = result.pd.ЛичностьNavigation.ДатаРождения, ТерриторияФактическогоМестаЖительстваNew = result.pd.ЛичностьNavigation.ТерриторияФактическогоМестаЖительстваNew, Снилс = result.pd.ЛичностьNavigation.Снилс
, ДатаРождения = pd.ЛичностьNavigation.ДатаРождения, ТерриторияФактическогоМестаЖительстваNew = pd.ЛичностьNavigation.ТерриторияФактическогоМестаЖительстваNew, Снилс = pd.ЛичностьNavigation.Снилс
// ТерриторияShortname
, ТерриторияShortname = result.pd.ЛичностьNavigation.ТерриторияФактическогоМестаЖительстваNewNavigation.ТерриторияNavigation.Наименование
, ТерриторияShortname = pd.ЛичностьNavigation.ТерриторияФактическогоМестаЖительстваNewNavigation.ТерриторияNavigation.Наименование
// ПриказЗачисления, ПриказОтчисления, НачальнаяДата, КонечнаяДата, Подразделение (Guid), Организация (Guid)
, ПриказЗачисления = result.lp.ПриказЗачисления, ПриказОтчисления = result.lp.ПриказОтчисления, НачальнаяДата = result.lp.НачальнаяДата, КонечнаяДата = result.lp.КонечнаяДата, Подразделение = result.lp.Подразделение, Организация = result.lp.Организация
, ПриказЗачисления = lp.ПриказЗачисления, ПриказОтчисления = lp.ПриказОтчисления, НачальнаяДата = lp.НачальнаяДата, КонечнаяДата = lp.КонечнаяДата, Подразделение = lp.Подразделение, Организация = lp.Организация
// ТипОрганизации, ТипОрганизацииКод, ТипОрганизацииНаименование
, ТипОрганизации = result.lp.ОрганизацияNavigation.ТипОрганизации, ТипОрганизацииКод = result.lp.ОрганизацияNavigation.ТипОрганизацииNavigation.Код, ТипОрганизацииНаименование = result.lp.ОрганизацияNavigation.ТипОрганизацииNavigation.Наименование
, ТипОрганизации = lp.ОрганизацияNavigation.ТипОрганизации, ТипОрганизацииКод = lp.ОрганизацияNavigation.ТипОрганизацииNavigation.Код, ТипОрганизацииНаименование = lp.ОрганизацияNavigation.ТипОрганизацииNavigation.Наименование
// ПолноеНаименованиеОрганизации, ВидУчредителя (Guid), ВидУчредителяКод
, ПолноеНаименованиеОрганизации = result.lp.ОрганизацияNavigation.ПолноеНаименование, ВидУчредителя = result.lp.ОрганизацияNavigation.ВидУчредителя, ВидУчредителяКод = result.lp.ОрганизацияNavigation.ВидУчредителяNavigation.Код
, ПолноеНаименованиеОрганизации = lp.ОрганизацияNavigation.ПолноеНаименование, ВидУчредителя = lp.ОрганизацияNavigation.ВидУчредителя, ВидУчредителяКод = lp.ОрганизацияNavigation.ВидУчредителяNavigation.Код
// ОбразовательнаяПрограммаТип (Guid), ОбразовательнаяПрограммаКод
, ОбразовательнаяПрограммаТип = result.op.ТипОп, ОбразовательнаяПрограммаКод = result.op.ТипОпNavigation.Код
, ОбразовательнаяПрограммаТип = op.ТипОп, ОбразовательнаяПрограммаКод = op.ТипОпNavigation.Код
// ФормаОбученияКод, ФормаОбученияНаименование
, ФормаОбученияКод = result.cp.ФормаОбученияNavigation.Код, ФормаОбученияНаименование = result.cp.ФормаОбученияNavigation.Наименование
, ФормаОбученияКод = cp.ФормаОбученияNavigation.Код, ФормаОбученияНаименование = cp.ФормаОбученияNavigation.Наименование
}).ToList();
return Task.FromResult(FormatResponce(records));
//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
// // СерияДокумента, НомерДокумента, КогдаВыданДокумент, ВидУдостоверяющегоДокумента, НаименованиеУдостоверяющегоДокумента, КодУдостоверяющегоДокумента
// , СерияДокумента = doc.document_seria, НомерДокумента = doc.document_number, КогдаВыданДокумент = 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.Организация
// // ТипОрганизации, ТипОрганизацииКод, ТипОрганизацииНаименование
// , ТипОрганизации = result.lp.ОрганизацияNavigation.ТипОрганизации, ТипОрганизацииКод = result.lp.ОрганизацияNavigation.ТипОрганизацииNavigation.Код, ТипОрганизацииНаименование = result.lp.ОрганизацияNavigation.ТипОрганизацииNavigation.Наименование
// // ПолноеНаименованиеОрганизации, ВидУчредителя (Guid), ВидУчредителяКод
// , ПолноеНаименованиеОрганизации = 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));
return Task.FromResult(FormatResponce(t));
}
catch(Exception ex){
// TODO log exception
......
......@@ -27,7 +27,7 @@ namespace SocialMinistryDataExchange.Model {
public class SMResponceTemp {
public string rowguid_eais { get; set; }
public Guid Личность { get; set; }
public Guid? Личность { get; set; }
public Guid? ПриказЗачисления { get; set; }
public Guid? ПриказОтчисления { get; set; }
public DateTime? НачальнаяДата { get; set; }
......@@ -35,33 +35,33 @@ namespace SocialMinistryDataExchange.Model {
public Guid? Подразделение { get; set; }
public Guid? Организация { get; set; }
public string Имя { get; set; }
public string Отчество { get; set; }
public string Фамилия { get; set; }
public string? Имя { get; set; }
public string? Отчество { get; set; }
public string? Фамилия { get; set; }
public bool? БезОтчества { get; set; }
public DateTime? ДатаРождения { get; set; }
public Guid? ТерриторияФактическогоМестаЖительстваNew { get; set; }
public string Снилс { get; set; }
public string? Снилс { get; set; }
public string ТерриторияShortname { get; set; }
public string? ТерриторияShortname { get; set; }
public Guid? ТипОрганизации { get; set; }
public int? ТипОрганизацииКод { get; set; }
public string ТипОрганизацииНаименование { get; set; }
public string ПолноеНаименованиеОрганизации { get; set; }
public string? ТипОрганизацииНаименование { get; set; }
public string? ПолноеНаименованиеОрганизации { get; set; }
public Guid? ВидУчредителя { get; set; }
public int? ВидУчредителяКод { get; set; }
public string СерияДокумента { get; set; }
public string НомерДокумента { get; set; }
public DateTime? КогдаВыданДокумент { get; set; }
public Guid ВидУдостоверяющегоДокумента { get; set; }
public string НаименованиеУдостоверяющегоДокумента { get; set; }
public Guid? ВидУдостоверяющегоДокумента { get; set; }
public string? НаименованиеУдостоверяющегоДокумента { get; set; }
public int? КодУдостоверяющегоДокумента { get; set; }
public Guid ОбразовательнаяПрограммаТип { get; set; }
public Guid? ОбразовательнаяПрограммаТип { get; set; }
public int? ОбразовательнаяПрограммаКод { get; set; }
public Guid? ОбразовательнаяПрограммаИерархия { get; set; }
public string ФормаОбученияНаименование { get; set; }
public string? ФормаОбученияНаименование { get; set; }
public int? ФормаОбученияКод { get; set; }
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