//
        // GET: /Ims/PaypalApi/
        public ActionResult Index(PaypalApiRequest request)
        {
            var result = this.ImsService.GetPaypalApiList(request);

            return(View(result));
        }
        public ActionResult Datatable(PaypalApiRequest request)
        {
            #region 自定义动作
            if (!string.IsNullOrEmpty(request.customActionType))
            {
                string[]   id_Array = Request.Params.GetValues("id[]");
                List <int> ids      = new List <int>();

                foreach (string i in id_Array)
                {
                    ids.Add(int.Parse(i));
                }

                switch (request.customActionType)
                {
                case "group_action":

                    switch (request.customActionName)
                    {
                    case "delete":
                        this.ImsService.DeleteAssociation(ids);
                        break;
                    }
                    break;

                case "delete":
                    this.ImsService.DeleteAssociation(ids);
                    break;
                }
            }
            #endregion


            var allAssociation = this.ImsService.GetAssociationList(null);

            IEnumerable <Association> filterAssociation = allAssociation;

            #region 搜索
            //if (!string.IsNullOrEmpty(request.search))
            //{
            //    var isNameSearchable = Convert.ToBoolean(Request["columns[1][searchable]"]);

            //}
            //else if (request.action == "filter")
            //{
            //    var NameFilter = Convert.ToString(Request["name"]).Trim().ToLower();


            //    var SkuFilter = Convert.ToString(Request["sku"]).Trim().ToLower();

            //    var PackingWeightFilter = Convert.ToString(Request["packingweight"]).Trim().ToLower();

            //    var isNameSearchable = Convert.ToBoolean(Request["columns[1][searchable]"].ToString());

            //    if (isNameSearchable)
            //    {
            //        filterProduct = filterProduct.Where(c => c.Name.ToLower().Contains(NameFilter));
            //    }

            //    var isSkuSearchable = Convert.ToBoolean(Request["columns[2][searchable]"].ToString());


            //    if (isSkuSearchable)
            //    {
            //        filterProduct = filterProduct.Where(c => c.Sku.ToLower().Contains(SkuFilter));
            //    }

            //    var isPackingWeightSearchable = Convert.ToBoolean(Request["columns[3][searchable]"].ToString());

            //    if (isPackingWeightSearchable && !string.IsNullOrEmpty(PackingWeightFilter))
            //    {
            //        filterProduct = filterProduct.Where(c => c.PackWeight == PackingWeightFilter.ToInt());
            //    }

            //}
            //else if (request.action == "filter_cancel")
            //{
            //    filterProduct = allProduct;
            //}
            //else
            //{
            //    filterProduct = allProduct;
            //}
            #endregion

            #region 排序
            //var isPPAccountSortable = Convert.ToBoolean(Request["columns[1][orderable]"]);
            //var isApiUserNameSortable = Convert.ToBoolean(Request["columns[2][orderable]"]);
            //var isIsActiveSortable = Convert.ToBoolean(Request["columns[3][orderable]"]);

            //var sortColumnIndex = Convert.ToInt32(Request["order[0][column]"]);

            //Func<PaypalApi, string> orderingFunction = (c =>
            //                                   sortColumnIndex == 1 && isPPAccountSortable ? c.PPAccount :
            //                                   sortColumnIndex == 2 && isApiUserNameSortable ? c.ApiUserName :
            //                                   sortColumnIndex == 3 && isIsActiveSortable ? c.IsActive.ToString() :
            //                                    "");

            //var sortDirection = Request["order[0][dir]"]; // asc or desc

            //if (sortDirection == "asc")
            //{
            //    filterPaypalApi = filterPaypalApi.OrderBy(orderingFunction);
            //}

            //if (sortDirection == "desc")
            //{
            //    filterPaypalApi = filterPaypalApi.OrderByDescending(orderingFunction);
            //}

            #endregion


            var displayedAssociation = filterAssociation.Skip(request.start).Take(request.length);
            var result = from c in displayedAssociation
                         select new[] {
                Convert.ToString(c.ID)
                , c.ItemNumber
                , c.ItemTitle                           //c.OrderTime.ToCnDataString()
                , c.PaypalApi.PPAccount                 //c.TransactionID
                , c.Product.Sku.ToString()
                , c.SellingPlace
                , c.StorePlace
                , Convert.ToString(c.ID)
            };
            return(Json(new
            {
                draw = request.draw,                   //param.sEcho,
                recordsTotal = allAssociation.Count(), //alltransactions.Count(),
                recordsFiltered = filterAssociation.Count(),
                data = result
            },
                        JsonRequestBehavior.AllowGet));
        }