public ActionResult IVS287_GenerateReport(doIVS287SearchCondition reportParam) { IVS287_ScreenParameter param = GetScreenObject <IVS287_ScreenParameter>(); ObjectResultData res = new ObjectResultData(); res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; try { if (reportParam == null || reportParam.InstrumentCodeSelected == null || reportParam.InstrumentCodeSelected.Length == 0) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0006); } else { if (param.LastSearchParam == null) { param.LastSearchParam = reportParam; } IInventoryHandler service = ServiceContainer.GetService <IInventoryHandler>() as IInventoryHandler; var lst = service.GetStockReport_StockList(param.LastSearchParam.ReportType, string.Join(",", reportParam.InstrumentCodeSelected)); IInventoryDocumentHandler docService = ServiceContainer.GetService <IInventoryDocumentHandler>() as IInventoryDocumentHandler; param.PendingDownloadFilePath = docService.GenerateIVS287StockListReport(param.LastSearchParam.ReportType, lst); param.PendingDownloadFileName = "StockListReport.xlsx"; res.ResultData = true; } } catch (Exception ex) { res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; res.AddErrorMessage(ex); } return(Json(res)); }