private void LoadParentView(Action <ObservableCollection <ECCategoryVM>, ObservableCollection <ECCategoryVM> > callback) { var ecCategoryFacade = new ECCategoryFacade(CPApplication.Current.CurrentPage); ecCategoryFacade.LoadParentView(_currentVM.SysNo ?? 0, _currentVM.Level, (s, args) => { if (args.FaultsHandle()) { return; } ObservableCollection <ECCategoryVM> unAssignedParent = new ObservableCollection <ECCategoryVM>(); ObservableCollection <ECCategoryVM> assignedParent = new ObservableCollection <ECCategoryVM>(); ECCategoryParentView parentView = args.Result; var parentVMList = parentView.ParentCategoryList.Convert <ECCategory, ECCategoryVM>(); foreach (var p in parentVMList) { if ((parentView.CurrentParentSysNoList != null && parentView.CurrentParentSysNoList.IndexOf(p.RSysNo) > -1) || _currentVM.Parents.FirstOrDefault(i => i.RSysNo == p.RSysNo) != null) { assignedParent.Add(p); } else { unAssignedParent.Add(p); } } if (callback != null) { callback(unAssignedParent, assignedParent); } }); }
public virtual ECCategoryParentView LoadECCategoryParentView(string id, string level) { int sysNo = int.Parse(id); ECCategoryParentView view = new ECCategoryParentView(); if (sysNo > 0) { view.CurrentParentSysNoList = _ecCategoryQueryDA.GetECCategoryCurrentParentSysNos(sysNo); } ECCategoryLevel currentLevel = (ECCategoryLevel)Enum.Parse(typeof(ECCategoryLevel), level); ECCategoryLevel parentLevel = GetParentLevel(currentLevel); view.ParentCategoryList = _ecCategoryQueryDA.GetECCategoryParents(parentLevel); return view; }