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); }
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); }
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)); }