private decimal?CalcPercentByListOfferIndicator(List <OfferOverviewDataView> listOfferOverview, string p1, string p2) { try { OfferOverviewDataView firstItem = listOfferOverview.FirstOrDefault(p => p.RowKeyIntCode == p1); OfferOverviewDataView secondItem = listOfferOverview.FirstOrDefault(p => p.RowKeyIntCode == p2); if (firstItem == null) { return(null); } else if (firstItem.Indicator_Value.HasValue && firstItem.Indicator_Value.Value == Decimal.Zero) { return(null); } else { decimal secondItemValue = Decimal.Zero; if (secondItem != null && secondItem.Indicator_Value.HasValue) { secondItemValue = secondItem.Indicator_Value.Value; } return((firstItem.Indicator_Value.Value - secondItemValue) / firstItem.Indicator_Value.Value * 100); } } catch { return(Decimal.Zero); } }
private Decimal SumIndicatorValue(object offerOverviewType, params string[] rowKeyIntCodes) { Decimal res = Decimal.Zero; foreach (string code in rowKeyIntCodes) { OfferOverviewDataView item = null; if (offerOverviewType == null) { item = this.listOfferOverview.FirstOrDefault(p => p.RowKeyIntCode == code); } else { item = this.listOfferOverview.FirstOrDefault(p => p.OfferOverviewType == offerOverviewType.ToString() && p.RowKeyIntCode == code); } if (item != null && item.Indicator_Value.HasValue) { res += item.Indicator_Value.Value; } } return(res); }