/// <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))); }
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); }