コード例 #1
0
        private static AlterationModel GetAlterationModelFromAlterationExpression(IEnumerable <BaseExpression> symbols)
        {
            var alterationModel = new AlterationModel();

            foreach (var symbol in symbols)
            {
                switch (symbol)
                {
                case ProductionExpression productionExpression:
                    alterationModel.AddSymbol(productionExpression.ProductionModel);
                    break;

                case SymbolExpression symbolExpression:
                    alterationModel.AddSymbol(symbolExpression.SymbolModel);
                    break;

                case GrammarReferenceExpression grammarReferenceExpression:
                    alterationModel.AddSymbol(grammarReferenceExpression.GrammarReferenceModel);
                    break;

                case RuleExpression expr:
                    foreach (var symbolModel in GetSymbolModelsFromExpr(expr))
                    {
                        alterationModel.AddSymbol(symbolModel);
                    }

                    break;
                }
            }

            return(alterationModel);
        }
コード例 #2
0
        private static AlterationModel GetAlterationModelFromAlterationExpression(List <BaseExpression> symbols)
        {
            var alterationModel = new AlterationModel();

            foreach (var symbol in symbols)
            {
                if (symbol is ProductionExpression)
                {
                    var productionExpression = symbol as ProductionExpression;
                    alterationModel.Symbols.Add(
                        productionExpression.ProductionModel);
                }
                else if (symbol is SymbolExpression)
                {
                    var symbolExpression = symbol as SymbolExpression;
                    alterationModel.Symbols.Add(
                        symbolExpression.SymbolModel);
                }
                else if (symbol is ProductionReferenceExpression)
                {
                    var productionReferenceExpression = symbol as ProductionReferenceExpression;
                    alterationModel.Symbols.Add(
                        productionReferenceExpression.ProductionReferenceModel);
                }
                else if (symbol is Expr)
                {
                    foreach (var symbolModel in GetSymbolModelListFromExpr(symbol as Expr))
                    {
                        alterationModel.Symbols.Add(symbolModel);
                    }
                }
            }
            return(alterationModel);
        }
コード例 #3
0
 public IActionResult CheckOutToTailor(AlterationModel model)
 {
     if (ModelState.IsValid)
     {
         var apiUrl = $"{_configs.Value.AlterationServiceBaseUrl}/CheckOut";
         _apiClient.Put(apiUrl, model);
         return(RedirectToAction(nameof(Index)));
     }
     return(View(model));
 }