Beispiel #1
0
        public Expression Convert(ParameterExpression thisExpression, DevExpress.Data.Filtering.CriteriaOperator op)
        {
            var        converter  = new CriteriaToExpressionConverter();
            Expression expression = converter.Convert(thisExpression, op);

            var visitor = new NullPropagationEraseViistor();

            return(visitor.Visit(expression));
        }
Beispiel #2
0
        public object FindObject(Type objectType, DevExpress.Data.Filtering.CriteriaOperator criteria, bool inTransaction,
                                 bool selectDeleted)
        {
            CheckIsDisposed();
            XPClassInfo classInfo = FindXPClassInfo(objectType);
            object      result    = inTransaction ? session.FindObject(PersistentCriteriaEvaluationBehavior.InTransaction, classInfo, criteria, selectDeleted)
                                : session.FindObject(classInfo, criteria, selectDeleted);

            return(result);
        }
Beispiel #3
0
        private bool IsFit()
        {
            ResultRow rr = this.GetCurrentRow() as ResultRow;

            IResultSet resultSet = (this.DataSource as SqlDataSource).Result as DevExpress.DataAccess.Sql.DataApi.IResultSet;
            ITable     tableProd = null;

            resultSet.TryGetTable("CategoryProducts", out tableProd);
            DevExpress.Data.Filtering.CriteriaOperator            filter    = DevExpress.Data.Filtering.CriteriaOperator.Parse(FilterExpression);
            DevExpress.Data.Filtering.Helpers.ExpressionEvaluator evaluator = new DevExpress.Data.Filtering.Helpers.ExpressionEvaluator((((ITypedList)tableProd).GetItemProperties(null)), filter);
            bool isFit = evaluator.Fit(rr);

            return(isFit);
        }
