Beispiel #1
0
        public CriteriaOperator Visit(InOperator theOperator)
        {
            UpdatePropertyName(theOperator.LeftOperand);
            ToValue(theOperator.Operands);

            return(theOperator);
        }
 private List<ITreeNode> GetAllChildTreeNodes(InOperator inOperator, string propertyName) {
     var allTreeNodes = new List<ITreeNode>();
     XPCollection treeNodes = GetTreeNodes(propertyName, inOperator);
     if (treeNodes != null)
         allTreeNodes = treeNodes.Cast<ITreeNode>().ToList().GetAllTreeNodes();
     return allTreeNodes.Distinct().ToList();
 }
Beispiel #3
0
        public void FixInvokedBussinessObjects(Session session, XPCollection <BusinessObject> invokedBussinessObjects)
        {
            if (invokedBussinessObjects == null || invokedBussinessObjects.Count == 0)
            {
                return;
            }

            CriteriaOperator criteria_0 = CriteriaOperator.Parse("not(IsNull(FinancialTransactionDimId))");
            CriteriaOperator criteria_1 = new InOperator("FinancialTransactionDimId.RefId", invokedBussinessObjects.Select(i => i.RefId));
            CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater);
            CriteriaOperator criteria   = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1, criteria_2);
            CorrespondFinancialAccountDim defaultCorrespondAccDim = CorrespondFinancialAccountDim.GetDefault(session, CorrespondFinancialAccountDimEnum.NAAN_DEFAULT);

            XPCollection <FinancialActualPriceDetail> neededToBeFixList = new XPCollection <FinancialActualPriceDetail>(session, criteria);
            FinancialActualPriceSummary_Fact          fact = null;

            if (neededToBeFixList != null && neededToBeFixList.Count > 0)
            {
                foreach (FinancialActualPriceDetail detail in neededToBeFixList)
                {
                    fact             = detail.FinancialActualPriceSummary_FactId;
                    detail.RowStatus = Utility.Constant.ROWSTATUS_DELETED;
                    detail.Save();
                    fact.Save();
                }
            }
        }
Beispiel #4
0
        public byte[] ExportObject(string KeyMemberName, string ReportDisplayName)
        {
            ArrayList keys = new ArrayList
            {
                _currentObject.Session.GetKeyValue(_currentObject)
            };

            using (MemoryStream stream = new MemoryStream()) {
                CriteriaOperator criteria = new InOperator(KeyMemberName, keys);
                XtraReport       report   = Report(ReportDisplayName);

                if (_reportDataSourceHelper != null)
                {
                    _reportDataSourceHelper.SetupReport(report, null, criteria, true, null, true);
                }
                else
                {
                    _reportV2DataSourceHelper.SetupReport(report, null, criteria, true, null, true);
                }

                report.ExportToPdf(stream, new PdfExportOptions {
                    ShowPrintDialogOnOpen = false
                });
                stream.Seek(0, SeekOrigin.Begin);
                return(stream.ToArray());
            }
        }
        WebDataSource WebDataSource(Type resourceType, ListView filterView)
        {
            var criteria = new InOperator(filterView.ObjectTypeInfo.KeyMember.Name,
                                          filterView.SelectedObjects.Cast <object>().Select(o => ObjectSpace.GetKeyValue(o)));

            return(new WebDataSource(ObjectSpace, Application.TypesInfo.FindTypeInfo(resourceType), ObjectSpace.CreateCollection(resourceType, criteria)));
        }
Beispiel #6
0
        public object Visit(InOperator theOperator)
        {
            UpdatePropertyName(theOperator.LeftOperand);
            ToValue(theOperator.Operands);

            return(theOperator);
        }
        private void HistoryData()
        {
            var projectList         = DynamicDataServiceContext.GetObjects("Project", new BinaryOperator("ManagerId", AuthorizationManager.CurrentUserId), null);
            CriteriaOperator filter = new BinaryOperator("OwnerId", AuthorizationManager.CurrentUserId);

            if (projectList != null && projectList.Count > 0)
            {
                List <object> projectIds = new List <object>();
                foreach (var projectItem in projectList)
                {
                    projectIds.Add(projectItem.AsDyanmic().ProjectId);
                }
                filter = new InOperator("ProjectId", projectIds);
            }

            var managerExtraColumns = new Dictionary <string, string>
            {
                { "ProjectName", "Project == null?null:Project.Name" },
                { "IterationName", "ProjectIteration == null?null:ProjectIteration.Name" },
                { "TaskTimeHistories", "TaskTimeHistories" }
            };
            var projectTasks = DynamicDataServiceContext.GetObjects("ProjectTask", filter, managerExtraColumns);

            foreach (var taskItem in projectTasks)
            {
                var   taskDyanmic         = taskItem.AsDyanmic();
                IList taskTimeHistoryList = taskDyanmic.TaskTimeHistories as IList;
                AddItems(taskTimeHistoryList, taskDyanmic);
            }
        }
