protected override void OnSetChildren(SerializationInfo info, MobileFormatter formatter) { base.OnSetChildren(info, formatter); var mdInfo = info.Children[nameof(_newChild)]; _newChild = (IMobileDependency <IObjectPortal <IBusinessItem> >)formatter.GetObject(mdInfo.ReferenceId); }
public void FetchChild(System.Tuple <IObjectPortal <IBusinessItem>, IBusinessItemDal, IMobileDependency <IObjectPortal <IBusinessItem> > > d) { var dtos = d.Item2.Fetch(); foreach (var dto in dtos) { Add(d.Item1.FetchChild(dto)); } this._newChild = d.Item3; }
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; }
public void CreateChild(System.Tuple <IObjectPortal <IBusinessItem>, IMobileDependency <IObjectPortal <IBusinessItem> > > newChild) { this.Add(newChild.Item1.CreateChild()); this._newChild = newChild.Item2; }