Мне нужно передать данные для файла отчета activulsoft через код.
public ActionResult PackageCommandPrint(string startDate, string endDate, int profileId)
{
try
{
List<PackageCommand> commands = new List<PackageCommand>();
StiReport report = new StiReport();
report.Load(Server.MapPath("~/Content/Reports/PackageCommand.mrt"));
if (HttpContext.Cache["PackageCommands"] == null)
{
using (SPMSEntities db = new SPMSEntities())
{
commands = db.PackageCommands.ToList();
HttpContext.Cache.Insert("PackageCommands", commands, null, DateTime.Now.AddMinutes(15), Cache.NoSlidingExpiration);
}
}
else
{
commands = HttpContext.Cache["PackageCommands"] as List<PackageCommand>;
}
string userFullName;
using (SPMSEntities db = new SPMSEntities())
{
Profile profile = db.Profiles.Find(profileId);
userFullName = profile.FirstName + " " + profile.LastName;
}
report.Dictionary.Variables.Add(new StiVariable("Params", "TodayPersianDate", Convertor.ToPersianDate(DateTime.Now)));
report.Dictionary.Variables.Add(new StiVariable("Params", "UserFullName", userFullName));
report.RegBusinessObject("Data", commands);
report.Compile();
return StiMvcViewer.GetReportSnapshotResult(report);
}
catch (Exception e)
{
HelperStoreSqlLog.WriteError(e, "PackageCommand");
return View();
}
}
Файл отчета: https://drive.google.com/file/d/1A8CLRYAoIQNXPVJkqNucrxJeW1yxJFg1/view?usp=sharing
Когда я пытаюсь получить отчет, появляется сообщение об ошибке:
System.ArgumentNullException: значение не может быть нулевым.Имя параметра: значение в System.Enum.TryParseEnum (тип enumType, строковое значение, логическое ignoreCase, EnumResult & parseResult) в System.Enum.Parse (тип enumType, строковое значение, логическое ignoreCase) в Stimulsoft.Report.MvcSMM(HttpContextBase httpContext, отчет StiReport) по адресу Stimulsoft.Report.Mvc.StiMvcViewer.GetReportSnapsh otResult (отчет StiReport) в SPMS.Controllers.ReportController.PackageCommandPr int (Строка startDate, SPD \ SPD: DMS, DSC: String endDMS, DMS):\ Controllers \ ReportController .cs: строка 83
строка 83: return StiMvcViewer.GetReportSnapshotResult(report);
В чем проблема?Я пытаюсь проверить этот код пустым файлом отчета, но снова получаю сообщение об ошибке.
Бритва:
@using Stimulsoft.Report.Mvc
@{
Layout = null;
}
@Html.Stimulsoft().StiMvcViewer(new StiMvcViewerOptions()
{
Localization = "~/Content/Reports/Localization/fa.xml",
Theme = StiTheme.Office2013,
ActionGetReportSnapshot = "PackageCommandPrint",
ActionViewerEvent = "PackageCommandViewer",
ServerCacheMode = StiCacheMode.None
})