Esempio n. 1
0
        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);
        }