/*--------------------------------------------------------------------------------------------*/ private Result ExecuteSession() { long appId = vOpCtx.GetSharpflakeId <Vertex>(); long memId = vOpCtx.GetSharpflakeId <Vertex>(); var appCre = new CreateFabApp(); appCre.Name = vName; appCre.Secret = vOpCtx.Code32; appCre.CreatedByMemberId = vCreatorMemberId; var memCre = new CreateFabMember(); memCre.Type = (byte)MemberType.Id.DataProv; memCre.DefinedByAppId = appId; memCre.DefinedByUserId = vUserId; //// var appOp = new CreateAppOperation(); appOp.SetExecuteData(vOpCtx, vBuild, vTasks, appCre, appId, vDataAcc, false); var memOp = new CreateMemberOperation(); memOp.SetExecuteData(vOpCtx, vBuild, vTasks, memCre, memId, vDataAcc, false); //// vBuild.StartSession(); appOp.CheckAndAddVertex(); memOp.CheckAndAddVertex(); appOp.AddEdges(); memOp.AddEdges(); vBuild.CommitAndCloseSession(); //// IDataResult res = vDataAcc.Execute(GetType().Name); vBuild.PerformChecks(res); int appCmdI = res.GetCommandIndexByCmdId(appOp.AddVertexCommandId); int memCmdI = res.GetCommandIndexByCmdId(memOp.AddVertexCommandId); return(new Result { Status = ResultStatus.Success, NewApp = res.ToElementAt <App>(appCmdI, 0), NewMember = res.ToElementAt <Member>(memCmdI, 0) }); }
/*--------------------------------------------------------------------------------------------*/ private OauthMember GetOauthMember(IOperationData pData, Member pMemPath, string pName) { IWeaverVarAlias <Member> memAlias; IWeaverQuery memQ = pMemPath.ToQueryAsVar("m", out memAlias); IWeaverQuery appQ = Weave.Inst.FromVar(memAlias) .DefinedByApp.ToApp .Property(x => x.VertexId) .ToQuery(); IDataAccess acc = pData.Build(null, true); acc.AddSessionStart(); acc.AddQuery(memQ, true); acc.AppendScriptToLatestCommand("(m?m=m.next():null);"); string memCmdId = acc.GetLatestCommandId(); acc.AddQuery(appQ, true); acc.AddConditionsToLatestCommand(memCmdId); acc.AddSessionClose(); IDataResult res = acc.Execute("OauthAccess-" + pName); if (res.GetCommandResultCount(1) == 0) { return(null); } var om = new OauthMember(); om.Member = res.ToElementAt <Member>(1, 0); om.AppId = res.ToLongAt(2, 0); return(om); }
/*--------------------------------------------------------------------------------------------*/ public virtual TDom Execute(IOperationContext pOpCtx, ICreateOperationBuilder pBuild, CreateOperationTasks pTasks, TCre pNewCre) { SetExecuteData(pOpCtx, pBuild, pTasks, pNewCre, pOpCtx.GetSharpflakeId <Vertex>(), pOpCtx.Data.Build(null, true), true); Build.SetDataAccess(vDataAcc); Build.StartSession(); CheckAndAddVertex(); AddEdges(); Build.CommitAndCloseSession(); vDataRes = vDataAcc.Execute(GetType().Name); Build.PerformChecks(vDataRes); int cmdI = vDataRes.GetCommandIndexByCmdId(AddVertexCommandId); return(vDataRes.ToElementAt <TDom>(cmdI, 0)); }
/*--------------------------------------------------------------------------------------------*/ private Result ExecuteSession() { long userId = vOpCtx.GetSharpflakeId <Vertex>(); long memId = vOpCtx.GetSharpflakeId <Vertex>(); long emailId = vOpCtx.GetSharpflakeId <Vertex>(); var userCre = new CreateFabUser(); userCre.Name = vUsername; userCre.Password = vPassword; userCre.CreatedByMemberId = memId; var memCre = new CreateFabMember(); memCre.Type = (byte)MemberType.Id.Member; memCre.DefinedByAppId = (long)SetupAppId.FabSys; memCre.DefinedByUserId = userId; var emailCre = new CreateFabEmail(); emailCre.Address = vEmail; emailCre.Code = vOpCtx.Code32; emailCre.UsedByArtifactId = userId; //// var userOp = new CreateUserOperation(); userOp.SetExecuteData(vOpCtx, vBuild, vTasks, userCre, userId, vDataAcc, false); var memOp = new CreateMemberOperation(); memOp.SetExecuteData(vOpCtx, vBuild, vTasks, memCre, memId, vDataAcc, false); var emailOp = new CreateEmailOperation(); emailOp.SetExecuteData(vOpCtx, vBuild, vTasks, emailCre, emailId, vDataAcc, false); //// vBuild.StartSession(); userOp.CheckAndAddVertex(); memOp.CheckAndAddVertex(); emailOp.CheckAndAddVertex(); userOp.AddEdges(); memOp.AddEdges(); emailOp.AddEdges(); vBuild.CommitAndCloseSession(); //// IDataResult res = vDataAcc.Execute(GetType().Name); vBuild.PerformChecks(res); int userCmdI = res.GetCommandIndexByCmdId(userOp.AddVertexCommandId); int memCmdI = res.GetCommandIndexByCmdId(memOp.AddVertexCommandId); int emailCmdI = res.GetCommandIndexByCmdId(emailOp.AddVertexCommandId); return(new Result { Status = ResultStatus.Success, NewUser = res.ToElementAt <User>(userCmdI, 0), NewMember = res.ToElementAt <Member>(memCmdI, 0), NewEmail = res.ToElementAt <Email>(emailCmdI, 0) }); }