Commit 1d9c1e93 by AlexNasyr

DI in repository realized

parent d53c5430
...@@ -7,42 +7,45 @@ using System.Threading.Tasks; ...@@ -7,42 +7,45 @@ using System.Threading.Tasks;
namespace SocialMinistryDataExchange.Controllers { namespace SocialMinistryDataExchange.Controllers {
[ApiController] [ApiController]
public class apiController : ControllerBase { public class apiController : ControllerBase {
private readonly ISMContext _context; private ISMRepository _repository;
public apiController(ISMContext context) { public apiController(ISMRepository repository) {
_context = context; _repository = repository;
} }
[HttpGet] [HttpGet]
[Route("[controller]/getpersonFixID")] [Route("[controller]/getpersonFixID")]
public async Task<List<SMResponce>> 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; return result;
} }
[HttpPost] [HttpPost]
[Route("[controller]/getpersonByID/{PersonID}")] [Route("[controller]/getpersonByID/{PersonID}")]
public async Task<List<SMResponce>> GetPersonByID(string PersonID) { public async Task<List<SMResponce>> GetPersonByID(string PersonID) {
var result = await _context.GetPersonByID(PersonID); var result = await _repository.GetPersonByID(PersonID);
return result; return result;
} }
// тестовый запрос с фиксированным документом личности
[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 = "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; return result;
} }
// запрос по серии/номеру документа личности
[HttpPost] [HttpPost]
[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<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; return result;
} }
// запрос статуса нуждаемости по guid личности
[HttpPost] [HttpPost]
[Route("[controller]/getpersonDefenceDemandByID/{PersonID}")] [Route("[controller]/getpersonDefenceDemandByID/{PersonID}")]
public async Task<ISMDefenceDemandResponce> GetPersonDefenceDemandByID(string PersonID) { public async Task<SMDefenceDemandResponce> GetPersonDefenceDemandByID(string PersonID) {
var result = await _context.GetPersonDefenceDemandByID(PersonID); var result = await _repository.GetPersonDefenceDemandByID(PersonID);
return result; 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 @@ ...@@ -2,9 +2,9 @@
using System.Threading.Tasks; using System.Threading.Tasks;
namespace SocialMinistryDataExchange.Model { namespace SocialMinistryDataExchange.Model {
public interface ISMContext { public interface ISMRepository {
Task<List<SMResponce>> GetPersonByID(string ID); Task<List<SMResponce>> GetPersonByID(string ID);
Task<List<SMResponce>> GetPersonByDoc(string Document); Task<List<SMResponce>> GetPersonByDoc(string Document);
Task<ISMDefenceDemandResponce> GetPersonDefenceDemandByID(string PersonID); Task<SMDefenceDemandResponce> GetPersonDefenceDemandByID(string PersonID);
} }
} }
using System; using System;
namespace SocialMinistryDataExchange.Model { namespace SocialMinistryDataExchange.Model {
public class ISMDefenceDemandResponce { public class SMDefenceDemandResponce {
public ISMDefenceDemandResponce() { public SMDefenceDemandResponce() {
} }
public Guid PersonID { get; set; } public Guid PersonID { get; set; }
......
...@@ -29,7 +29,8 @@ namespace SocialMinistryDataExchange { ...@@ -29,7 +29,8 @@ namespace SocialMinistryDataExchange {
c.SwaggerDoc("v1", new OpenApiInfo { Title = "SocialMinistryDataExchange", Version = "v1" }); c.SwaggerDoc("v1", new OpenApiInfo { Title = "SocialMinistryDataExchange", Version = "v1" });
}); });
services.AddDbContext<Êîíòèíãåíò_center_Context>(options => options.UseSqlServer(ConnectionString)); 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. // 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