Запустите стандартную структуру стимулсофт в программе mvc - PullRequest
0 голосов
/ 08 февраля 2019

После выполнения отчета файл PDF отображается как вывод.Я не хочу этого, и я хочу показать структуру Стимулсофт.Показать эту структуру:

stimulsoft

Эти коды находятся в разделе: projectName \ Controllers \ Api \ ReportsApiController.cs

public class ReportsApiController : BaseApiController
{
    private readonly IReportService _reportService;
    private readonly IUnitOfWork _unitOfWork;
    private readonly IDbSet<Reports> _reports;
    // GET: ReportsApi
    public ReportsApiController(IUnitOfWork unitOfWork, 
        IReportService reportService,
        IUserService userService,
        IActionUserService actionUserService, 
        IActionService actionService,IControllersService controllerService) 
        : base(userService, actionUserService, actionService,controllerService)
    {
        this._reportService = reportService;
        _unitOfWork = unitOfWork;
        _reports = _unitOfWork.Set<Reports>();
    }


    [System.Web.Http.AcceptVerbs("GET")]
    [System.Web.Http.HttpGet]
    public ReportVM GetStatisticRepor()
    {
        ReportVM result = new ReportVM();
        string fileName = "UserStatistics.pdf"/*CommonUtils.generateFileName(".pdf")*/;
        string path   = ConstantData.PdfFiles + fileName;
        result = _reportService.GetStatisticReport(path);
        string baseUrl = HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority +
                    HttpContext.Current.Request.ApplicationPath.TrimEnd('/') + "/";
        result.UrlFile =baseUrl+ path;
        return result;
    }

    [System.Web.Http.AcceptVerbs("POST")]
    [System.Web.Http.HttpGet]
    public ReportVM ReportUserDetails(ReportVM result)
    {
        string fileName = "ReportUserDetails.pdf"/*CommonUtils.generateFileName(".pdf")*/;
        string path = ConstantData.PdfFiles + fileName;
        result = _reportService.ReportUserDetails(path,result);
        string baseUrl = HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority +
                    HttpContext.Current.Request.ApplicationPath.TrimEnd('/') + "/";
        result.UrlFile = baseUrl + path;
        return result;
    }

    [System.Web.Http.AcceptVerbs("GET")]
    [System.Web.Http.HttpGet]
    public List<ReportsModel> GetReportTypes()
    {
        return _reportService.GetReportTypes().Reports;
    }

}

Иэто также часть кода ReportService, в котором есть подробности отчетов. Эти коды находятся в разделе: projectName.ServiceLayer \ EfServices \ Business \ ReportService.cs:

    public ReportVM GetStatisticReport(string filePath)
    {
        ReportVM result = new ReportVM();
        try
        {
            var _UserID = HttpContext.Current != null ? HttpContext.Current.GetUserId() : (int?)null;
            CurrentUser = _userService.FindById(_UserID.Value);
            int KardaniCount = _userService.GetCountMaghtae(ConstantData.Kardani);
            int Karshenasi = _userService.GetCountMaghtae(ConstantData.Karshenasi);
            int Arshad = _userService.GetCountMaghtae(ConstantData.Arshad);
            int PHD = _userService.GetCountMaghtae(ConstantData.PHD);
            string baseUrl = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority);
            var report = CommonUtils.generateStatisticReport(filePath, KardaniCount,Karshenasi,Arshad,PHD,CurrentUser.Name  +" "+CurrentUser.Family);
            result.UrlFile = report;
        }
        catch (CustomException ex)
        {
            result.Errors = ErrorVM.errorCustom(result.Errors, ex.MessageCustom);
            result.isError = true;
        }
        catch (Exception ex)
        {
            result.Errors = ErrorVM.errorCustom(result.Errors, ex.Message);
            result.isError = true;
        }
        return result;
    }
...