using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using TelerikAspNetCoreApp684.Models;

namespace TelerikAspNetCoreApp684.Controllers
{
    public class GridController : Controller
    {
        public ActionResult Orders_Read([DataSourceRequest] DataSourceRequest request)
        {
            var result = Enumerable.Range(1, 50).Select(i => new OrderViewModel
            {
                OrderID = i,
                Freight = i * 10,
                OrderDate = new DateTime(2016, 9, 15).AddDays(i % 7),
                ShipName = "ShipName " + i,
                ShipCity = "ShipCity " + i,
                OrderStatus = i % 2 == 0 ? OrderStatusEnum.Received : OrderStatusEnum.Shipped,
                OrderType = i % 2 == 0 ? OrderTypeEnum.Heavy : OrderTypeEnum.Fragile
            }) ;

            var dsResult = result.ToDataSourceResult(request);
            return Json(dsResult);
        }
        public ActionResult Orders_Create([DataSourceRequest] DataSourceRequest request,OrderViewModel model)
        {
            //create new item
            return Json(new[] { model }.ToDataSourceResult(request));
        }

        public ActionResult Orders_Update([DataSourceRequest] DataSourceRequest request, OrderViewModel model)
        {
            //update item
            return Json(new[] { model }.ToDataSourceResult(request));
        }

    }
}