Beispiel #8
0
        public static bool IsExistXpoObject <T>(Session dbSession, string fieldName, object value, BinaryOperatorType type, params short[] rowStatuses)
        {
            Session session = null;

            try
            {
                CriteriaOperator rowStatusCriteria = null;
                if (rowStatuses.Length > 0)
                {
                    rowStatusCriteria = new InOperator("RowStatus", rowStatuses.ToList());
                }
                CriteriaOperator fieldCriteria = new BinaryOperator(fieldName, value, type);
                CriteriaOperator criteria      = CriteriaOperator.And(fieldCriteria, rowStatusCriteria);
                session = dbSession;
                var result = session.GetObjects(session.GetClassInfo(typeof(T)), criteria, null, 0, false, true);

                if (result != null && result.Count > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(false);
        }
Beispiel #9
0
        public void UpdateCollectionCriteria(List <string> list)
        {
            string propertyName = PersistentBase.Fields.ObjectType.TypeName.PropertyName;
            var    inOperator   = new InOperator(propertyName, GetPermissionTypeNames());

            View.CollectionSource.Criteria["CustomPermisssions"] = inOperator;
        }
Beispiel #10
0
        private CriteriaOperator GetPredicate()
        {
            CriteriaOperator filter = null;

            if (TechnicianIds.Count > 0)
            {
                filter &= new InOperator("TechnicianId", TechnicianIds);
            }

            if (OwnerIds.Count > 0)
            {
                filter &= new InOperator("OwnerId", OwnerIds);
            }

            if (statusItem.EditValue != null && statusItem.EditValue.ToString() != "-1")
            {
                filter &= new BinaryOperator("StatusCode", statusItem.EditValue);
            }

            if (DataRangeValue != null)
            {
                DateTime startDate, endDate;
                GetDataRange(DataRangeValue, out startDate, out endDate);
                filter &= new BinaryOperator("CreatedOn", endDate, BinaryOperatorType.LessOrEqual);
                GroupOperator nestedGroup = new GroupOperator(new OperandProperty("ClosedTime").IsNotNull(),
                                                              new BinaryOperator("ClosedTime", startDate, BinaryOperatorType.GreaterOrEqual),
                                                              new BinaryOperator("ClosedTime", endDate, BinaryOperatorType.LessOrEqual));
                nestedGroup.OperatorType = GroupOperatorType.And;
                GroupOperator group = new GroupOperator(new UnaryOperator(UnaryOperatorType.IsNull, "ClosedTime"), nestedGroup);
                group.OperatorType = GroupOperatorType.Or;

                filter &= group;
            }
            return(filter);
        }
        private XPCollection GetTreeNodes(string propertyName, InOperator inOperator) {

            Type memberType = View.ObjectTypeInfo.FindMember(propertyName).MemberType;
            string keyName = XafTypesInfo.Instance.FindTypeInfo(memberType).KeyMember.Name;
            InOperator clone = inOperator.Clone();
            ((OperandProperty)clone.LeftOperand).PropertyName = keyName;
            return new XPCollection(((ObjectSpace)ObjectSpace).Session, memberType, clone);
        }
Beispiel #12
0
        private XPCollection GetTreeNodes(string propertyName, InOperator inOperator)
        {
            Type       memberType = View.ObjectTypeInfo.FindMember(propertyName).MemberType;
            string     keyName    = XafTypesInfo.Instance.FindTypeInfo(memberType).KeyMember.Name;
            InOperator clone      = inOperator.Clone();

            ((OperandProperty)clone.LeftOperand).PropertyName = keyName;
            return(new XPCollection(((XPObjectSpace)ObjectSpace).Session, memberType, clone));
        }
Beispiel #13
0
    protected void FilterOutNonSelectedRows(ASPxGridView gridView, bool selectedRows)
    {
        CriteriaOperator selectionCriteria = new InOperator(gridView.KeyFieldName, gridView.GetSelectedFieldValues(gridView.KeyFieldName));

        if (!selectedRows)
        {
            selectionCriteria = selectionCriteria.Not();
        }
        gridView.FilterExpression = (GroupOperator.Combine(GroupOperatorType.And, selectionCriteria)).ToString();
    }
Beispiel #14
0
        private void DeleteObjects(XPObjectSpace objSpace, IList objs, XPClassInfo classInfo)
        {
            var inOp = new InOperator(
                objSpace.GetKeyPropertyName(classInfo.ClassType),
                objs);

            var deleter = new BatchDeleter(objSpace);

            deleter.Delete(classInfo, inOp);
        }
        protected override void OnBeforeCreateDocument(DashboardInteractionController interactionController, DashboardReportViewItem dashboardReportViewItem, ListViewFilteringArgs listViewFilteringArgs)
        {
            base.OnBeforeCreateDocument(interactionController, dashboardReportViewItem, listViewFilteringArgs);
            var reportDataTypeMember = ((IModelDashboardViewFilterReport)((IModelDashboardViewItemEx)dashboardReportViewItem.Model).Filter).ReportDataTypeMember;
            var report       = (XafReport)dashboardReportViewItem.Report;
            var propertyName = PropertyName(report, reportDataTypeMember);
            var criteria     = new InOperator(propertyName, interactionController.Getkeys(listViewFilteringArgs.DataSourceListView));

            report.SetFilteringObject(new LocalizedCriteriaWrapper(report.DataType, criteria));
        }
Beispiel #16
0
        object ICriteriaVisitor.Visit(InOperator theOperator)
        {
            List <string> operands = new List <string>();

            foreach (CriteriaOperator operand in theOperator.Operands)
            {
                operands.Add(operand.Accept(this).ToString());
            }
            return(string.Format("{0} in {1}", theOperator.LeftOperand.Accept(this).ToString(),
                                 string.Join(", ", operands.ToArray())));
        }
Beispiel #17
0
        protected override void OnBeforeCreateDocument(DashboardInteractionController interactionController, DashboardReportViewItem dashboardReportViewItem, ListViewFilteringArgs listViewFilteringArgs)
        {
            base.OnBeforeCreateDocument(interactionController, dashboardReportViewItem, listViewFilteringArgs);
            var objectTypeInfo       = Application.TypesInfo.FindTypeInfo(((IReportDataV2)dashboardReportViewItem.ReportData).DataType);
            var reportDataTypeMember = GetReportDataTypeMember(((IModelDashboardViewItemEx)dashboardReportViewItem.Model), objectTypeInfo);
            var report   = dashboardReportViewItem.Report;
            var criteria = new InOperator(reportDataTypeMember, interactionController.Getkeys(listViewFilteringArgs.DataSourceListView));

            report.FilterString = new LocalizedCriteriaWrapper(objectTypeInfo.Type, criteria).CriteriaOperator.ToString();
            report.CreateDocument(false);
        }
Beispiel #18
0
        private List <ITreeNode> GetAllChildTreeNodes(InOperator inOperator, string propertyName)
        {
            var          allTreeNodes = new List <ITreeNode>();
            XPCollection treeNodes    = GetTreeNodes(propertyName, inOperator);

            if (treeNodes != null)
            {
                allTreeNodes = treeNodes.Cast <ITreeNode>().ToList().GetAllTreeNodes();
            }
            return(allTreeNodes.Distinct().ToList());
        }
Beispiel #19
0
        public static bool HistoryData(IObjectSpace objectSpace, List <TaskTimeHistory> projectTaskList)
        {
            bool             isManager   = false;
            var              projectList = (List <Katrin.Domain.Impl.Project>)objectSpace.GetObjects("Project", new BinaryOperator("ManagerId", AuthorizationManager.CurrentUserId), null);
            CriteriaOperator filter      = null;

            if (projectList != null && projectList.Count > 0)
            {
                List <object> projectIds = new List <object>();
                foreach (var projectItem in projectList)
                {
                    projectIds.Add(projectItem.ProjectId);
                }
                filter    = new InOperator("ProjectId", projectIds);
                isManager = true;
            }

            CriteriaOperator historyFilter = new BinaryOperator("CreatedById", AuthorizationManager.CurrentUserId, BinaryOperatorType.Equal);
            var taskTimeHistories          = (List <Katrin.Domain.Impl.TaskTimeHistory>)objectSpace.GetObjects("TaskTimeHistory", historyFilter, null);

            if (taskTimeHistories.Count <= 0 && !isManager)
            {
                return(isManager);
            }
            historyFilter = new InOperator("TaskId", taskTimeHistories.Select(c => c.TaskId).ToList());
            if (isManager)
            {
                filter |= historyFilter;
            }
            else
            {
                filter = historyFilter;
            }

            var managerExtraColumns = new Dictionary <string, string>
            {
                { "Project", "Project" },
                { "ProjectIteration", "ProjectIteration" },
                { "TaskTimeHistories", "TaskTimeHistories" }
            };
            var projectTasks = objectSpace.GetBatchObjects("ProjectTask", filter, managerExtraColumns);

            foreach (var taskItem in projectTasks)
            {
                Katrin.Domain.Impl.ProjectTask task = ConvertData.Convert <Katrin.Domain.Impl.ProjectTask>(taskItem);
                var historyList = task.TaskTimeHistories.ToList();
                if (!isManager)
                {
                    historyList = historyList.Where(c => c.CreatedById == AuthorizationManager.CurrentUserId).ToList();
                }
                AddTaskItems(historyList, task, projectTaskList);
            }
            return(isManager);
        }
        protected virtual CriteriaOperator VisitIn(InOperator theOperator)
        {
            CriteriaOperator           leftOperand = this.AcceptOperator(theOperator.LeftOperand);
            CriteriaOperatorCollection operands    = this.VisitOperands(theOperator.Operands);

            if (object.ReferenceEquals(theOperator.LeftOperand, leftOperand) &&
                object.ReferenceEquals(theOperator.Operands, operands))
            {
                return(theOperator);
            }
            return(new InOperator(leftOperand, operands));
        }
 object ICriteriaVisitor <object> .Visit(InOperator theOperator)
 {
     Process(theOperator);
     if (!ReferenceEquals(theOperator.LeftOperand, null))
     {
         theOperator.LeftOperand.Accept(this);
     }
     foreach (CriteriaOperator @operator in theOperator.Operands)
     {
         @operator.Accept(this);
     }
     return(null);
 }
Beispiel #22
0
        public void ShouldBeValueInSet([Range(0, 5)] int value)
        {
            // Given
            var list   = new[] { 0, 1, 2 };
            var filter = new InOperator(EntityType, IntField, list);
            var entity = new FilterTestEntity {
                IntField = value
            };

            // When
            var isSatisfy = filter.IsSatisfiedBy(entity);

            // Then
            Assert.AreEqual(list.Contains(value), isSatisfy);
        }
Beispiel #23
0
        public BusinessObject GetOldestUnprocessedObject(Session session, Guid jobId, List <int> ObjectType)
        {
            BusinessObject oldestObject = null;

            try
            {
                ETLJob etlJob = session.GetObjectByKey <ETLJob>(jobId);
                if (etlJob == null)
                {
                    return(null);
                }

                ETLLogBO etlLogBO = new ETLLogBO();
                XPCollection <ETLBusinessObject> etlBusinessObjectCollection = etlLogBO.GetChangedIssuedDateETLBusinessObject(session, jobId);
                if (etlBusinessObjectCollection != null && etlBusinessObjectCollection.Count() != 0)
                {
                    etlBusinessObjectCollection.Sorting.Add(new SortProperty("BusinessObject.IssuedDateTimeStamp", SortingDirection.Ascending));
                    ETLBusinessObject oldestETLBusinessObject = etlBusinessObjectCollection.FirstOrDefault();
                    etlBusinessObjectCollection = etlLogBO.GetNewerETLBusinessObject(session, jobId, oldestETLBusinessObject.BusinessObjectIssuedDateTimeStamp);
                    foreach (ETLBusinessObject EBO in etlBusinessObjectCollection)
                    {
                        EBO.RowStatus = -2;
                        EBO.Save();
                    }
                    oldestETLBusinessObject.RowStatus = -2;
                    oldestETLBusinessObject.Save();
                }

                CriteriaOperator criteria_0 = new InOperator("ObjectType", ObjectType);
                CriteriaOperator criteria_1 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater);
                CriteriaOperator criteria   = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1);
                XPCollection <BusinessObject> businessObjectCollection = new XPCollection <BusinessObject>(session, criteria);
                businessObjectCollection.Sorting.Add(new SortProperty("ObjectIssueDate", SortingDirection.Ascending));
                businessObjectCollection.Sorting.Add(new SortProperty("IssuedDateTimeStamp", SortingDirection.Ascending));
                foreach (BusinessObject bo in businessObjectCollection)
                {
                    if (NeedToBeProcessed(session, bo.BusinessObjectId, jobId))
                    {
                        return(bo);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(oldestObject);
        }
Beispiel #24
0
        protected void BuildColumnFilter(GridColumn gridColumn, RepositoryItemCheckedComboBoxEdit checkedComboBoxEdit)
        {
            var typeFilterList = checkedComboBoxEdit.Items.Cast <CheckedListBoxItem>()
                                 .Where(p => p.CheckState == CheckState.Checked)
                                 .Select(p => (string)p.Value).ToList();

            if (typeFilterList.Count == 0)
            {
                gridColumn.FilterInfo = null;
                return;
            }

            var containsOp = new InOperator(gridColumn.FieldName, typeFilterList);

            gridColumn.FilterInfo = new ColumnFilterInfo(containsOp);
        }
Beispiel #25
0
        private IEnumerable GetTaskHistory(DateTime startDate, DateTime endDate, List <object> taskListId)
        {
            if (taskListId.Count <= 0)
            {
                return(null);
            }
            CriteriaOperator filter = new BinaryOperator("RecordOn", startDate, BinaryOperatorType.GreaterOrEqual);

            filter &= new BinaryOperator("RecordOn", endDate, BinaryOperatorType.LessOrEqual);
            if (taskListId.Count > 0)
            {
                filter &= new InOperator("TaskId", taskListId);
            }

            return(DynamicDataServiceContext.GetBatchObjects("TaskTimeHistory", filter, null));
        }
Beispiel #26
0
        public XPCollection <InventoryLedger> getTransactionInventoryLedgers(Session session, Guid InventoryId, Guid ItemUnitId)
        {
            try
            {
                AccountingPeriod currentAP = AccountingPeriodBO.getCurrentAccountingPeriod(session);
                //if (currentAP == null)
                //    return null;

                XPCollection <InventoryTransaction> ITLst = new XPCollection <InventoryTransaction>(session);
                //ITLst.Criteria = CriteriaOperator.And(
                //        new BinaryOperator("AccountingPeriodId", currentAP, BinaryOperatorType.Equal),
                //        new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater)
                //    );

                ITLst.Criteria = new BinaryOperator("RowStatus", 1, BinaryOperatorType.GreaterOrEqual);

                if (ITLst == null || ITLst.Count == 0)
                {
                    return(null);
                }

                if (ITLst == null || ITLst.Count == 0)
                {
                    return(null);
                }

                CriteriaOperator criteriaIN          = new InOperator("InventoryTransactionId", ITLst);
                XPCollection <InventoryLedger> ILLst = new XPCollection <InventoryLedger>(session);
                ILLst.Criteria = CriteriaOperator.And(
                    new InOperator("InventoryTransactionId", ITLst),
                    new BinaryOperator("ItemUnitId!Key", ItemUnitId, BinaryOperatorType.Equal),
                    new BinaryOperator("InventoryId!Key", InventoryId, BinaryOperatorType.Equal),
                    new BinaryOperator("RowStatus", 1, BinaryOperatorType.GreaterOrEqual)
                    );

                SortingCollection sortCollection = new SortingCollection();
                sortCollection.Add(new SortProperty("IssueDate", DevExpress.Xpo.DB.SortingDirection.Descending));
                sortCollection.Add(new SortProperty("CreateDate", DevExpress.Xpo.DB.SortingDirection.Descending));
                sortCollection.Add(new SortProperty("UpdateDate", DevExpress.Xpo.DB.SortingDirection.Descending));
                ILLst.Sorting = sortCollection;
                return(ILLst);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Beispiel #27
0
        protected override object Visit(InOperator theOperator)
        {
            var           leftOperand = theOperator.LeftOperand;
            GroupOperator group       = new GroupOperator();

            group.OperatorType = GroupOperatorType.Or;

            foreach (var operand in theOperator.Operands)
            {
                BinaryOperator criteria = new BinaryOperator();
                criteria.OperatorType = BinaryOperatorType.Equal;
                criteria.LeftOperand  = leftOperand;
                criteria.RightOperand = operand;
                group.Operands.Add(criteria);
            }
            return(group);
        }
        private static Condition In(InOperator inOperator)
        {
            var values = (inOperator.Operands as CriteriaOperatorCollection).OfType <ConstantValue>().Select(x => x.Value).ToList();

            var listType = typeof(List <>).MakeGenericType(values.FirstOrDefault().GetType());
            var list     = Activator.CreateInstance(listType, values.Count);
            var method   = listType.GetMethod("Add");

            for (int i = 0; i < values.Count; i++)
            {
                method.Invoke(list, new object[] { values[i] });
            }

            OperandProperty property = inOperator.LeftOperand as OperandProperty;

            return(new Condition(property.PropertyName, Operator.In, list));
        }
        void OnListViewFiltering(object sender, ListViewFilteringArgs listViewFilteringArgs)
        {
            var dashboardViewItem       = listViewFilteringArgs.DashboardViewItem;
            var dashboardReportViewItem = dashboardViewItem as DashboardReportViewItem;

            if (dashboardReportViewItem != null)
            {
                listViewFilteringArgs.Handled = true;
                var dashboardInteractionController = ((DashboardInteractionController)sender);
                var report = (dashboardReportViewItem).Report;
                var reportDataTypeMember = ((IModelDashboardViewFilterReport)listViewFilteringArgs.Model.Filter).ReportDataTypeMember;
                var propertyName         = PropertyName(report, reportDataTypeMember);
                var criteria             = new InOperator(propertyName, dashboardInteractionController.Getkeys(listViewFilteringArgs.DataSourceListView));
                report.SetFilteringObject(new LocalizedCriteriaWrapper(report.DataType, criteria));
                report.CreateDocument(true);
            }
        }
Beispiel #30
0
        public void FixInvokedBussinessObjects(Session session, XPCollection <DAL.System.Log.BusinessObject> invokedBussinessObjects)
        {
            if (invokedBussinessObjects == null || invokedBussinessObjects.Count == 0)
            {
                return;
            }

            CriteriaOperator criteria_0 = CriteriaOperator.Parse("not(IsNull(FinancialTransactionDimId))");
            CriteriaOperator criteria_1 = new InOperator("FinancialTransactionDimId.RefId", invokedBussinessObjects.Select(i => i.RefId));
            CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater);
            CriteriaOperator criteria   = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1, criteria_2);
            CorrespondFinancialAccountDim defaultAccDim = CorrespondFinancialAccountDim.GetDefault(session, CorrespondFinancialAccountDimEnum.NAAN_DEFAULT);

            XPCollection <FinancialPrepaidExpenseDetail> neededToBeFixList = new XPCollection <FinancialPrepaidExpenseDetail>(session, criteria);
            FinancialPrepaidExpenseSummary_Fact          fact = null;

            if (neededToBeFixList != null && neededToBeFixList.Count > 0)
            {
                foreach (FinancialPrepaidExpenseDetail detail in neededToBeFixList)
                {
                    fact             = detail.FinancialPrepaidExpenseSummary_FactId;
                    detail.RowStatus = Utility.Constant.ROWSTATUS_DELETED;
                    detail.Save();
                    //if (defaultAccDim != null && detail.CorrespondFinancialAccountDimId != null
                    //    && detail.CorrespondFinancialAccountDimId.Code.Equals(defaultAccDim.Code))
                    //{
                    //    fact.CreditSum -= detail.Credit;
                    //    fact.DebitSum -= detail.Debit;
                    //}

                    //fact.EndCreditBalance
                    //        = fact.BeginCreditBalance +
                    //        fact.CreditSum -
                    //        fact.DebitSum;

                    //fact.EndDebitBalance
                    //    = fact.BeginDebitBalance +
                    //    fact.DebitSum -
                    //    fact.CreditSum;

                    //fact.Save();
                }
            }
        }
Beispiel #31
0
        public override void FixInvokedBussinessObjects(DevExpress.Xpo.Session session, DevExpress.Xpo.XPCollection <DAL.System.Log.BusinessObject> invokedBussinessObjects)
        {
            if (invokedBussinessObjects == null || invokedBussinessObjects.Count == 0)
            {
                return;
            }

            CriteriaOperator criteria_0 = CriteriaOperator.Parse("not(IsNull(FinancialTransactionDimId))");
            CriteriaOperator criteria_1 = new InOperator("FinancialTransactionDimId.RefId", invokedBussinessObjects.Select(i => i.RefId));
            CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater);
            CriteriaOperator criteria   = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1, criteria_2);
            CorrespondFinancialAccountDim defaultCorrespondAccDim = CorrespondFinancialAccountDim.GetDefault(session, CorrespondFinancialAccountDimEnum.NAAN_DEFAULT);

            XPCollection <GoodsInInventoryDetail> neededToBeFixList = new XPCollection <GoodsInInventoryDetail>(session, criteria);
            GoodsInInventorySummary_Fact          fact = null;

            if (neededToBeFixList != null && neededToBeFixList.Count > 0)
            {
                foreach (GoodsInInventoryDetail detail in neededToBeFixList)
                {
                    fact             = detail.GoodsInInventorySummary_FacftId;
                    detail.RowStatus = Utility.Constant.ROWSTATUS_DELETED;
                    detail.Save();

                    //fact.CreditSum = fact.GoodsInInventoryDetails.Where(i => i.RowStatus == 1
                    //    && i.Credit > 0 && i.CorrespondFinancialAccountDimId == defaultCorrespondAccDim).Sum(d => d.Credit);

                    //fact.DebitSum = fact.GoodsInInventoryDetails.Where(i => i.RowStatus == 1
                    //    && i.Debit > 0 && i.CorrespondFinancialAccountDimId == defaultCorrespondAccDim).Sum(d => d.Debit);

                    //fact.EndCreditBalance
                    //        = fact.BeginCreditBalance +
                    //        fact.CreditSum -
                    //        fact.DebitSum;

                    //fact.EndDebitBalance
                    //    = fact.BeginDebitBalance +
                    //    fact.DebitSum -
                    //    fact.CreditSum;

                    //fact.Save();
                }
            }
        }
        private IEnumerable GetTaskHistory(DateTime recordDate, List <Guid> taskListId)
        {
            DateTime startDate = Utils.Date.WeekBegin(recordDate);
            DateTime endDate   = Utils.Date.WeekEnd(recordDate);

            if (taskListId.Count <= 0)
            {
                return(null);
            }
            CriteriaOperator filter = new BinaryOperator("RecordOn", startDate, BinaryOperatorType.GreaterOrEqual);

            filter &= new BinaryOperator("RecordOn", endDate, BinaryOperatorType.LessOrEqual);
            if (taskListId.Count > 0)
            {
                filter &= new InOperator("TaskId", taskListId);
            }

            return(DynamicDataServiceContext.GetObjects("TaskTimeHistory", filter, null));
        }
 public override Object Visit(InOperator theOperator)
 {
     return new CriteriaToStringVisitResult(Process(theOperator.LeftOperand).Result + " " + GetInText() + " {" + ProcessToCommaDelimitedList(theOperator.Operands) + "}");
 }
 public object Visit(InOperator theOperator){
     return theOperator;
 }
 private string ProcessInOperator(InOperator inOperator, string alias)
 {
     return InterpritateFilter(inOperator.LeftOperand, alias) + " IN (" + ProcessOperands(inOperator.Operands) + ")";
 }
Beispiel #36
0
 public virtual object Visit(InOperator theOperator)
 {
     Validate(theOperator.LeftOperand);
     Validate(theOperator.Operands);
     return null;
 }
Beispiel #37
0
 public object Visit(InOperator theOperator)
 {
     return BooleanCriteriaStateObject.Logical;
 }
Beispiel #38
0
        public object Visit(InOperator theOperator) {
            UpdatePropertyName(theOperator.LeftOperand);
            ToValue(theOperator.Operands);

            return theOperator;
        }
Beispiel #39
0
  Object yyparse (yyInput yyLex) {
	if (yyMax <= 0) yyMax = 256;			
	int yyState = 0;								   
	int [] yyStates = new int[yyMax];					
	Object yyVal = null;							   
	Object [] yyVals = new Object[yyMax];			
	int yyToken = -1;					
	int yyErrorFlag = 0;				
	int yyTop = 0;
	goto skip;
	yyLoop:
	yyTop++;
	skip:
	for(;; ++yyTop) {
	  if(yyTop >= yyStates.Length) {			
		int[] i = new int[yyStates.Length + yyMax];
		yyStates.CopyTo(i, 0);
		yyStates = i;
		Object[] o = new Object[yyVals.Length + yyMax];
		yyVals.CopyTo(o, 0);
		yyVals = o;
	  }
	  yyStates[yyTop] = yyState;
	  yyVals[yyTop] = yyVal;
	  yyDiscarded:	
	  for(;;) {
		int yyN;
		if ((yyN = yyDefRed[yyState]) == 0) {	
		  if(yyToken < 0)
			yyToken = yyLex.advance() ? yyLex.token() : 0;
		  if((yyN = yySindex[yyState]) != 0 && ((yyN += yyToken) >= 0)
			  && (yyN < yyTable.Length) && (yyCheck[yyN] == yyToken)) {
			yyState = yyTable[yyN];		
			yyVal = yyLex.value();
			yyToken = -1;
			if (yyErrorFlag > 0) -- yyErrorFlag;
			goto yyLoop;
		  }
		  if((yyN = yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0
			  && yyN < yyTable.Length && yyCheck[yyN] == yyToken)
			yyN = yyTable[yyN];			
		  else
			switch(yyErrorFlag) {
			case 0:
			  yyerror("syntax error");
			  goto case 1;
			case 1: case 2:
			  yyErrorFlag = 3;
			  do {
				if((yyN = yySindex[yyStates[yyTop]]) != 0
					&& (yyN += Token.yyErrorCode) >= 0 && yyN < yyTable.Length
					&& yyCheck[yyN] == Token.yyErrorCode) {
				  yyState = yyTable[yyN];
				  yyVal = yyLex.value();
				  goto yyLoop;
				}
			  } while (--yyTop >= 0);
			  yyerror("irrecoverable syntax error");
			  goto yyDiscarded;
			case 3:
			  if (yyToken == 0)
				yyerror("irrecoverable syntax error at end-of-file");
			  yyToken = -1;
			  goto yyDiscarded;		
			}
		}
		int yyV = yyTop + 1 - yyLen[yyN];
		yyVal = yyV > yyTop ? null : yyVals[yyV];
		switch(yyN) {
case 1:
#line 54 "grammar.y"
  { result = new CriteriaOperator[0]; }
  break;
case 2:
#line 55 "grammar.y"
  { result = ((List<CriteriaOperator>)yyVals[-1+yyTop]).ToArray(); }
  break;
case 3:
#line 59 "grammar.y"
  { yyVal = new List<CriteriaOperator>(new CriteriaOperator[] {(CriteriaOperator)yyVals[0+yyTop]}); }
  break;
case 4:
#line 60 "grammar.y"
  { yyVal = yyVals[-2+yyTop]; ((List<CriteriaOperator>)yyVal).Add((CriteriaOperator)yyVals[0+yyTop]); }
  break;
case 5:
#line 64 "grammar.y"
  { yyVal = yyVals[0+yyTop]; }
  break;
case 6:
#line 65 "grammar.y"
  {
		OperandProperty prop2 = (OperandProperty)yyVals[-2+yyTop];
		OperandProperty prop4 = (OperandProperty)yyVals[0+yyTop];
		prop2.PropertyName = '<' + prop2.PropertyName + '>' + prop4.PropertyName;
		yyVal = prop2;
	}
  break;
case 7:
#line 74 "grammar.y"
  { yyVal = yyVals[0+yyTop]; }
  break;
case 8:
#line 75 "grammar.y"
  { yyVal = new OperandProperty("^"); }
  break;
case 9:
#line 79 "grammar.y"
  { yyVal = yyVals[0+yyTop]; }
  break;
case 10:
#line 80 "grammar.y"
  {
		OperandProperty prop1 = (OperandProperty)yyVals[-2+yyTop];
		OperandProperty prop3 = (OperandProperty)yyVals[0+yyTop];
		prop1.PropertyName += '.' + prop3.PropertyName;
		yyVal = prop1;
	}
  break;
case 11:
#line 89 "grammar.y"
  {
		AggregateOperand agg = (AggregateOperand)yyVals[0+yyTop];
		yyVal = JoinOperand.JoinOrAggreagate((OperandProperty)yyVals[-2+yyTop], null, agg.AggregateType, agg.AggregatedExpression);
	}
  break;
case 12:
#line 93 "grammar.y"
  {
		AggregateOperand agg = (AggregateOperand)yyVals[0+yyTop];
		yyVal = JoinOperand.JoinOrAggreagate((OperandProperty)yyVals[-5+yyTop], (CriteriaOperator)yyVals[-3+yyTop], agg.AggregateType, agg.AggregatedExpression);
	}
  break;
case 13:
#line 97 "grammar.y"
  {
		AggregateOperand agg = (AggregateOperand)yyVals[0+yyTop];
		yyVal = JoinOperand.JoinOrAggreagate((OperandProperty)yyVals[-4+yyTop], null, agg.AggregateType, agg.AggregatedExpression);
	}
  break;
case 14:
#line 101 "grammar.y"
  { yyVal = JoinOperand.JoinOrAggreagate((OperandProperty)yyVals[-3+yyTop], (CriteriaOperator)yyVals[-1+yyTop], Aggregate.Exists, null); }
  break;
case 15:
#line 102 "grammar.y"
  { yyVal = JoinOperand.JoinOrAggreagate((OperandProperty)yyVals[-2+yyTop], null, Aggregate.Exists, null); }
  break;
case 18:
#line 110 "grammar.y"
  { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)null, Aggregate.Count, null); }
  break;
case 19:
#line 111 "grammar.y"
  { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)null, Aggregate.Exists, null); }
  break;
case 20:
#line 112 "grammar.y"
  { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)null, Aggregate.Count, null); }
  break;
