Commit 1d9c1e93 by AlexNasyr

DI in repository realized

parent d53c5430
......@@ -7,42 +7,45 @@ using System.Threading.Tasks;
namespace SocialMinistryDataExchange.Controllers {
[ApiController]
public class apiController : ControllerBase {
private readonly ISMContext _context;
public apiController(ISMContext context) {
_context = context;
private ISMRepository _repository;
public apiController(ISMRepository repository) {
_repository = repository;
}
[HttpGet]
[Route("[controller]/getpersonFixID")]
public async Task<List<SMResponce>> GetPersonFixID() {
var result = await _context.GetPersonByID("27373577-4234-43B2-A969-8D95B9384171");
var result = await _repository.GetPersonByID("27373577-4234-43B2-A969-8D95B9384171");
return result;
}
[HttpPost]
[Route("[controller]/getpersonByID/{PersonID}")]
public async Task<List<SMResponce>> GetPersonByID(string PersonID) {
var result = await _context.GetPersonByID(PersonID);
var result = await _repository.GetPersonByID(PersonID);
return result;
}
// тестовый запрос с фиксированным документом личности
[HttpGet]
[Route("[controller]/getpersonFixDoc")]
public async Task<List<SMResponce>> GetPersonFixDoc() {
var result = await _context.GetPersonByDoc(JsonSerializer.Serialize(new SMRequest() { rowguid_eais = "223322", document_seria = "V-II", document_number = "123456" }));
var result = await _repository.GetPersonByDoc(JsonSerializer.Serialize(new SMRequest() { rowguid_eais = "223322", document_seria = "V-II", document_number = "123456" }));
return result;
}
// запрос по серии/номеру документа личности
[HttpPost]
[Route("[controller]/getpersonByDoc/{Rowguid}/{Seria}/{Number}")]
public async Task<List<SMResponce>> GetPersonFixDoc(string Rowguid, string Seria, string Number) {
var result = await _context.GetPersonByDoc(JsonSerializer.Serialize(new SMRequest() { rowguid_eais = Rowguid, document_seria = Seria, document_number = Number }));
var result = await _repository.GetPersonByDoc(JsonSerializer.Serialize(new SMRequest() { rowguid_eais = Rowguid, document_seria = Seria, document_number = Number }));
return result;
}
// запрос статуса нуждаемости по guid личности
[HttpPost]
[Route("[controller]/getpersonDefenceDemandByID/{PersonID}")]
public async Task<ISMDefenceDemandResponce> GetPersonDefenceDemandByID(string PersonID) {
var result = await _context.GetPersonDefenceDemandByID(PersonID);
public async Task<SMDefenceDemandResponce> GetPersonDefenceDemandByID(string PersonID) {
var result = await _repository.GetPersonDefenceDemandByID(PersonID);
return result;
}
}
......
using Microsoft.EntityFrameworkCore;
using SocialMinistryDataExchange.Model.DB;
namespace SocialMinistryDataExchange.Model {
public interface IContingentContext {
DbSet<СтатусыНуждаемости> СтатусыНуждаемостиs { get; set; }
DbSet<ТипНуждаемости> ТипНуждаемостиs { get; set; }
DbSet<ДокументЛичности> ДокументЛичностиs { get; set; }
DbSet<ЛичностьПодразделения> ЛичностьПодразделенияs { get; set; }
DbSet<ОбразовательнаяПрограммаОрганизации> ОбразовательнаяПрограммаОрганизацииs { get; set; }
DbSet<ТекущаяЛичностьПодразделения> ТекущаяЛичностьПодразделенияs { get; set; }
DbSet<Личность> Личностьs { get; set; }
DbSet<Территория> Территорияs { get; set; }
DbSet<ОбразовательнаяОрганизация> ОбразовательнаяОрганизацияs { get; set; }
DbSet<ВидУчредителя> ВидУчредителяs { get; set; }
DbSet<ВидУдостоверяющегоДокумента> ВидУдостоверяющегоДокументаs { get; set; }
DbSet<ТипОбразовательнойПрограммы> ТипОбразовательнойПрограммыs { get; set; }
DbSet<ФормаОбучения> ФормаОбученияs { get; set; }
DbSet<ТипОбразовательнойОрганизации> ТипОбразовательнойОрганизацииs { get; set; }
}
}
......@@ -2,9 +2,9 @@
using System.Threading.Tasks;
namespace SocialMinistryDataExchange.Model {
public interface ISMContext {
public interface ISMRepository {
Task<List<SMResponce>> GetPersonByID(string ID);
Task<List<SMResponce>> GetPersonByDoc(string Document);
Task<ISMDefenceDemandResponce> GetPersonDefenceDemandByID(string PersonID);
Task<SMDefenceDemandResponce> GetPersonDefenceDemandByID(string PersonID);
}
}
using System;
namespace SocialMinistryDataExchange.Model {
public class ISMDefenceDemandResponce {
public ISMDefenceDemandResponce() {
public class SMDefenceDemandResponce {
public SMDefenceDemandResponce() {
}
public Guid PersonID { get; set; }
......
......@@ -29,7 +29,8 @@ namespace SocialMinistryDataExchange {
c.SwaggerDoc("v1", new OpenApiInfo { Title = "SocialMinistryDataExchange", Version = "v1" });
});
services.AddDbContext<Êîíòèíãåíò_center_Context>(options => options.UseSqlServer(ConnectionString));
services.AddTransient<ISMContext, Êîíòèíãåíò_center_Context>();
services.AddTransient<IContingentContext, Êîíòèíãåíò_center_Context>();
services.AddTransient<ISMRepository, SMRepository>();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
......
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