Exemple #1
0
        public ListModel <EventLogItem> List([FromBody] ListQueryModel <EventLogListQueryModel> listQuery)
        {
            if (listQuery == null)
            {
                listQuery = new ListQueryModel <EventLogListQueryModel>();
            }
            if (listQuery.Model == null)
            {
                listQuery.Model = new EventLogListQueryModel();
            }

            if (!_sessionContext.HasPermission(Permissions.EventLogFullView))
            {
                listQuery.Model.BranchId = _branchContext.Branch.Id;
            }
            if (!_sessionContext.HasPermission(Permissions.EventLogView) && !listQuery.Model.EntityId.HasValue)
            {
                throw new PawnshopApplicationException("Ќедостаточно прав дл¤ выполнени¤ данной операции.");
            }

            return(new ListModel <EventLogItem>
            {
                List = _repository.List(listQuery, listQuery.Model),
                Count = _repository.Count(listQuery, listQuery.Model)
            });
        }
Exemple #2
0
        public string Report([FromBody] ReportQueryModel queryModel)
        {
            if (queryModel == null)
            {
                throw new ArgumentNullException(nameof(queryModel));
            }
            if (string.IsNullOrWhiteSpace(queryModel.ReportName))
            {
                throw new ArgumentNullException(nameof(queryModel.ReportName));
            }

            var report = new StiReport();

            if (queryModel.ReportName == "CashBookReport")
            {
                if (!_sessionContext.HasPermission(Permissions.CashBookView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <CashBookQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/CashBookReport.mrt"));
                report["branchId"]            = model.BranchId;
                report["beginDate"]           = model.CurrentDate.Date;
                report["endDate"]             = model.CurrentDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["accountId"]           = _branchContext.Configuration.CashOrderSettings.CashAccountId;
                report["chiefAccountantName"] = _branchContext.Configuration.LegalSettings.ChiefAccountantName;
                report["cashierName"]         = _branchContext.Configuration.LegalSettings.CashierName;
            }
            else if (queryModel.ReportName == "CashBalanceReport")
            {
                if (!_sessionContext.HasPermission(Permissions.CashBalanceView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <CashBalanceQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/CashBalanceReport.mrt"));
                report["userId"]    = _sessionContext.UserId;
                report["beginDate"] = model.CurrentDate.Date;
                report["endDate"]   = model.CurrentDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["accountId"] = _branchContext.Configuration.CashOrderSettings.CashAccountId;
            }
            else if (queryModel.ReportName == "CashReport")
            {
                if (!_sessionContext.HasPermission(Permissions.CashReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <CashReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/CashReport.mrt"));
                report["branchId"]           = model.BranchId;
                report["beginDate"]          = new DateTime(model.Year, model.Month, 1);
                report["endDate"]            = new DateTime(model.Year, model.Month, 1, 23, 59, 59).AddMonths(1).AddDays(-1);
                report["cashAccountId"]      = _branchContext.Configuration.CashOrderSettings.CashAccountId;
                report["goldAccountId"]      = _branchContext.Configuration.CashOrderSettings.GoldCollateralSettings.SellingSettings.CreditId;
                report["autoAccountId"]      = _branchContext.Configuration.CashOrderSettings.CarCollateralSettings.SellingSettings.CreditId;
                report["goodsAccountId"]     = _branchContext.Configuration.CashOrderSettings.GoodCollateralSettings.SellingSettings.CreditId;
                report["machineryAccountId"] = _branchContext.Configuration.CashOrderSettings.MachineryCollateralSettings.SellingSettings.CreditId;
            }
            else if (queryModel.ReportName == "SellingReport")
            {
                if (!_sessionContext.HasPermission(Permissions.SellingReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <SellingReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/SellingReport.mrt"));
                report["branchId"]  = model.BranchId;
                report["beginDate"] = model.BeginDate.Date;
                report["endDate"]   = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["status"]    = model.Status ?? 0;
            }
            else if (queryModel.ReportName == "DelayReport")
            {
                if (!_sessionContext.HasPermission(Permissions.DelayReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <DelayReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/DelayReport.mrt"));
                report["beginDelayCount"] = model.BeginDelayCount;
                report["endDelayCount"]   = model.EndDelayCount;
                report["collateralType"]  = model.CollateralType;
                report["branchId"]        = model.BranchId;
            }
            else if (queryModel.ReportName == "DailyReport")
            {
                if (!_sessionContext.HasPermission(Permissions.DailyReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <DailyReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/DailyReport.mrt"));
                report["branchId"]  = model.BranchId;
                report["beginDate"] = model.CurrentDate.Date;
                report["endDate"]   = model.CurrentDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["accountId"] = _branchContext.Configuration.CashOrderSettings.CashAccountId;
            }
            else if (queryModel.ReportName == "ConsolidateReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ConsolidateReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <ConsolidateReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/ConsolidateReport.mrt"));
                report["branchId"]           = model.BranchId;
                report["beginDate"]          = model.BeginDate.Date;
                report["endDate"]            = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["cashAccountId"]      = _branchContext.Configuration.CashOrderSettings.CashAccountId;
                report["goldAccountId"]      = _branchContext.Configuration.CashOrderSettings.GoldCollateralSettings.SellingSettings.CreditId ?? 0;
                report["autoAccountId"]      = _branchContext.Configuration.CashOrderSettings.CarCollateralSettings.SellingSettings.CreditId ?? 0;
                report["goodsAccountId"]     = _branchContext.Configuration.CashOrderSettings.GoodCollateralSettings.SellingSettings.CreditId ?? 0;
                report["machineryAccountId"] = _branchContext.Configuration.CashOrderSettings.MachineryCollateralSettings.SellingSettings.CreditId ?? 0;
                report["userId"]             = _sessionContext.UserId;
            }
            else if (queryModel.ReportName == "SfkConsolidateReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ConsolidateReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <ConsolidateReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/SfkConsolidateReport.mrt"));
                report["branchId"] = model.BranchId;
                if (model.IsPeriod == true)
                {
                    report["beginDate"] = model.BeginDate.Date;
                    report["endDate"]   = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                }
                else
                {
                    report["beginDate"] = model.BeginDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                }
                report["userId"]   = _sessionContext.UserId;
                report["isPeriod"] = model.IsPeriod;
            }
            else if (queryModel.ReportName == "DiscountReport")
            {
                if (!_sessionContext.HasPermission(Permissions.DiscountReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <DiscountReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/DiscountReport.mrt"));
                report["branchId"] = model.BranchId;
                if (model.Month == 0)
                {
                    report["beginDate"] = new DateTime(model.Year, 1, 1);
                    report["endDate"]   = new DateTime(model.Year, 12, 31, 23, 59, 59);
                }
                else
                {
                    report["beginDate"] = new DateTime(model.Year, model.Month, 1);
                    report["endDate"]   = new DateTime(model.Year, model.Month, 1, 23, 59, 59).AddMonths(1).AddDays(-1);
                }
            }
            else if (queryModel.ReportName == "AccountCardReport")
            {
                if (!_sessionContext.HasPermission(Permissions.AccountCardView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <AccountCardQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/AccountCardReport.mrt"));
                report["branchId"]  = model.BranchId;
                report["beginDate"] = model.BeginDate.Date;
                report["endDate"]   = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["accountId"] = model.AccountId;
            }
            else if (queryModel.ReportName == "AccountCycleReport")
            {
                if (!_sessionContext.HasPermission(Permissions.AccountCycleView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <AccountCycleQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/AccountCycleReport.mrt"));
                report["branchId"]  = model.BranchId;
                report["beginDate"] = model.BeginDate.Date;
                report["endDate"]   = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
            }
            else if (queryModel.ReportName == "GoldPriceReport")
            {
                if (!_sessionContext.HasPermission(Permissions.GoldPriceView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <GoldPriceQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/GoldPriceReport.mrt"));
                report["branchId"]   = model.BranchId;
                report["beginDate"]  = model.BeginDate.Date;
                report["endDate"]    = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["queryPrice"] = model.QueryPrice;
            }
            else if (queryModel.ReportName == "ExpenseMonthReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ExpenseMonthReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <ExpenseMonthReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/ExpenseMonthReport.mrt"));
                report["branchId"]  = model.BranchId;
                report["beginDate"] = new DateTime(model.Year, model.Month, 1);
                report["endDate"]   = new DateTime(model.Year, model.Month, 1, 23, 59, 59).AddMonths(1).AddDays(-1);
                report["userId"]    = _sessionContext.UserId;
            }
            else if (queryModel.ReportName == "ExpenseYearReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ExpenseYearReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <ExpenseYearReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/ExpenseYearReport.mrt"));
                report["branchId"]  = model.BranchId;
                report["beginDate"] = new DateTime(model.Year, 1, 1);
                report["endDate"]   = new DateTime(model.Year, 12, 31, 23, 59, 59);
                report["userId"]    = _sessionContext.UserId;
            }
            else if (queryModel.ReportName == "OperationalReport")
            {
                if (!_sessionContext.HasPermission(Permissions.OperationalReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <OperationalReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/OperationalReport.mrt"));
                report["beginDate"]            = model.BeginDate;
                report["endDate"]              = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["userId"]               = _sessionContext.UserId;
                report["cashAccountId"]        = _branchContext.Configuration.CashOrderSettings.CashAccountId;
                report["goldAccountId"]        = _branchContext.Configuration.CashOrderSettings.GoldCollateralSettings.SellingSettings.CreditId;
                report["autoAccountId"]        = _branchContext.Configuration.CashOrderSettings.CarCollateralSettings.SellingSettings.CreditId;
                report["goodsAccountId"]       = _branchContext.Configuration.CashOrderSettings.GoodCollateralSettings.SellingSettings.CreditId;
                report["machineryAccountId"]   = _branchContext.Configuration.CashOrderSettings.MachineryCollateralSettings.SellingSettings.CreditId;
                report["sfkTransferAccountId"] = _branchContext.Configuration.CashOrderSettings.CarTransferSettings.SupplyDebtSettings.DebitId;
                report["sfkBuyoutAccountId"]   = _branchContext.Configuration.CashOrderSettings.CarTransferSettings.DebtSettings.CreditId;
            }
            else if (queryModel.ReportName == "SplitProfitReport")
            {
                if (!_sessionContext.HasPermission(Permissions.SplitProfitReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <SplitProfitReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/SplitProfitReport.mrt"));
                report["branchId"] = model.BranchId;
                report["endDate"]  = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["userId"]   = _sessionContext.UserId;
            }
            else if (queryModel.ReportName == "InsuranceReport")
            {
                if (!_sessionContext.HasPermission(Permissions.InsuranceReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <InsuranceReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/InsuranceReport.mrt"));
                report["branchId"]  = model.BranchId;
                report["beginDate"] = model.BeginDate.Date;
                report["endDate"]   = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["userId"]    = _sessionContext.UserId;
                report["status"]    = model.Status;
            }
            else if (queryModel.ReportName == "OrderRegisterReport")
            {
                if (!_sessionContext.HasPermission(Permissions.OrderRegisterView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <OrderRegisterQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/OrderRegisterReport.mrt"));
                report["branchId"]    = model.BranchId;
                report["beginDate"]   = model.BeginDate.Date;
                report["endDate"]     = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["userId"]      = _sessionContext.UserId;
                report["accountType"] = model.AccountType;
                report["accountId"]   = model.AccountId;
            }
            else if (queryModel.ReportName == "ProfitReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ProfitReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <ProfitReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/ProfitReport.mrt"));
                report["branchId"]       = model.BranchId;
                report["beginDate"]      = model.BeginDate.Date;
                report["endDate"]        = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["userId"]         = _sessionContext.UserId;
                report["collateralType"] = model.CollateralType;
            }
            else if (queryModel.ReportName == "SfkProfitReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ProfitReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <ProfitReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/SfkProfitReport.mrt"));
                report["branchId"]       = model.BranchId;
                report["beginDate"]      = model.BeginDate.Date;
                report["endDate"]        = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["userId"]         = _sessionContext.UserId;
                report["collateralType"] = model.CollateralType;
            }
            else if (queryModel.ReportName == "ReconciliationReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ReconciliationReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <ReconciliationReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/ReconciliationReport.mrt"));
                report["beginDate"] = model.BeginDate.Date;
                report["endDate"]   = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
            }
            else if (queryModel.ReportName == "ConsolidateProfitReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ProfitReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <ConsolidateProfitReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/ConsolidateProfitReport.mrt"));
                report["beginDate"]      = model.BeginDate.Date;
                report["endDate"]        = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["collateralType"] = model.CollateralType;
            }
            else if (queryModel.ReportName == "SfkConsolidateProfitReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ProfitReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <ConsolidateProfitReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/SfkConsolidateProfitReport.mrt"));
                report["beginDate"]      = model.BeginDate.Date;
                report["endDate"]        = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["collateralType"] = model.CollateralType;
            }
            else if (queryModel.ReportName == "PaymentReport")
            {
                if (!_sessionContext.HasPermission(Permissions.PaymentReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <PaymentReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/PaymentReport.mrt"));
                report["branchId"]  = model.BranchId;
                report["beginDate"] = model.CurrentDate.Date;
                report["endDate"]   = model.CurrentDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
            }
            else if (queryModel.ReportName == "IssuanceReport")
            {
                if (!_sessionContext.HasPermission(Permissions.IssuanceReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <IssuanceReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/IssuanceReport.mrt"));
                report["branchId"]  = model.BranchId;
                report["beginDate"] = model.BeginDate.Date;
                report["endDate"]   = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["userId"]    = _sessionContext.UserId;
            }
            else if (queryModel.ReportName == "ReinforceAndWithdrawReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ReinforceAndWithdrawReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                var model = JsonConvert.DeserializeObject <ReinforceAndWithdrawReportQueryModel>(queryModel.ReportQuery);
                report.Load(StiNetCoreHelper.MapPath(this, "Reports/ReinforceAndWithdrawReport.mrt"));
                report["branchId"]  = model.BranchId;
                report["beginDate"] = model.BeginDate.Date;
                report["endDate"]   = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
            }
            else if (queryModel.ReportName == "SfkTransferedReport")
            {
                if (!_sessionContext.HasPermission(Permissions.ConsolidateReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                report.Load(StiNetCoreHelper.MapPath(this, "Reports/SfkTransferedReport.mrt"));
            }
            else if (queryModel.ReportName == "AccountableReport")
            {
                if (!_sessionContext.HasPermission(Permissions.AccountableReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                report.Load(StiNetCoreHelper.MapPath(this, "Reports/AccountableReport.mrt"));
                var model = JsonConvert.DeserializeObject <AccountableReportQueryModel>(queryModel.ReportQuery);
                report["accountIds"] = string.Join(",", model.AccountIds);
                report["branchIds"]  = string.Join(",", model.BranchIds);
                report["beginDate"]  = model.BeginDate.Date;
                report["endDate"]    = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["userId"]     = _sessionContext.UserId;
            }
            else if (queryModel.ReportName == "NotificationReport")
            {
                if (!_sessionContext.HasPermission(Permissions.NotificationReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                report.Load(StiNetCoreHelper.MapPath(this, "Reports/NotificationReport.mrt"));
                var model = JsonConvert.DeserializeObject <NotificationReportQueryModel>(queryModel.ReportQuery);
                report["branchId"]  = model.BranchId;
                report["beginDate"] = model.BeginDate.Date;
                report["endDate"]   = model.BeginDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                report["userId"]    = _sessionContext.UserId;
            }
            else if (queryModel.ReportName == "RegionMonitoringReport")
            {
                if (!_sessionContext.HasPermission(Permissions.RegionMonitoringReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                report.Load(StiNetCoreHelper.MapPath(this, "Reports/RegionMonitoringReport.mrt"));
                var model = JsonConvert.DeserializeObject <RegionMonitoringReportQueryModel>(queryModel.ReportQuery);
                report["branchIds"] = string.Join(",", model.BranchIds);
                report["beginDate"] = model.BeginDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
            }
            else if (queryModel.ReportName == "StatisticsReport")
            {
                if (!_sessionContext.HasPermission(Permissions.StatisticsReportView))
                {
                    throw new PawnshopApplicationException("У вас недостаточно прав для просмотра отчета, обратитесь к администратору");
                }

                report.Load(StiNetCoreHelper.MapPath(this, "Reports/StatisticsReport.mrt"));
                var model = JsonConvert.DeserializeObject <StatisticsReportQueryModel>(queryModel.ReportQuery);
                report["branchIds"] = string.Join(",", model.BranchIds);
                report["beginDate"] = model.BeginDate.Date;
                report["endDate"]   = model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
            }

            var sqlDatabase = (report.Dictionary.Databases["ReportConnection"] as StiSqlDatabase) ?? ((StiSqlDatabase)report.Dictionary.Databases[0]);

            sqlDatabase.ConnectionString = _options.DatabaseConnectionString;

            report.Render();
            return(report.SaveDocumentJsonToString());
        }