/
Airat
/
ASP.NET
Обзор
Документация
Войти
/
Airat
/
ASP.NET
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
UnitTests/src/PromoCodeFactory.WebHost/Controllers/PromocodesController.cs
60 строк
2 KB
Алексей Ягур
Initial commit
19 июл 2024, 21:59
19 июл 2024, 21:59
5158096
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using PromoCodeFactory.Core.Abstractions.Repositories; using PromoCodeFactory.Core.Domain.PromoCodeManagement; using PromoCodeFactory.WebHost.Models; namespace PromoCodeFactory.WebHost.Controllers { /// <summary> /// Промокоды /// </summary> [ApiController] [Route("api/v1/[controller]")] public class PromocodesController : ControllerBase { private readonly IRepository<PromoCode> _promoCodesRepository; public PromocodesController(IRepository<PromoCode> promoCodesRepository) { _promoCodesRepository = promoCodesRepository; } /// <summary> /// Получить все промокоды /// </summary> /// <returns></returns> [HttpGet] public async Task<ActionResult<List<PromoCodeShortResponse>>> GetPromocodesAsync() { var preferences = await _promoCodesRepository.GetAllAsync(); var response = preferences.Select(x => new PromoCodeShortResponse() { Id = x.Id, Code = x.Code, BeginDate = x.BeginDate.ToString("yyyy-MM-dd"), EndDate = x.EndDate.ToString("yyyy-MM-dd"), PartnerName = x.PartnerName, ServiceInfo = x.ServiceInfo }).ToList(); return Ok(response); } /// <summary> /// Создать промокод и выдать его клиентам с указанным предпочтением /// </summary> /// <returns></returns> [HttpPost] public Task<IActionResult> GivePromoCodesToCustomersWithPreferenceAsync(GivePromoCodeRequest request) { //TODO: Создать промокод и выдать его клиентам с указанным предпочтением throw new NotImplementedException(); } } }