public async Task <IViewComponentResult> InvokeAsync(string docId)
        {
            ScrapAssetModel scrapAssetModel = new ScrapAssetModel();

            scrapAssetModel.DocId = docId;
            return(View(scrapAssetModel));
        }
        public async Task <IActionResult> Create([Bind("DocId,AssetNo")] ScrapAssetModel scrapAssetModel)
        {
            ModelState.Remove("DeviceNo");
            if (ModelState.IsValid)
            {
                var asset = _context.Assets.Where(a => a.AssetNo == scrapAssetModel.AssetNo).FirstOrDefault();
                if (asset == null)
                {
                    return(new JsonResult(scrapAssetModel)
                    {
                        Value = new { isExist = true, error = "查無此財產編號!" }
                    });
                }
                var ExistScrapAsset = _context.ScrapAssets.Find(scrapAssetModel.DocId, asset.DeviceNo, scrapAssetModel.AssetNo);
                if (ExistScrapAsset != null)
                {
                    return(new JsonResult(scrapAssetModel)
                    {
                        Value = new { isExist = true, error = "資料已存在!" }
                    });
                }
                else
                {
                    scrapAssetModel.DeviceNo = asset.DeviceNo;
                    _context.Add(scrapAssetModel);
                    await _context.SaveChangesAsync();
                }

                // Return ViewComponent for ajax request.
                return(ViewComponent("ScrapAssetList", new { id = scrapAssetModel.DocId }));
            }
            else
            {
                string msg = "";
                foreach (var error in ViewData.ModelState.Values.SelectMany(modelState => modelState.Errors))
                {
                    msg += error.ErrorMessage + Environment.NewLine;
                }
                throw new Exception(msg);
            }
        }