Beispiel #1
0
        public void SetUp()
        {
            var workspace = new AdhocWorkspace();
            var language  = LanguageNames.CSharp;

            _syntaxGenerator   = SyntaxGenerator.GetGenerator(workspace, language);
            _expressionActions = new ExpressionActions();
            _node = SyntaxFactory.ExpressionStatement(SyntaxFactory.ParseExpression("/* Super comment */ Math.Abs(-1)"));
        }
        public void SetupFromRecording(FacialExpressionsRecording recording)
        {
            m_ExpressionEnumValues = recording.ExpressionEnumValues;

            m_ExpressionActionsMap.Clear();
            foreach (var expression in m_ExpressionEnumValues)
            {
                m_ExpressionActionsMap[expression] = new ExpressionActions();
            }
        }
Beispiel #3
0
        public IList <Dish> GetSorted(DishSorting parameters)
        {
            Expression <Func <Dish, bool> > param = g => !g.IsDeleted;
            var conditionExpressions = new List <Expression <Func <Dish, bool> > >
            {
                param
            };

            if (!string.IsNullOrEmpty(parameters.CategoryId))
            {
                param = dish => dish.CategoryId == parameters.CategoryId;
                conditionExpressions.Add(param);
            }

            if (parameters.NewOnly)
            {
                param = dish => dish.IsNew;
                conditionExpressions.Add(param);
            }

            if (parameters.Allergies != null && parameters.Allergies.Any())
            {
                param = g => !g.Allergies
                        .Any(gn => parameters.Allergies
                             .Contains(gn.AllergyId));

                conditionExpressions.Add(param);
            }

            var condition  = ExpressionActions.CombinePredicates(conditionExpressions, Expression.AndAlso);
            var repository = _unitOfWork.GetRepository <Dish>();
            var result     = condition != null
                ? repository.GetMany(condition, null, TrackingState.Disabled, "Allergies.Allergy", "Category", "Images")
                : repository.GetMany(source => !source.IsDeleted, null, TrackingState.Disabled, "Allergies.Allergy", "Category", "Images");

            switch (parameters.SortingMethod)
            {
            case SortingMethod.PriceAsc:
                result = result.OrderBy(g => g.Price);
                break;

            case SortingMethod.PriceDesc:
                result = result.OrderByDescending(g => g.Price);
                break;

            case SortingMethod.Popular:
                result = result.OrderByDescending(g => g.OrderedCount);
                break;
            }

            return(result.ToList());
        }