private void dgQueryResult_LoadingDataSource(object sender, Newegg.Oversea.Silverlight.Controls.Data.LoadingDataEventArgs e) { m_queryRequest.PagingInfo = new PagingInfo() { PageSize = e.PageSize, PageIndex = e.PageIndex, SortBy = e.SortField }; m_queryRequest.PagingInfo.SortBy = e.SortField; ReceivedReportFacade facade = new ReceivedReportFacade(this); facade.ARReceiveQuery(m_queryRequest, (obj, args) => { if (args.FaultsHandle()) { return; } this.dgQueryResult.TotalCount = args.Result.TotalCount; ArReceiveList = DynamicConverter <ARReceiveByInvoiceVM> .ConvertToVMList(args.Result.Rows); this.dgQueryResult.ItemsSource = ArReceiveList; this.myFooter.Visibility = ((ArReceiveList != null && ArReceiveList.Count != 0)) ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed; ARReceiveSumVM sumVm = GetSumARReceive(ArReceiveList); this.myFooter.DataContext = sumVm; }); }
//统计汇总信息 private ARReceiveSumVM GetSumARReceive(List <ARReceiveByInvoiceVM> resultList) { ARReceiveSumVM sumResult = new ARReceiveSumVM(); sumResult.SumAccruedTotal = 0; sumResult.SumUnbilled = 0; sumResult.SumOpenTotal = 0; sumResult.SumNoReceived = 0; sumResult.SumDueIn30 = 0; sumResult.SumDueBetween31And60 = 0; sumResult.SumDueBetween61And90 = 0; sumResult.SumDueBetween91And120 = 0; sumResult.SumDueBetween121And150 = 0; sumResult.SumDueBetween151And180 = 0; sumResult.SumDueOver180 = 0; sumResult.SumUnbilledPercentage = 0; sumResult.SumOpenTotalPercentage = 0; sumResult.SumDueIn30Percentage = 0; sumResult.SumDueBetween31And60Percentage = 0; sumResult.SumDueBetween61And90Percentage = 0; sumResult.SumDueBetween91And120Percentage = 0; sumResult.SumDueBetween121And150Percentage = 0; sumResult.SumDueBetween151And180Percentage = 0; sumResult.SumDueOver180Percentage = 0; if (resultList != null) { foreach (ARReceiveByInvoiceVM entity in resultList) { sumResult.SumAccruedTotal += entity.SumAccruedTotal; sumResult.SumUnbilled += entity.SumUnbilled; sumResult.SumOpenTotal += entity.SumOpenTotal; sumResult.SumNoReceived += entity.SumNoReceived; sumResult.SumDueIn30 += entity.DueIn30; sumResult.SumDueBetween31And60 += entity.DueBetween31And60; sumResult.SumDueBetween61And90 += entity.DueBetween61And90; sumResult.SumDueBetween91And120 += entity.DueBetween91And120; sumResult.SumDueBetween121And150 += entity.DueBetween121And150; sumResult.SumDueBetween151And180 += entity.DueBetween151And180; sumResult.SumDueOver180 += entity.DueOver180; } } if (sumResult.SumAccruedTotal > 0) { sumResult.SumUnbilledPercentage = sumResult.SumUnbilled / sumResult.SumAccruedTotal; sumResult.SumOpenTotalPercentage = sumResult.SumOpenTotal / sumResult.SumAccruedTotal; } if (sumResult.SumNoReceived > 0) { sumResult.SumDueIn30Percentage = sumResult.SumDueIn30 / sumResult.SumNoReceived; sumResult.SumDueBetween31And60Percentage = sumResult.SumDueBetween31And60 / sumResult.SumNoReceived; sumResult.SumDueBetween61And90Percentage = sumResult.SumDueBetween61And90 / sumResult.SumNoReceived; sumResult.SumDueBetween91And120Percentage = sumResult.SumDueBetween91And120 / sumResult.SumNoReceived; sumResult.SumDueBetween121And150Percentage = sumResult.SumDueBetween121And150 / sumResult.SumNoReceived; sumResult.SumDueBetween151And180Percentage = sumResult.SumDueBetween151And180 / sumResult.SumNoReceived; sumResult.SumDueOver180Percentage = sumResult.SumDueOver180 / sumResult.SumNoReceived; } return(sumResult); }