public static void BindDataAsync(this MyRepositoryItemGridLookUpEdit repositoryItem, string entityName, string keyFieldName, List <Guid> selectedIds) { var worker = new BackgroundWorker(); var context = new SearchLookUpEditLoadDataContext { RepositoryItem = repositoryItem }; repositoryItem.View.LoadDefaultLayout(entityName); repositoryItem.View.InitColumns(entityName); repositoryItem.GridSelection = new GridCheckMarksSelection(repositoryItem.View); worker.DoWork += (s, e) => { var query = repositoryItem.View.CreateQuery(entityName, null, null); var results = query.ToArrayList(); var selectedObjects = (from object result in results let dynamicResult = new SysBits.Reflection.ReflectionProxy(result) let id = (Guid)dynamicResult.GetProperty(keyFieldName) where selectedIds.Contains(id) select result).ToList(); context.Result = results; context.SelectedObjects = selectedObjects; e.Result = context; }; worker.RunWorkerCompleted += WorkerRunWorkerCompleted; worker.RunWorkerAsync(); }
public static void BindDataAsync(this RepositoryItemSearchLookUpEdit repositoryItem, CriteriaOperator commonFilter, string objectName) { var worker = new BackgroundWorker(); repositoryItem.View.InitWithDefaultLayout(objectName); var context = new SearchLookUpEditLoadDataContext { RepositoryItem = repositoryItem }; worker.DoWork += (s, e) => { var results = ListData(objectName, commonFilter); context.Result = results; e.Result = context; }; worker.RunWorkerCompleted += WorkerRunWorkerCompleted; worker.RunWorkerAsync(); }
public static void BindDataAsync(this WcfRepositoryItemSearchLookUpEdit repositoryItem, string entityName, Action completedAction, CriteriaOperator commonFilter) { var worker = new BackgroundWorker(); var context = new SearchLookUpEditLoadDataContext(); context.RepositoryItem = repositoryItem; context.CompletedAction = completedAction; repositoryItem.View.LoadDefaultLayout(repositoryItem.EntityName); repositoryItem.View.InitColumns(repositoryItem.EntityName); worker.DoWork += (s, e) => { var query = repositoryItem.View.CreateQuery(entityName, commonFilter, null); context.Result = query.ToArrayList(); e.Result = context; }; worker.RunWorkerCompleted += WorkerRunWorkerCompleted; worker.RunWorkerAsync(repositoryItem); }