/
anton.bessolitsyn
/
easyapi
Обзор
Документация
Войти
/
anton.bessolitsyn
/
easyapi
Код
Запросы
0
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
gpxdata
Controllers/PostController.cs
37 строк
2 KB
Anton Bessolitsyn
Add gpxtool
25 мар 2025, 15:18
25 мар 2025, 15:18
b4cd6b1
Код
Авторство
О чём код?
using easyapi.Controllers.InputData; using easyapi.Core; using Microsoft.AspNetCore.Http.Extensions; using Microsoft.AspNetCore.WebUtilities; using System.Net; using static System.Collections.Specialized.BitVector32; using System.Reflection.PortableExecutable; namespace easyapi.Controllers { /// Это так называемый Controller по Р.Мартину /// Назначение контроллера упаковать данные в простой объект InputData (InputPostDS) и передат его через интерфейс InputBoundary классу UseCaseInteractor () /// И вернуть объект Presenter для доступа к выходным данным (думаю здесь может ошибка в понимании архитектуры) /// Схема архитектуры /Base/baseByRMartin.jpg public class PostController(IInputPostBoundary postHandler) { private readonly IInputPostBoundary postHandler = postHandler; public PostPresenter NewPostRequest(MessageFromEasyMessageHandlerBot inputMessage) { InputPostDataSet inputObject; inputObject = new InputPostDataSet(inputMessage.ContentType, inputMessage.Caption, inputMessage.CreationDate, "Anton Bessolitsyn", inputMessage.CaptionEntities, inputMessage.Image); //section = reader.ReadNextSectionAsync().Result; //if (section != null && section.ContentType == "application/octet-stream") //{ // //using MemoryStream memoryStream = new(); // //await section.Body.CopyToAsync(memoryStream); // //inputObject.File = memoryStream.ToArray(); //} return (PostPresenter)postHandler.NewEasyPost(inputObject); } public PostPresenter AllPostsRequest() => (PostPresenter)postHandler.GetAllEasyPosts(); } }