// We allow the Fetch calls (and delegates) to have multiple parameters // But the IHandleXYZ interface can only have one criteria as a parameter // with a tuple to handle multiple parameters // ObjectPortal will bridge the two by turning the multiple paramters to a tuple public void FetchChild(CriteriaBase g, BusinessItemDto dto) // I only need the dependency within this method { using (BypassPropertyChecks) { this.FetchChildID = dto.FetchUniqueID; this.Criteria = g.Guid; } }
public void FetchChild(CriteriaBase criteria, System.Tuple <IObjectPortal <IBusinessItem>, IBusinessItemDal, IMobileDependency <IObjectPortal <IBusinessItem> > > d) { var dtos = d.Item2.Fetch(criteria.Guid); foreach (var dto in dtos) { // We allow the Fetch calls (and delegates) to have multiple parameters // But the IHandleXYZ interface can only have one criteria as a parameter // with a tuple to handle multiple parameters // ObjectPortal will bridge the two by turning the multiple paramters to a tuple Add(d.Item1.FetchChild(Tuple.Create <CriteriaBase, BusinessItemDto>(criteria, dto))); } this._newChild = d.Item3; }