case 21:
#line 113 "grammar.y"
  { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)null, Aggregate.Exists, null); }
  break;
case 22:
#line 114 "grammar.y"
  { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)yyVals[-1+yyTop], Aggregate.Min, null); }
  break;
case 23:
#line 115 "grammar.y"
  { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)yyVals[-1+yyTop], Aggregate.Max, null); }
  break;
case 24:
#line 116 "grammar.y"
  { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)yyVals[-1+yyTop], Aggregate.Avg, null); }
  break;
case 25:
#line 117 "grammar.y"
  { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)yyVals[-1+yyTop], Aggregate.Sum, null); }
  break;
case 26:
#line 121 "grammar.y"
  { yyVal = yyVals[0+yyTop]; }
  break;
case 27:
#line 122 "grammar.y"
  {
						  string paramName = (string)yyVals[0+yyTop];
						  if(string.IsNullOrEmpty(paramName)) {
							OperandValue param = new OperandValue();
							resultParameters.Add(param);
							yyVal = param;
						  } else {
							bool paramNotFound = true;
							foreach(OperandValue v in resultParameters) {
							  OperandParameter p = v as OperandParameter;
							  if(ReferenceEquals(p, null))
								continue;
							  if(p.ParameterName != paramName)
								continue;
							  paramNotFound = false;
							  resultParameters.Add(p);
							  yyVal = p;
							  break;
							}
							if(paramNotFound) {
							  OperandParameter param = new OperandParameter(paramName);
							  resultParameters.Add(param);
							  yyVal = param;
							}
						  }
						}
  break;
