using Microsoft.AspNetCore.Mvc;
using System.ComponentModel.DataAnnotations;

namespace economy.Models.Price.Domestic.Item.Detail
{
    /*
     * 온라인 수집 가격 정보
     * 품목 상세 정보
     * 예시 ) http://apis.data.go.kr/1240000/bpp_openapi/getPriceInfo?serviceKey=vQz8tIxrdhjerG6DE1w1hcVEli5S27LtIsCvx0axiieZmRgOpB4vToQ77VmvknAkIC9YjxlPx2gDZcl06S88Xw%3D%3D&itemCode=A011010&startDate=20210220&endDate=20210220&numOfRows=10&pageNo=1
     */

    // 검색요청 변수
    public class Request
    {
        [BindProperty(Name = "page", SupportsGet = true)]
        [Range(1, int.MaxValue, ErrorMessage = "페이지 허용량을 초과하였습니다.")]
        public int PageNo { get; set; } = 1;

        [BindProperty(Name = "perPage", SupportsGet = true)]
        [Range(1, int.MaxValue, ErrorMessage = "출력 허용량을 초과하였습니다.")]
        public int NumOfRows { get; set; } = 10;

        [BindProperty(Name = "item", SupportsGet = true)]
        [Required(ErrorMessage = "품목코드를 입력해주세요.")]
        [StringLength(7, ErrorMessage = "품목코드 형식이 잘못되었습니다.")]
        public string ItemCode { get; set; }

        [BindProperty(Name = "sDate", SupportsGet = true)]
        [Required(ErrorMessage = "검색 시작날짜를 입력해주세요.")]
        [DataType(DataType.Date)]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
        public DateTime StartDate { get; set; } = DateTime.Now;

        [BindProperty(Name = "eDate", SupportsGet = true)]
        [Required(ErrorMessage = "검색 종료날짜를 입력해주세요.")]
        [DataType(DataType.Date)]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
        public DateTime EndDate { get; set; } = DateTime.Now;
    }
}
