private EntityCollection SetTransaction(EntityCollection entityCollection, WeeklySummaryCollection weeklySummaryCollection) { for (int i = 0; i < entityCollection.Count; i++) { if (entityCollection[i].SumType == SumType.Transaction) { entityCollection[i].SubEntities = SetSubtotal(entityCollection[i].SubEntities, weeklySummaryCollection); WeeklySummaryCollection _weeklySummaryCollection = CalculateService.Instance.GetWeeklySummary(entityCollection[i].EntityID); if (_weeklySummaryCollection.Count == 0) { WeeklySummary _weeklySummary = new WeeklySummary(PeriodService.Instance.GetCurrentPeriod()[0], entityCollection[i]); using (WeeklySummaryAccessClient _weeklySummaryAccessClient = new WeeklySummaryAccessClient(EndpointName.WeeklySummaryAccess)) { _weeklySummaryAccessClient.Insert1(_weeklySummary); } weeklySummaryCollection.Add(_weeklySummary); } else { weeklySummaryCollection.AddRange(_weeklySummaryCollection); } continue; } EntityCollection _subEntities = entityCollection[i].SubEntities; entityCollection.RemoveAt(i); if (_subEntities.Count > 0) { entityCollection.InsertRange(i, _subEntities); } i--; } return entityCollection; }
private EntityCollection SetLastLevel(EntityCollection entityCollection, WeeklySummaryCollection weeklySummaryCollection) { for (int i = 0; i < entityCollection.Count; i++) { if (entityCollection[i].IsLastLevel == 1) { WeeklySummaryCollection _weeklySummaryCollection = CalculateService.Instance.GetWeeklySummary(entityCollection[i].EntityID); if (_weeklySummaryCollection.Count == 0) { entityCollection.RemoveAt(i--); } else { weeklySummaryCollection.AddRange(_weeklySummaryCollection); } continue; } EntityCollection _subEntities = entityCollection[i].SubEntities; entityCollection.RemoveAt(i); if (_subEntities.Count > 0) { entityCollection.InsertRange(i, _subEntities); } i--; } return entityCollection; }