public virtual async Task <IActionResult> List(MissingImageProductSearchModel searchModel)
        {
            var productsWithoutImages = await _customProductService.GetProductsWithoutImagesAsync();

            var pagedList = productsWithoutImages.ToPagedList(searchModel);
            var model     = await new MissingImageProductListModel().PrepareToGridAsync(searchModel, pagedList, () =>
            {
                //fill in model values from the entity
                return(pagedList.SelectAwait(async product =>
                {
                    var pad = await _productAbcDescriptionService.GetProductAbcDescriptionByProductIdAsync(product.Id);
                    var itemNo = pad?.AbcItemNumber;

                    var missingImageProductModel = new MissingImageProductModel()
                    {
                        ItemNumber = itemNo,
                        Sku = product.Sku,
                        Name = product.Name
                    };

                    return missingImageProductModel;
                }));
            });

            return(Json(model));
        }
Exemplo n.º 2
0
        public async System.Threading.Tasks.Task ExecuteAsync()
        {
            var prodsInfo = from prod in (await _customProductService.GetProductsWithoutImagesAsync())
                            from pAbc in _productAbcRepository.Table.Where(pA => pA.Product_Id == prod.Id).ToList()
                            select new
            {
                prod.Id,
                prod.Name,
                prod.Sku,
                ItemNo = pAbc == null ? "" : pAbc.AbcItemNumber
            };
            ExcelPackage ex = GetPackage();

            var prodSheet = ex.Workbook.Worksheets[0];
            int rowIdx    = 2;

            foreach (var prodInfo in prodsInfo)
            {
                prodSheet.Cells[rowIdx, ProductTable.IdIdx + 1].Value     = prodInfo.Id;
                prodSheet.Cells[rowIdx, ProductTable.NameIdx + 1].Value   = prodInfo.Name;
                prodSheet.Cells[rowIdx, ProductTable.SkuIdx + 1].Value    = prodInfo.Sku;
                prodSheet.Cells[rowIdx, ProductTable.ItemNoIdx + 1].Value = prodInfo.ItemNo;
                ++rowIdx;
            }
            ex.Save();
        }