LottoController.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using Microsoft.AspNetCore.Mvc;
  2. using economy.Models;
  3. using economy.Models.Lotto;
  4. namespace economy.Controllers
  5. {
  6. public class LottoController : Controller
  7. {
  8. private readonly DhlotteryCoKR _dhlotteryCoKR;
  9. public LottoController(DhlotteryCoKR dhlotteryCoKR)
  10. {
  11. _dhlotteryCoKR = dhlotteryCoKR;
  12. }
  13. public async Task<IActionResult> Index(Request request)
  14. {
  15. if (!ModelState.IsValid)
  16. {
  17. return BadRequest(ModelState);
  18. }
  19. // 주차 간격 계산
  20. var last = (ushort)(((DateTime.Now - new DateTime(2002, 12, 7)).TotalDays / 7) + 1);
  21. if (request.Number <= 0 && last > 0)
  22. {
  23. request.Number = last;
  24. }
  25. LottoModel lotto = new LottoModel(_dhlotteryCoKR);
  26. Response lottoInfo = await lotto.GetLottoNumber(request);
  27. var viewModel = new View<Request, Response>();
  28. viewModel.Request = request;
  29. viewModel.Response = lottoInfo;
  30. ViewBag.Last = last;
  31. return View(viewModel);
  32. }
  33. }
  34. }