Beispiel #4
0
        public static void DoInventoryAction(List <BusinessObject> lstObjects, bool isCalcInventoryReport)
        {
            #region Init
            Dictionary <String, List <BusinessObject> > lstDictObjects = new Dictionary <string, List <BusinessObject> >();
            foreach (BusinessObject obj in lstObjects)
            {
                if (lstDictObjects.ContainsKey(obj.AATableName) == false)
                {
                    lstDictObjects.Add(obj.AATableName, new List <BusinessObject>()
                    {
                        obj
                    });
                }
                else
                {
                    lstDictObjects[obj.AATableName].Add(obj);
                }
            }
            #endregion

            Dictionary <Guid, List <Guid> > lstProductIDs = new Dictionary <Guid, List <Guid> >();

            CriteriaToExpressionConverter converter = new CriteriaToExpressionConverter();
            foreach (String strTableName in lstDictObjects.Keys)
            {
                if (IsNeedCalculateInventory(strTableName))
                {
                    #region Calculate Inventory

                    foreach (ICInventoryConfigsInfo config in GetConfigs(strTableName))
                    {
                        if (!config.IsShipment || !config.IsLost || !config.IsReceive)
                        {
                            continue;
                        }

                        DevExpress.Data.Filtering.CriteriaOperator operatorConvert = DevExpress.Data.Filtering.CriteriaOperator.Parse(config.VoucherConditionString);
                        List <BusinessObject> lstFilteredObjects = ((IQueryable <BusinessObject>)lstDictObjects[strTableName].AsQueryable().AppendWhere(converter, operatorConvert)).ToList();
                        foreach (BusinessObject obj in lstFilteredObjects)
                        {
                            #region companyUnitID

                            Guid companyUnitID = Guid.Empty;
                            if (!String.IsNullOrWhiteSpace(config.VoucherComUnitIDField))
                            {
                                companyUnitID = ABCHelper.DataConverter.ConvertToGuid(ABCDynamicInvoker.GetValue(obj, config.VoucherComUnitIDField));
                            }
                            else if (!String.IsNullOrWhiteSpace(config.VoucherRealComUnitIDField) && !String.IsNullOrWhiteSpace(config.VoucherTableName))
                            {
                                companyUnitID = ABCHelper.DataConverter.ConvertToGuid(ABCDynamicInvoker.GetValue(obj, config.VoucherRealComUnitIDField));
                                companyUnitID = CompanyUnitProvider.GetCompanyUnitID(config.VoucherTableName, companyUnitID);
                            }
                            if (companyUnitID == Guid.Empty)
                            {
                                continue;
                            }
                            #endregion

                            Guid     productID = ABCHelper.DataConverter.ConvertToGuid(ABCDynamicInvoker.GetValue(obj, config.ProductIDField));
                            String   strSKU    = ABCDynamicInvoker.GetValue(obj, config.SKUField).ToString();
                            double   qty       = Convert.ToDouble(ABCDynamicInvoker.GetValue(obj, config.QtyField));
                            DateTime date      = Convert.ToDateTime(ABCDynamicInvoker.GetValue(obj, config.DateField));

                            if (productID != Guid.Empty && qty != 0 && date != null && date != DateTime.MinValue && date != DateTime.MaxValue)
                            {
                                if (config.IsShipment || config.IsLost)
                                {
                                    DoShipment(companyUnitID, productID, strSKU, qty, date);
                                }
                                else if (config.IsReceive)
                                {
                                    DoReceipt(companyUnitID, productID, strSKU, qty, date);
                                }

                                if (lstProductIDs.ContainsKey(companyUnitID) == false)
                                {
                                    lstProductIDs.Add(companyUnitID, new List <Guid>()
                                    {
                                        productID
                                    });
                                }
                                else
                                {
                                    lstProductIDs[companyUnitID].Add(productID);
                                }
                            }
                        }
                    }
                    #endregion
                }
            }

            if (isCalcInventoryReport)
            {
                //foreach ( Guid comUnitID in lstProductIDs.Keys )
                //{
                //    foreach(Guid productID in lstProductIDs[comUnitID])
                //        InventoryReportCalculate(comUnitID,productID,
                //}
            }
        }
        System.Linq.Expressions.Expression <System.Func <EntityFrameworkIssues.Issues.Issue, bool> > MakeFilterExpression(DevExpress.Data.Filtering.CriteriaOperator filter)
        {
            var converter = new DevExpress.Xpf.Data.GridFilterCriteriaToExpressionConverter <EntityFrameworkIssues.Issues.Issue>();

            return(converter.Convert(filter));
        }
Beispiel #6
0
 protected override void ApplyCriteriaCore(DevExpress.Data.Filtering.CriteriaOperator criteria)
 {
 }
 public DevExpress.Data.Filtering.AggregateOperand Count(DevExpress.Data.Filtering.CriteriaOperator PropertyToCount)
 {
     return(new DevExpress.Data.Filtering.AggregateOperand(new DevExpress.Data.Filtering.OperandProperty(PropertyName), PropertyToCount, DevExpress.Data.Filtering.Aggregate.Sum, null));
 }
 DevExpress.Data.Filtering.AggregateOperand Sum(DevExpress.Data.Filtering.CriteriaOperator PropertyToSum)
 {
     return(new DevExpress.Data.Filtering.AggregateOperand(new DevExpress.Data.Filtering.OperandProperty(PropertyName), PropertyToSum, DevExpress.Data.Filtering.Aggregate.Sum, null));
 }
 public DevExpress.Data.Filtering.AggregateOperand Sum(DevExpress.Data.Filtering.CriteriaOperator PropertyToSum, DevExpress.Data.Filtering.CriteriaOperator Condition)
 {
     return(new DevExpress.Data.Filtering.AggregateOperand(new DevExpress.Data.Filtering.OperandProperty(PropertyName), PropertyToSum, DevExpress.Data.Filtering.Aggregate.Sum, Condition));
 }
Beispiel #10
0
 protected override void ApplyCriteriaCore(DevExpress.Data.Filtering.CriteriaOperator criteria)
 {
     throw new NotImplementedException();
 }