| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Mvc.Filters;
- using Microsoft.AspNetCore.WebUtilities;
- using economy.Helpers;
- using economy.Models;
- using economy.Models.Gold;
- namespace economy.Controllers
- {
- public class GoldController : Controller
- {
- private readonly DataGoKR _dataGoKR;
- private Dictionary<string, string> _queryString;
- public GoldController(DataGoKR dataGoKR)
- {
- _dataGoKR = dataGoKR;
- }
- public override void OnActionExecuting(ActionExecutingContext context)
- {
- _queryString = QueryHelpers.ParseQuery(HttpContext.Request.QueryString.Value).ToDictionary(k => k.Key, v => string.Join(",", v.Value));
- ViewBag.QueryString = _queryString;
- base.OnActionExecuting(context);
- }
- public async Task<IActionResult> Index(Request request)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- GoldModel gold = new GoldModel(_dataGoKR);
- Response itemList = await gold.GetGoldPriceInfo(request);
- if (itemList is not null)
- {
- int listNum = Common.CalcListNumber(itemList.Body.TotalCount, request.PageNo, request.NumOfRows);
- itemList.Body.Items.ItemList = itemList.Body.Items.ItemList.Select((row, index) =>
- {
- row.Num = (listNum - index);
- row.Clpr = Common.NumberFormat(row.Clpr);
- row.Vs = Common.NumberFormat(row.Vs);
- row.FltRt = Common.NumberFormat(row.FltRt, "0.##");
- row.Hipr = Common.NumberFormat(row.Hipr);
- row.Lopr = Common.NumberFormat(row.Lopr);
- row.Trqu = Common.NumberFormat(row.Trqu);
- row.TrPrc = Common.NumberFormat(row.TrPrc);
- return row;
- }).ToList();
- }
- var viewModel = new View<Request, Response>();
- viewModel.SelectedListPerPage = request.NumOfRows;
- viewModel.Request = request;
- viewModel.Response = itemList;
- var queryString = new
- {
- sDate = request.StartDate,
- eDate = request.EndDate
- };
- var pagination = new Pagination(itemList.Body?.TotalCount, request.PageNo, request.NumOfRows, queryString);
- viewModel.Pagination = pagination;
- return View(viewModel);
- }
- }
- }
|