case 28:
#line 148 "grammar.y"
  { yyVal = yyVals[0+yyTop]; }
  break;
case 29:
#line 149 "grammar.y"
  { yyVal = yyVals[0+yyTop]; }
  break;
case 30:
#line 150 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Multiply ); }
  break;
case 31:
#line 151 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Divide ); }
  break;
case 32:
#line 152 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Plus ); }
  break;
case 33:
#line 153 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Minus ); }
  break;
case 34:
#line 154 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Modulo ); }
  break;
case 35:
#line 155 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.BitwiseOr ); }
  break;
case 36:
#line 156 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.BitwiseAnd ); }
  break;
case 37:
#line 157 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.BitwiseXor ); }
  break;
case 38:
#line 158 "grammar.y"
  {
								yyVal = new UnaryOperator( UnaryOperatorType.Minus, (CriteriaOperator)yyVals[0+yyTop] );
								try {
									if(yyVals[0+yyTop] is OperandValue) {
										OperandValue operand = (OperandValue)yyVals[0+yyTop];
										if(operand.Value is Int32) {
											operand.Value = -(Int32)operand.Value;
											yyVal = operand;
											break;
										} else if(operand.Value is Int64) {
											operand.Value = -(Int64)operand.Value;
											yyVal = operand;
											break;
										} else if(operand.Value is Double) {
											operand.Value = -(Double)operand.Value;
											yyVal = operand;
											break;
										} else if(operand.Value is Decimal) {
											operand.Value = -(Decimal)operand.Value;
											yyVal = operand;
											break;
										}  else if(operand.Value is Int16) {
											operand.Value = -(Int16)operand.Value;
											yyVal = operand;
											break;
										}  else if(operand.Value is SByte) {
											operand.Value = -(SByte)operand.Value;
											yyVal = operand;
											break;
										}
									}
								} catch {}
							}
  break;
