Пример #1
0
 /// <summary>
 /// Асинхронно вызывает метод "GetFullReport" службы DomainService.
 /// </summary>
 /// <param name="selectedData">Значение параметра "selectedData" для данного действия.</param>
 /// <param name="Title">Значение параметра "Title" для данного действия.</param>
 /// <param name="dateStart">Значение параметра "dateStart" для данного действия.</param>
 /// <param name="dateEnd">Значение параметра "dateEnd" для данного действия.</param>
 /// <param name="ReportType">Значение параметра "ReportType" для данного действия.</param>
 /// <param name="mbType">Значение параметра "mbType" для данного действия.</param>
 /// <param name="isChart">Значение параметра "isChart" для данного действия.</param>
 /// <param name="isTable">Значение параметра "isTable" для данного действия.</param>
 /// <param name="isExcel">Значение параметра "isExcel" для данного действия.</param>
 /// <param name="reportID">Значение параметра "reportID" для данного действия.</param>
 /// <param name="TitleList">Значение параметра "TitleList" для данного действия.</param>
 /// <param name="DateStartList">Значение параметра "DateStartList" для данного действия.</param>
 /// <param name="DateEndList">Значение параметра "DateEndList" для данного действия.</param>
 /// <param name="MBTypeList">Значение параметра "MBTypeList" для данного действия.</param>
 /// <returns>Экземпляр операции, который может быть использован для управления асинхронным запросом.</returns>
 public InvokeOperation<ReportAnswer> GetFullReport(IEnumerable<string> selectedData, string Title, DateTime dateStart, DateTime dateEnd, ReportTypeEnum ReportType, FullReportMembersType mbType, bool isChart, bool isTable, bool isExcel, Guid reportID, IEnumerable<string> TitleList, IEnumerable<DateTime> DateStartList, IEnumerable<DateTime> DateEndList, IEnumerable<FullReportMembersType> MBTypeList)
 {
     Dictionary<string, object> parameters = new Dictionary<string, object>();
     parameters.Add("selectedData", selectedData);
     parameters.Add("Title", Title);
     parameters.Add("dateStart", dateStart);
     parameters.Add("dateEnd", dateEnd);
     parameters.Add("ReportType", ReportType);
     parameters.Add("mbType", mbType);
     parameters.Add("isChart", isChart);
     parameters.Add("isTable", isTable);
     parameters.Add("isExcel", isExcel);
     parameters.Add("reportID", reportID);
     parameters.Add("TitleList", TitleList);
     parameters.Add("DateStartList", DateStartList);
     parameters.Add("DateEndList", DateEndList);
     parameters.Add("MBTypeList", MBTypeList);
     this.ValidateMethod("GetFullReport", parameters);
     return ((InvokeOperation<ReportAnswer>)(this.InvokeOperation("GetFullReport", typeof(ReportAnswer), parameters, true, null, null)));
 }
Пример #2
0
        public FullReport(DateTime dateStart, DateTime dateEnd, IntervalReportEnum interval, FullReportMembersType mbType = FullReportMembersType.def)
            : base(dateStart, dateEnd, interval)
        {
            int parNumber=12;
            int scaleDiv=2;
            if (mbType != FullReportMembersType.def) {
                scaleDiv = 1;
            }
            MBType = mbType;
            ResultTypeEnum result=ResultTypeEnum.sum;
            DBOperEnum oper=DBOperEnum.sum;
            if (interval == IntervalReportEnum.minute) {
                parNumber = 4;
                oper = DBOperEnum.avg;
                result = ResultTypeEnum.sum;
                scaleDiv = 1;
            }
            bool otherType=false;
            if (mbType != FullReportMembersType.def) {
                otherType=true;
                switch (mbType) {
                    case FullReportMembersType.avg:
                        oper = DBOperEnum.avg;
                        result = ResultTypeEnum.avg;
                        break;
                    case FullReportMembersType.min:
                        oper = DBOperEnum.min;
                        result = ResultTypeEnum.min;
                        break;
                    case FullReportMembersType.max:
                        oper = DBOperEnum.max;
                        result = ResultTypeEnum.max;
                        break;
                    case FullReportMembersType.eq:
                        oper = DBOperEnum.eq;
                        result = ResultTypeEnum.avg;
                        break;
                }
            }

            ReportGARecords.AddPRecordsGAP(this, parNumber, 1, scaleDiv, false, false,oper,result);
            ReportGARecords.AddPRecordsGAQ(this, parNumber, 1, scaleDiv, false, false,oper,result);
            ReportGARecords.AddPRecordsGAAdd(this, parNumber, 1, scaleDiv, false, false, oper,result);
            ReportGARecords.AddCalcRecords(this, false, false, result);

            ReportLinesRecords.AddLineRecordsP(this, parNumber, 1, scaleDiv, false, false, oper, result);
            ReportLinesRecords.AddLineRecordsQ(this, parNumber, 1, scaleDiv, false, false, oper, result);
            ReportLinesRecords.AddCalcRecords(this, false, false, result);

            ReportGlTransformRecords.AddGLTransformRecordsP(this, parNumber, 1, scaleDiv, false, false, oper, result);
            ReportGlTransformRecords.AddGLTransformRecordsQ(this, parNumber, 1, scaleDiv, false, false, oper, result);
            ReportGlTransformRecords.AddPRecordsForNebalans(this, parNumber, 1, scaleDiv, false, false, oper, result);
            ReportGlTransformRecords.AddCalcRecords(this, false, false, result);

            ReportSNRecords.AddPRecordsSN(this, parNumber, 1, scaleDiv, false, false, oper, result);
            ReportSNRecords.AddCalcRecords(this, false, false, result);

            ReportWaterRecords.AddPRecordsWater(this, parNumber, 1, 1, false, false, otherType ? oper : DBOperEnum.avg, otherType ? result : ResultTypeEnum.avg);
            ReportWaterRecords.AddGSVRecords(this, 26, 1, 1, false, false, otherType ? oper : DBOperEnum.avg, otherType ? result : ResultTypeEnum.avg);
            ReportWaterRecords.AddCalcRecords(this, false, false, otherType ? result : ResultTypeEnum.avg);

            ReportMainRecords.AddPRecords(this, parNumber, 1, scaleDiv, false, false, oper, result);
            ReportMainRecords.AddCalcRecords(this, false, false, result);

            ReportMBRecords.AddRecordsMB(this, parNumber, 1, 1, false, false, otherType ? oper : DBOperEnum.avg, otherType ? result : ResultTypeEnum.avg);
            ReportMBRecords.AddCalcRecords(this, false, false, ResultTypeEnum.avg);
        }