Commit 928ce71b by Alex Nasyr

responce achived

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