namespace PARR.API.Controllers.V1 { //[Authorize(Roles = ParrRoles.Administrator.Role)] //public class GeneratorTemplateController : BaseApiController //{ // private readonly IValidator validator; // private readonly IRabbitService mqService; // private readonly IUriService uriService; // private readonly MqSettings mqSettings; // private readonly IClientService clientService; // public GeneratorTemplateController( // IValidator validator, // IRabbitService mqService, // IUriService uriService, // MqSettings mqSettings, // IClientService clientService // ) // { // this.validator = validator; // this.mqService = mqService; // this.uriService = uriService; // this.mqSettings = mqSettings; // this.clientService = clientService; // } // /// !!!!!!!!!! Это старый контроллер, удалить !!!!!!!!!! // /// // /// Запрос на генерацию шаблонов // /// // /// // [HttpPost(ApiRoutes.GeneratorTemplate.Create)] // public async Task Create([FromBody] GeneratorTemplateRequest request) // { // var resultValidate = await validator.ValidateAsync(request); // if (!resultValidate.IsValid) // return BadRequest(new Response(resultValidate.Errors)); // var result = true; // request.Ek.ForEach(ek => // { // //todo: проверить в ForEach(async status - отрабатывает ли нормально async, возможно надо переделать в обычный foreach // request.Status.ForEach(async status => // { // var obj = new GeneratorTemplateMq // { // Action = request.Action, // ApplicationId = request.ApplicationId, // Ek = ek, // WorkId = request.WorkId, // StatusEk = status, // IsActiveTemplate = request.IsActiveTemplate, // IsActiveSchedule = request.IsActiveSchedule, // HistoryInitiator = new HistoryInitiator { InitiatorIp = clientService.GetClientIp()?.ToString(), InitiatorParrComponentId = ParrComponentsEnum.Api } // }; // //var msg = JsonSerializer.Serialize(obj); // //var _result = await mqService.SendAsync(mqSettings.GenerateTemplates, new[] { msg }); // var _result = await mqService.SendAsync(mqSettings.GenerateTemplates, new List { obj }); // if (_result.IsSuccess == false) // result = false; // }); // }); // //var obj = new GeneratorTemplateMq // //{ // // Action = request.Action, // // ApplicationId = request.ApplicationId, // // Ek = request.Ek, // // WorkId = request.WorkId, // // StatusEk = request.Status, // // IsActiveTemplate = request.IsActiveTemplate, // // IsActiveSchedule = request.IsActiveSchedule // //}; // //var msg = JsonSerializer.Serialize(obj); // //var result = mqService.Send(mqSettings.GenerateTemplates, new[] { msg }); // //if (!result.IsSuccess) // if (!result) // return BadRequest(new Response(false, new List { new ErrorModel { Message = $"Ошибка при отправке данных." } })); // var createdUri = uriService.GetAllUri(ApiRoutes.Template.GetAll); // return Created(createdUri, new Response(null, true, new List(), "Отправлен запрос на генерацию шаблонов.")); // } //} }