case 39:
#line 191 "grammar.y"
  { yyVal = new UnaryOperator( UnaryOperatorType.Plus, (CriteriaOperator)yyVals[0+yyTop] ); }
  break;
case 40:
#line 192 "grammar.y"
  { yyVal = new UnaryOperator( UnaryOperatorType.BitwiseNot, (CriteriaOperator)yyVals[0+yyTop] ); }
  break;
case 41:
#line 193 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Equal); }
  break;
case 42:
#line 194 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.NotEqual); }
  break;
case 43:
#line 195 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Greater); }
  break;
case 44:
#line 196 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Less); }
  break;
case 45:
#line 197 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.GreaterOrEqual); }
  break;
case 46:
#line 198 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.LessOrEqual); }
  break;
case 47:
#line 199 "grammar.y"
  { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Like); }
  break;
case 48:
#line 200 "grammar.y"
  { yyVal = new UnaryOperator(UnaryOperatorType.Not, new BinaryOperator( (CriteriaOperator)yyVals[-3+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Like)); }
  break;
case 49:
#line 201 "grammar.y"
  { yyVal = new UnaryOperator(UnaryOperatorType.Not, (CriteriaOperator)yyVals[0+yyTop]); }
  break;
case 50:
#line 202 "grammar.y"
  { yyVal = GroupOperator.And((CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop]); }
  break;
case 51:
#line 203 "grammar.y"
  { yyVal = GroupOperator.Or((CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop]); }
  break;
case 52:
#line 204 "grammar.y"
  { yyVal = yyVals[-1+yyTop]; }
  break;
case 53:
#line 205 "grammar.y"
  { yyVal = new UnaryOperator(UnaryOperatorType.IsNull, (CriteriaOperator)yyVals[-2+yyTop]); }
  break;
case 54:
#line 206 "grammar.y"
  { yyVal = new UnaryOperator(UnaryOperatorType.Not, new UnaryOperator(UnaryOperatorType.IsNull, (CriteriaOperator)yyVals[-3+yyTop])); }
  break;
case 55:
#line 207 "grammar.y"
  { yyVal = new InOperator((CriteriaOperator)yyVals[-2+yyTop], (IEnumerable<CriteriaOperator>)yyVals[0+yyTop]); }
  break;
case 56:
#line 208 "grammar.y"
  { yyVal = new BetweenOperator((CriteriaOperator)yyVals[-6+yyTop], (CriteriaOperator)yyVals[-3+yyTop], (CriteriaOperator)yyVals[-1+yyTop]); }
  break;
case 57:
#line 209 "grammar.y"
  { yyVal = new UnaryOperator(UnaryOperatorType.IsNull, (CriteriaOperator)yyVals[-1+yyTop]); }
  break;
case 58:
#line 210 "grammar.y"
  { yyVal = new FunctionOperator(FunctionOperatorType.IsNull, (CriteriaOperator)yyVals[-3+yyTop], (CriteriaOperator)yyVals[-1+yyTop]); }
  break;
case 59:
#line 211 "grammar.y"
  {  FunctionOperator fo = new FunctionOperator((FunctionOperatorType)yyVals[-1+yyTop], (IEnumerable<CriteriaOperator>)yyVals[0+yyTop]); lexer.CheckFunctionArgumentsCount(fo.OperatorType, fo.Operands.Count); yyVal = fo; }
  break;
case 60:
#line 212 "grammar.y"
  { yyVal = null; }
  break;
case 61:
#line 216 "grammar.y"
  { yyVal = yyVals[-1+yyTop]; }
  break;
case 62:
#line 217 "grammar.y"
  { yyVal = new List<CriteriaOperator>(); }
  break;
case 63:
#line 221 "grammar.y"
  {
							List<CriteriaOperator> lst = new List<CriteriaOperator>();
							lst.Add((CriteriaOperator)yyVals[0+yyTop]);
							yyVal = lst;
						}
  break;
case 64:
#line 226 "grammar.y"
  {
							List<CriteriaOperator> lst = (List<CriteriaOperator>)yyVals[-2+yyTop];
							lst.Add((CriteriaOperator)yyVals[0+yyTop]);
							yyVal = lst;
						}
  break;
#line default
		}
		yyTop -= yyLen[yyN];
		yyState = yyStates[yyTop];
		int yyM = yyLhs[yyN];
		if(yyState == 0 && yyM == 0) {
		  yyState = yyFinal;
		  if(yyToken < 0)
			yyToken = yyLex.advance() ? yyLex.token() : 0;
		  if(yyToken == 0)
			return yyVal;
		  goto yyLoop;
		}
		if(((yyN = yyGindex[yyM]) != 0) && ((yyN += yyState) >= 0)
			&& (yyN < yyTable.Length) && (yyCheck[yyN] == yyState))
		  yyState = yyTable[yyN];
		else
		  yyState = yyDgoto[yyM];
	 goto yyLoop;
	  }
	}
  }
