public ActionResult ListJson(JqGridRequest request)
        {
            var categoryMapping = CategoryMappingBL.GetAllAsQueryable();
            JqGridData result = JqGridHelper<CategoryMapping>.ToJqGridData(request, categoryMapping, c => new JqGridRowItem
            {
                id = c.ID,
                cell = new object[]
                    {
                        c.ID,
                        c.MalGrupID,
                        c.MalGrupName,
                        c.DepartmentID,
                        c.DepartmentName,
                        c.PurchasingGroupID,
                        c.PurchasingGroupName,
                        c.GenderCode,
                        c.TargetCategoryCodes,
                        c.IsColorProductLevel,
                        c.MainCategoryAttributeCode,
                        c.SubCategoryAttributeCode,
                        c.GoogleCategoryMain,
                        c.GoogleCategorySub1,
                        c.GoogleCategorySub2,
                        c.GoogleCategorySub3,
                        c.GoogleCategorySub4,
                        c.GoogleCategorySub5,
                        c.GoogleCategorySub6,
                        c.SizeTableFriendlyUri
                    }
            });

            return Json(result, JsonRequestBehavior.AllowGet);
        }
        public ActionResult ListJson(JqGridRequest request)
        {
            var colorMappingList = ColorMappingBL.GetAllAsQueryable();
            JqGridData result = JqGridHelper<ColorMapping>.ToJqGridData(request, colorMappingList, c => new JqGridRowItem
            {
                id = c.ID,
                cell = new object[]
                    {
                        c.ID,
                        c.Color,
                        c.GroupName
                    }
            });

            return Json(result, JsonRequestBehavior.AllowGet);
        }
        public JsonResult ListJson(JqGridRequest request)
        {
            IQueryable<vCollectionPackagingCenter> list = CollectionPackagingCenterBL.GetAllStoreLocationListAsQueryable();

            JqGridData result = JqGridHelper<vCollectionPackagingCenter>.ToJqGridData(request, list, c => new JqGridRowItem
            {
                id = c.ID,
                cell = new object[]
                        {
                            c.ID,
                            c.CollectionCenterName,
                            c.PackagingCenterName,
                            c.CityCode,
                        }
            });
            return Json(result, JsonRequestBehavior.AllowGet);
        }
        public ActionResult LocationFailedItemsToExcel(JqGridRequest request)
        {
            IQueryable<vOrderItem> list = CheckoutBL.GetLocationSuggestionFailedList();

            var result = JqGridExtensions.ListAddSearchQuery(list, request).Select(c => new
            {
                c.ID,
                c.ItemIdentifier,
                c.OrderCode,
                c.VariantCode,
                c.LocationSuggestionProblemText
            });

            string[] columnNames = { "ID", "Varyant Tanım ID", "Sipariş Kodu", "Varyant Kodu", "Lokasyon Bulanamama Sebebi" };

            byte[] excelByteArray = ExcelExport.ExportToExcel(ExcelExport.ToDataTable(result), columnNames, "Lokasyon Atanamayan Ürünler");
            return File(excelByteArray, "application/vnd.ms-excel", "Lokasyon Atanamayan Ürünler.xls");
        }
        public JsonResult LocationFailedItems(JqGridRequest request)
        {
            IQueryable<vOrderItem> list = CheckoutBL.GetLocationSuggestionFailedList();

            JqGridData result = JqGridHelper<vOrderItem>.ToJqGridData(request, list, c => new JqGridRowItem
            {
                id = c.ID,
                cell = new object[]
                        {
                            c.ID,
                            c.ItemIdentifier,
                            c.OrderCode,
                            c.VariantCode,
                            c.LocationSuggestionProblemText
                        }
            });
            return Json(result, JsonRequestBehavior.AllowGet);
        }
        public JsonResult ListJson(JqGridRequest request)
        {
            List<UserLocationDO> lst = UserLocationBL.GetAll().ToList();
            IQueryable<UserLocationDO> userSettingList = lst.AsQueryable();

            JqGridData result = JqGridHelper<UserLocationDO>.ToJqGridData(request, userSettingList, c => new JqGridRowItem
            {
                id = c.ID,
                cell = new object[]
                        {
                            c.ID,
                            c.UserName,
                            c.LocationCode,
                            c.LocationName
                        }
            });
            return Json(result, JsonRequestBehavior.AllowGet);
        }
        public JsonResult ListJson(JqGridRequest request)
        {
            List<LocationDO> lst = LocationBL.GetAllLocations().ToList();
            IQueryable<LocationDO> userSettingList = lst.AsQueryable();

            JqGridData result = JqGridHelper<LocationDO>.ToJqGridData(request, userSettingList, c => new JqGridRowItem
            {
                id = c.ID,
                cell = new object[]
                        {
                            c.ID,
                            c.Name,
                            c.Code,
                            c.Priority,
                            c.IsCollectionLocation,
                            c.IsPackagingLocation
                        }
            });
            return Json(result, JsonRequestBehavior.AllowGet);
        }
        public JsonResult OrderItemListJson(JqGridRequest request)
        {
            IQueryable<vOrderItem> list = CheckoutBL.GetAllvOrderItemsAsQueryable();

            JqGridData result = JqGridHelper<vOrderItem>.ToJqGridData(request, list, c => new JqGridRowItem
            {
                id = c.ID,
                cell = new object[]
                        {
                         c.ID,
                         c.ItemIdentifier,
                         c.OrderCode,
                         c.VariantCode,
                         c.Barcode,
                         c.Brand,
                         c.Color,
                         c.Size,
                         c.ProductType,
                         c.PurchasingGroup,
                         c.StatusCode,
                         GetFormattedDate(c.StatusCodeUpdateTime),
                         c.CollectionLocationCode,
                         c.CollectionLocationName,
                         c.PackagingLocationCode,
                         c.PackagingLocationName,
                         c.WaybillNumber,
                         GetFormattedDate(c.CreateTime),
                         GetUserName(c.WaitingOnUserID),
                         GetFormattedDate(c.WaitingOnUserUpdateTime),
                         c.Year,
                         c.Season,
                         c.IsTransferred,
                         c.IsPreOrder
                        }
            });
            return Json(result, JsonRequestBehavior.AllowGet);
        }
        public ActionResult ListExportToExcel(JqGridRequest request, string filter)
        {
            var categoryMappingList = CategoryMappingBL.GetAllAsQueryable();

            var result = JqGridExtensions.ListAddSearchQuery(categoryMappingList, request).Select(c => new
            {
                c.ID,
                c.MalGrupID,
                c.MalGrupName,
                c.DepartmentID,
                c.DepartmentName,
                c.PurchasingGroupID,
                c.PurchasingGroupName,
                c.GenderCode,
                c.TargetCategoryCodes,
                c.IsColorProductLevel,
                c.MainCategoryAttributeCode,
                c.SubCategoryAttributeCode,
                c.GoogleCategoryMain,
                c.GoogleCategorySub1,
                c.GoogleCategorySub2,
                c.GoogleCategorySub3,
                c.GoogleCategorySub4,
                c.GoogleCategorySub5,
                c.GoogleCategorySub6
            });

            string[] columnNames = {"ID", "Mal Grubu ID", "Mal Grubu Adı", "Departman ID"
                                       , "Departman Adı", "Satın Alma Grubu ID", "Satın Alma Grubu Adı"
                                       , "Cinsiyet Kodu", "Hedef Kategori Kodu", "Her Renk Ayrı Ürün mü"
                                       , "Ana Kategori Attribute Kodu", "Alt Kategori Attribute Kodu"
                                       , "Google Ana Kategorisi", "Google Alt Kategori 1", "Google Alt Kategori 2", "Google Alt Kategori 3"
                                       , "Google Alt Kategori 4", "Google Alt Kategori 5", "Google Alt Kategori 6"};

            byte[] excelByteArray = ExcelExport.ExportToExcel(ExcelExport.ToDataTable(result), columnNames, "Kampanya Listesi");
            return File(excelByteArray, "application/vnd.ms-excel", "Kampanya Listesi.xls");
        }
        public ActionResult OrderItemListExcel(JqGridRequest request)
        {
            IQueryable<vOrderItem> list = CheckoutBL.GetAllvOrderItemsAsQueryable();

            var result = JqGridExtensions.ListAddSearchQuery(list, request).Select(c => new
            {
                c.ID,
                c.ItemIdentifier,
                c.OrderCode,
                c.VariantCode,
                c.Barcode,
                c.Brand,
                c.Color,
                c.Size,
                c.ProductType,
                c.PurchasingGroup,
                c.StatusCode,
                c.CollectionLocationName,
                c.PackagingLocationName,
                c.WaybillNumber,
                CreateTime = GetFormattedDate(c.CreateTime)
            });

            string[] columnNames = { "ID", "Varyant Tanım ID", "Sipariş Kodu", "Varyant Kodu", "Barkod", "Marka", "Renk",
                                       "Beden", "Tipi", "Grubu", "Durumu", "Toplama Merk.", "Paketleme Merk.", "İrsaliye No", "Tarih"};

            byte[] excelByteArray = ExcelExport.ExportToExcel(ExcelExport.ToDataTable(result), columnNames, "Sipariş Kalemleri");
            return File(excelByteArray, "application/vnd.ms-excel", "Sipariş Kalemleri.xls");
        }
        public JsonResult HistoryListJson(JqGridRequest request, string filter)
        {
            IQueryable<vCollectionData> list = CollectionDataBL.GetPickupHistoryList(base.UserID, filter);

            JqGridData result = JqGridHelper<vCollectionData>.ToJqGridData(request, list, c => new JqGridRowItem
            {
                id = c.ID,
                cell = new object[]
                        {
                         c.ID,
                         c.LocationName,
                         base.GetFormattedTime(c.CreateTime),
                         base.GetFormattedTime(c.UpdateTime),
                         UserBL.GetUserFullNameUsingID(c.CreateUserID)
                        }
            });
            return Json(result, JsonRequestBehavior.AllowGet);
        }