private static FieldDefinition GetFieldWithName(TypeDefinition typeDef, string eventTypeFullName, string name) { V_0 = typeDef.get_Fields().GetEnumerator(); try { while (V_0.MoveNext()) { V_1 = V_0.get_Current(); if (!String.op_Equality(V_1.get_Name(), name) || !String.op_Equality(V_1.get_FieldType().get_FullName(), eventTypeFullName)) { continue; } V_2 = V_1; goto Label1; } goto Label0; } finally { V_0.Dispose(); } Label1: return(V_2); Label0: return(null); }
private bool TryGetAssignment(StatementCollection statements, int startIndex, out BinaryExpression binaryExpression) { binaryExpression = null; V_0 = statements.get_Item(startIndex); if (V_0.get_CodeNodeType() != 5) { return(false); } V_1 = (V_0 as ExpressionStatement).get_Expression(); if (V_1.get_CodeNodeType() != 24) { return(false); } V_2 = V_1 as BinaryExpression; if (!V_2.get_IsAssignmentExpression()) { return(false); } if (V_2.get_Left().get_CodeNodeType() != 26 && V_2.get_Left().get_CodeNodeType() != 27 && V_2.get_Left().get_CodeNodeType() != 30 && V_2.get_Left().get_CodeNodeType() != 28 && V_2.get_Left().get_CodeNodeType() != 42 && V_2.get_Left().get_CodeNodeType() != 25 && V_2.get_Left().get_CodeNodeType() != 23 || (V_2.get_Left() as UnaryExpression).get_Operand().get_CodeNodeType() != 25) { return(false); } binaryExpression = V_2; return(true); }
protected bool ImplementsInterface(TypeReference type, string interfaceName) { V_0 = new BaseInitialisationPattern.u003cu003ec__DisplayClass8_0(); V_0.interfaceName = interfaceName; while (type != null) { V_1 = type.Resolve(); if (V_1 == null) { return(false); } stackVariable8 = V_1.get_Interfaces(); stackVariable10 = V_0.u003cu003e9__0; if (stackVariable10 == null) { dummyVar0 = stackVariable10; stackVariable18 = new Func <TypeReference, bool>(V_0.u003cImplementsInterfaceu003eb__0); V_2 = stackVariable18; V_0.u003cu003e9__0 = stackVariable18; stackVariable10 = V_2; } if (stackVariable8.Any <TypeReference>(stackVariable10)) { return(true); } type = V_1.get_BaseType(); } return(false); }
private static ModuleDefinition GetAssemblyModule(AssemblyDefinition assembly, string moduleFilePath) { V_0 = assembly.get_Modules().GetEnumerator(); try { while (V_0.MoveNext()) { V_1 = V_0.get_Current(); if (!String.Equals(V_1.get_FilePath(), moduleFilePath, 5)) { continue; } V_2 = V_1; goto Label1; } goto Label0; } finally { V_0.Dispose(); } Label1: return(V_2); Label0: throw new Exception("Module not found in assembly."); }
private void CreateMethod(CatchClause catchClause, VariableDeclarationExpression variable, out Expression methodInvocationExpression) { methodInvocationExpression = null; stackVariable4 = catchClause.get_Filter() as BlockStatement; V_0 = (((stackVariable4.get_Statements().First <Statement>() as ExpressionStatement).get_Expression() as BinaryExpression).get_Right() as SafeCastExpression).get_Expression() as VariableReferenceExpression; V_0.set_Variable(variable.get_Variable()); V_1 = stackVariable4.get_Statements().Last <Statement>() as ExpressionStatement; V_1.set_Expression(new ReturnExpression(V_1.get_Expression(), V_1.get_Expression().get_MappedInstructions())); V_2 = this.context.get_TypeContext().get_GeneratedFilterMethods().get_Count() + this.methodsToBeDecompiled.get_Count(); V_3 = new MethodDefinition(String.Format("JustDecompileGenerated_Filter_{0}", V_2), 1, this.context.get_MethodContext().get_Method().get_Module().get_TypeSystem().get_Boolean()); V_3.set_Body(new MethodBody(V_3)); V_3.set_MetadataToken(new MetadataToken(0x6000000, 0xffffff - V_2)); V_3.set_IsStatic(this.context.get_MethodContext().get_Method().get_IsStatic()); V_3.set_HasThis(!V_3.get_IsStatic()); V_3.set_DeclaringType(this.context.get_MethodContext().get_Method().get_DeclaringType()); V_3.set_SemanticsAttributes(0); V_3.set_IsJustDecompileGenerated(true); V_4 = new DecompilationContext(this.CloneAndReplaceMethodBody(this.context.get_MethodContext(), V_3.get_Body()), this.context.get_TypeContext(), this.context.get_Language()); V_5 = V_0.get_Variable().Resolve(); if (V_4.get_MethodContext().get_VariableDefinitionToNameMap().ContainsKey(V_5)) { V_4.get_MethodContext().get_VariableDefinitionToNameMap().Add(V_5, "JustDecompileGenerated_Exception"); } else { V_4.get_MethodContext().get_VariableDefinitionToNameMap().set_Item(V_5, "JustDecompileGenerated_Exception"); } dummyVar0 = V_4.get_MethodContext().get_VariablesToNotDeclare().Add(variable.get_Variable()); this.methodsToBeDecompiled.Add(new FilterMethodToBeDecompiled(V_3, catchClause, V_4, catchClause.get_Filter() as BlockStatement)); V_6 = this.AddAllParameters(catchClause, V_3, variable); methodInvocationExpression = this.CreateMethodInvocation(V_3, V_6); return; }
private RepositoryResponse<bool> SaveUrlAlias(int parentId, MixCmsContext _context, IDbContextTransaction _transaction) { stackVariable0 = new RepositoryResponse<bool>(); stackVariable0.set_IsSucceed(true); V_0 = stackVariable0; V_1 = this.get_UrlAliases().GetEnumerator(); try { while (V_1.MoveNext()) { stackVariable8 = V_1.get_Current(); stackVariable8.set_SourceId(parentId.ToString()); stackVariable8.set_Type(1); stackVariable8.set_Specificulture(this.get_Specificulture()); ViewModelHelper.HandleResult<Mix.Cms.Lib.ViewModels.MixUrlAliases.UpdateViewModel>(((ViewModelBase<MixCmsContext, MixUrlAlias, Mix.Cms.Lib.ViewModels.MixUrlAliases.UpdateViewModel>)stackVariable8).SaveModel(false, _context, _transaction), ref V_0); if (V_0.get_IsSucceed()) { continue; } goto Label0; } } finally { ((IDisposable)V_1).Dispose(); } Label0: return V_0; }
private RepositoryResponse<bool> SaveMedias(int id, MixCmsContext _context, IDbContextTransaction _transaction) { stackVariable0 = new RepositoryResponse<bool>(); stackVariable0.set_IsSucceed(true); V_0 = stackVariable0; V_1 = this.get_MediaNavs().GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = V_1.get_Current(); V_2.set_PostId(id); V_2.set_Specificulture(this.get_Specificulture()); if (!V_2.get_IsActived()) { ViewModelHelper.HandleResult<MixPostMedia>(V_2.RemoveModel(false, _context, _transaction), ref V_0); } else { ViewModelHelper.HandleResult<Mix.Cms.Lib.ViewModels.MixPostMedias.ReadViewModel>(V_2.SaveModel(false, _context, _transaction), ref V_0); } } } finally { ((IDisposable)V_1).Dispose(); } return V_0; }
private bool CanBeLoopCondition(ILogicalConstruct node, HashSet <ILogicalConstruct> loopBody) { if (!loopBody.Contains(node)) { return(false); } if (node as ConditionLogicalConstruct == null) { return(false); } V_0 = 0; V_1 = node.get_SameParentSuccessors().GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = (ILogicalConstruct)V_1.get_Current(); if (!loopBody.Contains(V_2)) { continue; } V_0 = V_0 + 1; } } finally { ((IDisposable)V_1).Dispose(); } return(V_0 == 1); }
private void CleanUpEdges(LoopLogicalConstruct loopConstruct) { V_0 = DFSTBuilder.BuildTree(loopConstruct.get_Parent()).get_ConstructToNodeMap().get_Item(loopConstruct); if (V_0.get_BackEdgeSuccessors().get_Count() == 0) { return; } V_1 = V_0.get_BackEdgeSuccessors().GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = V_1.get_Current(); if (V_2.get_Construct() as ILogicalConstruct as ConditionLogicalConstruct != null) { continue; } this.MarkAsGotoEdge(loopConstruct, V_2.get_Construct() as ILogicalConstruct); } } finally { ((IDisposable)V_1).Dispose(); } return; }
public void TransformExpressions(BaseCodeTransformer transformer) { V_0 = this.context.get_MethodContext().get_Expressions().get_BlockExpressions().get_Values().GetEnumerator(); try { while (V_0.MoveNext()) { V_1 = V_0.get_Current(); V_2 = 0; V_3 = 0; while (V_3 < V_1.get_Count()) { V_4 = (Expression)transformer.Visit(V_1.get_Item(V_3)); if (V_4 != null) { stackVariable27 = V_2; V_2 = stackVariable27 + 1; V_1.set_Item(stackVariable27, V_4); } V_3 = V_3 + 1; } V_5 = V_1.get_Count() - V_2; while (V_5 > 0) { V_1.RemoveAt(V_2 + V_5 - 1); V_5 = V_5 - 1; } } } finally { ((IDisposable)V_0).Dispose(); } return; }
private bool CanBeLoop(ILogicalConstruct header, ILogicalConstruct latchingNode, ICollection <DFSTNode> nodesInLoop) { if (header == null || latchingNode == null) { return(false); } V_0 = this.GetConstructsCollection(nodesInLoop); V_1 = V_0.GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = V_1.get_Current(); if (this.CanBeInLoop(V_2, V_0, header)) { continue; } V_3 = false; goto Label1; } goto Label0; } finally { if (V_1 != null) { V_1.Dispose(); } } Label1: return(V_3); Label0: return(true); }
private bool CheckForAssignment(BinaryExpression node) { if (node.get_Left().get_CodeNodeType() == 25 && (node.get_Left() as ArgumentReferenceExpression).get_Parameter().get_ParameterType().get_IsByReference()) { throw new Exception("Managed pointer usage not in SSA"); } if (node.get_Left().get_CodeNodeType() != 26 || !(node.get_Left() as VariableReferenceExpression).get_Variable().get_VariableType().get_IsByReference()) { return(false); } V_0 = (node.get_Left() as VariableReferenceExpression).get_Variable().Resolve(); if (this.variableToAssignExpression.ContainsKey(V_0)) { throw new Exception("Managed pointer usage not in SSA"); } if (node.get_Right().get_CodeNodeType() != 26 && node.get_Right().get_CodeNodeType() != 25 && node.get_Right().get_CodeNodeType() != 23) { return(false); } if (node.get_Right().get_CodeNodeType() == 23) { V_1 = node.get_Right() as UnaryExpression; if (V_1.get_Operator() != 7) { return(false); } if (V_1.get_Operand().get_CodeNodeType() != 26 && V_1.get_Operand().get_CodeNodeType() != 25) { return(false); } } this.variableToAssignExpression.Add(V_0, node); return(true); }
public void VisitExpressions() { V_0 = this.context.get_MethodContext().get_Expressions().get_BlockExpressions().get_Values().GetEnumerator(); try { while (V_0.MoveNext()) { V_1 = V_0.get_Current().GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = V_1.get_Current(); this.Visit(V_2); } } finally { if (V_1 != null) { V_1.Dispose(); } } } } finally { ((IDisposable)V_0).Dispose(); } return; }
private bool IsDelegateOperationStatement(Statement statement, string operationName, out Expression newValueHolder, out Expression oldValueHolder) { newValueHolder = null; oldValueHolder = null; if (!statement.IsAssignmentStatement()) { return(false); } V_0 = (statement as ExpressionStatement).get_Expression() as BinaryExpression; if (V_0.get_Right().get_CodeNodeType() != 31 || (V_0.get_Right() as ExplicitCastExpression).get_Expression().get_CodeNodeType() != 19) { return(false); } V_1 = (V_0.get_Right() as ExplicitCastExpression).get_Expression() as MethodInvocationExpression; if (V_1.get_Arguments().get_Count() != 2 || V_1.get_MethodExpression().get_Method().get_HasThis() || String.op_Inequality(V_1.get_MethodExpression().get_Method().get_DeclaringType().get_FullName(), "System.Delegate") || String.op_Inequality(V_1.get_MethodExpression().get_Method().get_Name(), operationName)) { return(false); } if (V_1.get_Arguments().get_Item(1).get_CodeNodeType() != 25) { return(false); } newValueHolder = V_0.get_Left(); oldValueHolder = V_1.get_Arguments().get_Item(0); return(true); }
public void MapBranchInstructions(IEnumerable <Instruction> branchInstructions) { V_0 = branchInstructions.GetEnumerator(); try { while (V_0.MoveNext()) { V_1 = V_0.get_Current(); if (V_1.get_OpCode().get_Code() == 55 || V_1.get_OpCode().get_Code() == 42) { continue; } throw new InvalidOperationException("Only unconditional branch instructions are allowed"); } } finally { if (V_0 != null) { V_0.Dispose(); } } this.instructions.AddRange(branchInstructions); return; }
private ConditionLogicalConstruct GetLoopConditionWithMaxIndex(DFSTree dfsTree, HashSet <ILogicalConstruct> loopBody, HashSet <ILogicalConstruct> loopExits, ILogicalConstruct loopSuccessor) { V_0 = -1; V_1 = loopExits.GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = V_1.get_Current(); V_3 = dfsTree.get_ConstructToNodeMap().get_Item(V_2).get_ReversePostOrderIndex(); if (!V_2.get_SameParentSuccessors().Contains(loopSuccessor) || V_3 <= V_0 || !this.CanBeLoopCondition(V_2, loopBody)) { continue; } V_0 = V_3; } } finally { ((IDisposable)V_1).Dispose(); } if (V_0 <= -1) { return(null); } return(dfsTree.get_ReversePostOrder().get_Item(V_0).get_Construct() as ConditionLogicalConstruct); }
public override int GetHashCode() { V_0 = this.get_Assembly(); stackVariable8 = V_0.GetHashCode() ^ this.get_UniqueMemberIdentifier().get_ModuleFilePath().GetHashCode(); V_1 = this.get_UniqueMemberIdentifier().get_MetadataToken(); return(stackVariable8 ^ V_1.GetHashCode()); }
private void RemoveBackEdgesFromSwitchConstructs(ILogicalConstruct theConstruct) { V_0 = DFSTBuilder.BuildTree(theConstruct).get_BackEdges().GetEnumerator(); try { while (V_0.MoveNext()) { V_1 = V_0.get_Current(); V_2 = V_1.get_Start().get_Construct() as ILogicalConstruct; if (V_2 as ConditionLogicalConstruct != null) { continue; } V_3 = V_2 as CFGBlockLogicalConstruct; if (V_3 == null || V_3.get_TheBlock().get_Last().get_OpCode().get_Code() != 68) { continue; } this.MarkAsGotoEdge(V_2, V_1.get_End().get_Construct() as ILogicalConstruct); } } finally { ((IDisposable)V_0).Dispose(); } return; }
private void GenerateSEO() { V_0 = new CreateViewModel.u003cu003ec__DisplayClass207_0(); V_0.u003cu003e4__this = this; if (string.IsNullOrEmpty(this.get_SeoName())) { this.set_SeoName(SeoHelper.GetSEOString(this.get_Title(), '-')); } V_1 = 1; V_0.name = this.get_SeoName(); while (ViewModelBase<MixCmsContext, MixPost, Mix.Cms.Lib.ViewModels.MixPosts.UpdateViewModel>.Repository.CheckIsExists(new Func<MixPost, bool>(V_0.u003cGenerateSEOu003eb__0), null, null)) { V_0.name = string.Concat(this.get_SeoName(), "_", V_1.ToString()); V_1 = V_1 + 1; } this.set_SeoName(V_0.name); if (string.IsNullOrEmpty(this.get_SeoTitle())) { this.set_SeoTitle(SeoHelper.GetSEOString(this.get_Title(), '-')); } if (string.IsNullOrEmpty(this.get_SeoDescription())) { this.set_SeoDescription(SeoHelper.GetSEOString(this.get_Title(), '-')); } if (string.IsNullOrEmpty(this.get_SeoKeywords())) { this.set_SeoKeywords(SeoHelper.GetSEOString(this.get_Title(), '-')); } return; }
private bool TryMakeLoop(IntervalConstruct interval, DominatorTree dominatorTree) { V_0 = DFSTBuilder.BuildTree(interval); if (V_0.get_BackEdges().get_Count() == 0) { return(false); } V_2 = this.BuildLoop(V_0, out V_1); V_4 = this.DetermineLoopType(V_1, V_2, interval, dominatorTree, out V_3); if (V_1.get_Count() > 0) { V_5 = new LoopLogicalConstruct(interval.get_Entry() as ILogicalConstruct, V_1, V_4, V_3, this.typeSystem); this.CleanUpEdges(V_5); this.UpdateDominatorTree(dominatorTree, V_5); return(true); } V_6 = V_0.get_BackEdges().GetEnumerator(); try { while (V_6.MoveNext()) { V_7 = V_6.get_Current(); this.MarkAsGotoEdge(V_7.get_Start().get_Construct() as ILogicalConstruct, V_7.get_End().get_Construct() as ILogicalConstruct); } } finally { ((IDisposable)V_6).Dispose(); } return(false); }
private static EventDefinition GetMethodDeclaringEvent(MethodReference method) { if (method == null) { return(null); } V_0 = method.get_DeclaringType().Resolve(); if (V_0 != null) { V_1 = V_0.get_Events().GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = V_1.get_Current(); if (V_2.get_AddMethod() == null || !V_2.get_AddMethod().HasSameSignatureWith(method) && V_2.get_RemoveMethod() == null || !V_2.get_RemoveMethod().HasSameSignatureWith(method)) { continue; } V_3 = V_2; goto Label1; } goto Label0; } finally { V_1.Dispose(); } Label1: return(V_3); } Label0: return(null); }
private bool IsBinaryExpression(Expression expression, out Expression binaryExpression, out bool isWrappedInUnary) { binaryExpression = null; isWrappedInUnary = false; V_0 = expression as BinaryExpression; V_1 = expression as UnaryExpression; if (V_0 != null) { binaryExpression = V_0; return(true); } if (V_1 == null || V_1.get_Operator() != 11 && V_1.get_Operator() != 1 || V_1.get_Operand() as BinaryExpression == null) { return(false); } if (V_1.get_Operator() != 1) { binaryExpression = V_1.get_Operand(); } else { binaryExpression = Negator.Negate(V_1.get_Operand(), this.typeSystem); if (binaryExpression as BinaryExpression == null) { isWrappedInUnary = true; } } return(true); }
public void SplitConditionalCFGBlocks() { V_0 = (new List <KeyValuePair <InstructionBlock, CFGBlockLogicalConstruct[]> >(this.logicalContext.get_CFGBlockToLogicalConstructMap())).GetEnumerator(); try { while (V_0.MoveNext()) { V_1 = V_0.get_Current(); if ((int)V_1.get_Key().get_Successors().Length <= 1) { continue; } V_2 = V_1.get_Value()[(int)V_1.get_Value().Length - 1]; if (V_2.get_LogicalConstructExpressions().get_Count() <= 1) { continue; } dummyVar0 = LogicalFlowUtilities.SplitCFGBlockAt(this.logicalContext, V_2, V_2.get_LogicalConstructExpressions().get_Count() - 1); } } finally { ((IDisposable)V_0).Dispose(); } return; }
protected override bool CheckTheLoop(WhileStatement theWhile, VariableReference forVariable) { if (!this.CheckTheLoop(theWhile, forVariable)) { stackVariable4 = false; } else { stackVariable4 = theWhile.get_Condition() as BinaryExpression != null; } if (!stackVariable4) { return(false); } V_0 = (theWhile.get_Body().get_Statements().get_Item(theWhile.get_Body().get_Statements().get_Count() - 1) as ExpressionStatement).get_Expression() as BinaryExpression; if (V_0 != null) { V_1 = V_0.get_Right() as BinaryExpression; if (V_1 != null && V_1.get_Operator() == 1 || V_1.get_Operator() == 3) { V_2 = V_1.get_Left() as VariableReferenceExpression; if (V_2 != null && (object)V_2.get_Variable() == (object)forVariable) { return(true); } } } return(false); }
private MethodInvocationExpression CreateMethodInvocation(MethodDefinition method, List <Expression> arguments) { if (method.get_IsStatic()) { stackVariable2 = null; } else { stackVariable2 = new ThisReferenceExpression(method.get_DeclaringType(), null); } V_0 = new MethodInvocationExpression(new MethodReferenceExpression(stackVariable2, method, null), null); V_1 = arguments.GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = V_1.get_Current(); V_0.get_Arguments().Add(V_2); } } finally { ((IDisposable)V_1).Dispose(); } return(V_0); }
public override void Validate(MixCmsContext _context = null, IDbContextTransaction _transaction = null) { this.Validate(_context, _transaction); if (this.get_IsValid()) { V_0 = this.get_DataProperties().GetEnumerator(); try { while (V_0.MoveNext()) { V_1 = V_0.get_Current().Validate<MixModuleData>(this.get_Id(), this.get_Specificulture(), this.get_JItem(), _context, _transaction); if (V_1.get_IsSucceed()) { continue; } this.set_IsValid(false); this.get_Errors().AddRange(V_1.get_Errors()); } } finally { ((IDisposable)V_0).Dispose(); } } return; }
public virtual bool TryMatch(StatementCollection statements, out int startIndex, out Statement result, out int replacedStatementsCount) { startIndex = -1; result = null; replacedStatementsCount = -1; if (statements == null || statements.get_Count() - startIndex < 2) { return(false); } V_0 = statements.get_Count() - 1; while (V_0 >= 0) { if (this.TryMatchInternal(statements, V_0, out result, out replacedStatementsCount)) { V_1 = ((result as ExpressionStatement).get_Expression() as BinaryExpression).get_Left(); if (V_1.get_CodeNodeType() == 26) { this.FixContext((V_1 as VariableReferenceExpression).get_Variable().Resolve(), 0, replacedStatementsCount - 1, null); } startIndex = V_0; return(true); } V_0 = V_0 - 1; } return(false); }
private IList <VariableReference> GetVariablesToInfer() { V_0 = new List <VariableReference>(); V_1 = this.context.get_MethodContext().get_StackData().get_VariableToDefineUseInfo().get_Keys().GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = V_1.get_Current(); if (V_2.get_VariableType() != null) { dummyVar0 = this.resolvedVariables.Add(V_2); } else { V_0.Add(V_2); } } } finally { ((IDisposable)V_1).Dispose(); } return(V_0); }
private void ParseData() { stackVariable1 = new JObject(); stackVariable1.Add(new JProperty("id", this.get_Id())); stackVariable1.Add(new JProperty("createdDateTime", (object)this.get_CreatedDateTime())); this.set_Data(stackVariable1); stackVariable12 = this.get_Values(); stackVariable13 = Mix.Cms.Lib.ViewModels.MixAttributeSetDatas.ImportViewModel.u003cu003ec.u003cu003e9__69_0; if (stackVariable13 == null) { dummyVar0 = stackVariable13; stackVariable13 = new Func<Mix.Cms.Lib.ViewModels.MixAttributeSetValues.ImportViewModel, int>(Mix.Cms.Lib.ViewModels.MixAttributeSetDatas.ImportViewModel.u003cu003ec.u003cu003e9.u003cParseDatau003eb__69_0); Mix.Cms.Lib.ViewModels.MixAttributeSetDatas.ImportViewModel.u003cu003ec.u003cu003e9__69_0 = stackVariable13; } V_0 = stackVariable12.OrderBy<Mix.Cms.Lib.ViewModels.MixAttributeSetValues.ImportViewModel, int>(stackVariable13).GetEnumerator(); try { while (V_0.MoveNext()) { V_1 = V_0.get_Current(); V_1.set_AttributeFieldName(V_1.get_Field().get_Name()); this.get_Data().Add(this.ParseValue(V_1)); } } finally { if (V_0 != null) { V_0.Dispose(); } } return; }
V_2 = Expression.Parameter(Type.GetTypeFromHandle(// // Current member / type: System.Void Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel::ExpandView(Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction) // Exception in: System.Void ExpandView(Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction) // Specified method is not supported. // // mailto: [email protected] public static RepositoryResponse<List<Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel>> GetPagePostNavAsync(int postId, string specificulture, MixCmsContext _context = null, IDbContextTransaction _transaction = null) { V_0 = new Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel.u003cu003ec__DisplayClass64_0(); V_0.specificulture = specificulture; V_0.postId = postId; V_0._context = _context; V_0._transaction = _transaction; stackVariable10 = V_0._context; if (stackVariable10 == null) { dummyVar0 = stackVariable10; stackVariable10 = new MixCmsContext(); } V_1 = stackVariable10; stackVariable12 = V_0._transaction; if (stackVariable12 == null) { dummyVar1 = stackVariable12; stackVariable12 = V_1.get_Database().BeginTransaction(); } V_2 = stackVariable12; try { try { stackVariable14 = V_1.get_MixPage(); V_4 = Expression.Parameter(Type.GetTypeFromHandle(// // Current member / type: Mix.Domain.Core.ViewModels.RepositoryResponse`1<System.Collections.Generic.List`1<Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel>> Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel::GetPagePostNavAsync(System.Int32,System.String,Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction) // Exception in: Mix.Domain.Core.ViewModels.RepositoryResponse<System.Collections.Generic.List<Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel>> GetPagePostNavAsync(System.Int32,System.String,Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction) // Specified method is not supported. // // mailto: [email protected] public override MixPagePost ParseModel(MixCmsContext _context = null, IDbContextTransaction _transaction = null)