Beispiel #40
0
        public object Visit(InOperator theOperator)
        {
            object left = Accept(theOperator.LeftOperand);

            foreach (CriteriaOperator op in theOperator.Operands)
            {
                if (Compare(left, Accept(op), true) == 0)
                {
                    return true;
                }
            }

            return false;
        }
 /// <contentfrom cref="ICriteriaVisitor.Visit(InOperator)"/>
 public object Visit(InOperator theOperator)
 {
     theOperator.LeftOperand = Process(theOperator.LeftOperand);
     Process(theOperator.Operands);
     return theOperator;
 }
 /// <contentfrom cref="ICriteriaVisitor.Visit(InOperator)"/>
 public object Visit(InOperator theOperator)
 {
     Process(theOperator.LeftOperand);
     Process(theOperator.Operands);
     return null;
 }
        void ApplyCondition(SelectStatement statement, FilterProviderBase providerBase, string nodeAlias) {
            var objectType = GetObjectType(statement.TableName);
            if (FilteredByKey(statement, objectType)) return;
            CriteriaOperator condition = null;
            if (providerBase.FilterValue is IList) {
                CriteriaOperator criteriaOperator = ((IEnumerable)providerBase.FilterValue).Cast<object>().Aggregate<object, CriteriaOperator>(null, (current, value)
                    => current | (
                        value == null 
                            ? (CriteriaOperator)new QueryOperand(providerBase.FilterMemberName, nodeAlias).IsNull()
                            : new QueryOperand(providerBase.FilterMemberName, nodeAlias) == new OperandValue( value)));
                criteriaOperator = new GroupOperator(criteriaOperator);
                condition = criteriaOperator;
            } else
                condition = new QueryOperand(providerBase.FilterMemberName, nodeAlias) == (providerBase.FilterValue == null ? null : providerBase.FilterValue.ToString());

            
            if (objectType != null)
            {
                var typeInfo = XafTypesInfo.CastTypeToTypeInfo(objectType);
                if (typeInfo.OwnMembers.FirstOrDefault(x=>x.Name == "ObjectType") != null)
                {
                    
                     var excludes = new List<Type>();
                    foreach (var item in _BaseTypesDictionary.Where(x => x.Value == typeInfo).Select(x => x.Key))
                    {
                        if (FilterProviderManager.GetFilterProvider(item.Type,providerBase.FilterMemberName,StatementContext.Select) == null)
                            excludes.Add(item.Type);
                    }

                    if (excludes.Count > 0)
                    {
                        var table = XafTypesInfo.XpoTypeInfoSource.GetEntityClassInfo(typeof(XPObjectType)).Table;
                        statement.SubNodes.Add(new JoinNode(table,"OT",JoinType.Inner){Condition = new QueryOperand("ObjectType",statement.Alias) == new QueryOperand("OId","OT")});
                        condition |= new InOperator(new QueryOperand("TypeName","OT"),excludes.Select(x=>new OperandValue( x.FullName)).ToArray());
                    }
                }
            }

            statement.Condition &= new GroupOperator(condition);
        }
Beispiel #44
0
 object ICriteriaVisitor.Visit(InOperator theOperator)
 {
     object val = Process(theOperator.LeftOperand);
     foreach(CriteriaOperator op in theOperator.Operands)
         if(Compare(val, Process(op), true) == 0)
             return GetBool(true);
     return GetBool(false);
 }
Beispiel #45
0
 public object Visit(InOperator theOperator)
 {
     BooleanCriteriaState leftRes = Process(theOperator.LeftOperand);
     if (leftRes == BooleanCriteriaState.Logical) throw new ArgumentException(MustBeArithmetical);
     foreach (CriteriaOperator co in theOperator.Operands) {
         BooleanCriteriaState coRes = Process(co);
         if (coRes == BooleanCriteriaState.Logical) throw new ArgumentException(MustBeArithmetical);
     }
     return BooleanCriteriaStateObject.Logical;
 }
            protected override void Process(InOperator theOperator)
            {
                base.Process(theOperator);
                var leftOperand = theOperator.LeftOperand as QueryOperand;
                if (!object.ReferenceEquals(leftOperand, null))
                {
                    if (leftOperand.ColumnName == _KeyColumnName && leftOperand.NodeAlias == _NodeAlias)
                        _ContainsKey = true;
                }


            }