コード例 #1
0
ファイル: InstaBot.cs プロジェクト: ridvanc/InstaBot
 public void Run()
 {
     TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
     CheckConfiguration();
     LoginTask.DoLogin().Wait();
     LikeTask.Start();
     FollowingTask.Start();
 }
コード例 #2
0
        /// <summary>
        ///  指定したユーザIDでGS2にログインし、アクセストークンを取得します<br />
        ///    本APIは信頼出来るゲームサーバーから呼び出されることを想定しています。<br />
        ///    ユーザIDの値の検証処理が存在しないため、クライアントから呼び出すのは不適切です。<br />
        /// </summary>
        ///
        /// <returns>IEnumerator</returns>
        /// <param name="callback">コールバックハンドラ</param>
        /// <param name="request">リクエストパラメータ</param>
        public IEnumerator Login(
            Request.LoginRequest request,
            UnityAction <AsyncResult <Result.LoginResult> > callback
            )
        {
            var task = new LoginTask(request, callback);

            return(Gs2RestSession.Execute(task));
        }
コード例 #3
0
        /// <summary>
        ///  指定したユーザIDでGS2にログインし、アクセストークンを取得します<br />
        ///    本APIは信頼出来るゲームサーバーから呼び出されることを想定しています。<br />
        ///    ユーザIDの値の検証処理が存在しないため、クライアントから呼び出すのは不適切です。<br />
        /// </summary>
        ///
        /// <returns>IEnumerator</returns>
        /// <param name="callback">コールバックハンドラ</param>
        /// <param name="request">リクエストパラメータ</param>
        public IEnumerator Login(
            Request.LoginRequest request,
            UnityAction <AsyncResult <Result.LoginResult> > callback
            )
        {
            var task = new LoginTask(request, callback);

            if (_certificateHandler != null)
            {
                task.UnityWebRequest.certificateHandler = _certificateHandler;
            }
            return(Gs2RestSession.Execute(task));
        }
コード例 #4
0
ファイル: LoginActivity.cs プロジェクト: 2nfro/dotNet
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            this.SetContentView(Resource.Layout.LoginLayout);

            emailTextBox = FindViewById<EditText>(Resource.Id.emailText);
            passwordTextBox = FindViewById<EditText>(Resource.Id.passwordText);
            loginButton = FindViewById<Button>(Resource.Id.loginButon);

            loginButton.Click += (object sender, EventArgs e) => {
                ILoginTask task = new LoginTask(this);
                task.Authenticate();
            };
        }
コード例 #5
0
        public void Login_Test()
        {
            using (ShimsContext.Create())
            {
                CloudFoundry.CloudController.V2.Client.Fakes.ShimCloudFoundryClient.AllInstances.LoginCloudCredentials = TestUtils.CustomLogin;

                LoginTask login = new LoginTask();
                login.CFUser      = Settings.Default.User;
                login.CFPassword  = Settings.Default.Password;
                login.CFServerUri = Settings.Default.ServerUri;

                login.BuildEngine = new FakeBuildEngine();

                Assert.IsTrue(login.Execute());
            }
        }
コード例 #6
0
        protected override IEnumerator OpenImpl()
        {
            _loginTask = new LoginTask(this);

            _loginTask.UnityWebRequest.method = UnityWebRequest.kHttpVerbPOST;
            _loginTask.UnityWebRequest.url    = EndpointHost
                                                .Replace("{service}", "identifier")
                                                .Replace("{region}", Region.DisplayName())
                                                + "/projectToken/login";
            _loginTask.UnityWebRequest.SetRequestHeader("Content-Type", "application/json");

            var stringBuilder = new StringBuilder();
            var jsonWriter    = new JsonWriter(stringBuilder);

            jsonWriter.WriteObjectStart();
            if (Credential.ClientId != null)
            {
                jsonWriter.WritePropertyName("client_id");
                jsonWriter.Write(Credential.ClientId);
            }
            if (Credential.ClientSecret != null)
            {
                jsonWriter.WritePropertyName("client_secret");
                jsonWriter.Write(Credential.ClientSecret);
            }
            jsonWriter.WriteObjectEnd();

            var body = stringBuilder.ToString();

            if (!string.IsNullOrEmpty(body))
            {
                _loginTask.UnityWebRequest.uploadHandler = new UploadHandlerRaw(Encoding.UTF8.GetBytes(body));
            }

            yield return(_loginTask.Send());

            _loginTask = null;
        }
コード例 #7
0
ファイル: LoginState.cs プロジェクト: UtahC/TravianBot
        public async override Task <StateBase> Start(CancellationToken cancellationToken)
        {
            await base.Start(cancellationToken);

            if (retryCount >= retryCountLimit)
            {
                throw new Exception("Cannot login");
            }

            await client.LoadUrl(client.Setting.Server.ToUri().GetSuburbsUri());

            if (client.Url == client.Setting.Server || !UtilityTask.IsLogon())
            {
                client.Logger.Write("Now logging in to server.");
                await LoginTask.Execute(cancellationToken);

                if (!UtilityTask.IsLogon())
                {
                    retryLogMessage = "Login failed";
                    return(this);
                }

                client.Logger.Write("Logged in successfully.");
            }
            else
            {
                client.Logger.Write("Already logged in.");
            }

            if (IsLoginOnly)
            {
                return(null);
            }

            return(new InitializeBotState());
        }
コード例 #8
0
        public void Flow_IntegrationTest()
        {
            LoginTask login = new LoginTask();

            login.BuildEngine         = new FakeBuildEngine();
            login.CFUser              = Settings.Default.User;
            login.CFPassword          = Settings.Default.Password;
            login.CFServerUri         = Settings.Default.ServerUri;
            login.CFSkipSslValidation = true;

            login.Execute();

            CreateApp task = new CreateApp();

            task.CFRefreshToken      = login.CFRefreshToken;
            task.CFServerUri         = Settings.Default.ServerUri;
            task.CFSkipSslValidation = true;
            task.CFAppName           = "testIntegration";
            task.CFAppMemory         = 512;
            task.CFAppInstances      = 1;
            task.CFSpace             = "TestSpace";
            task.CFOrganization      = "TestOrg";
            task.CFStack             = "win2012";
            task.CFEnvironmentJson   = "{\"mykey\":\"abcd\",\"secondkey\":\"efgh\"}";

            task.BuildEngine = new FakeBuildEngine();
            task.Execute();

            PushApp pushTask = new PushApp();

            pushTask.CFUser              = Settings.Default.User;
            pushTask.CFPassword          = Settings.Default.Password;
            pushTask.CFServerUri         = Settings.Default.ServerUri;
            pushTask.CFSkipSslValidation = true;
            pushTask.CFAppGuid           = task.CFAppGuid;
            pushTask.CFAppPath           = Settings.Default.AppPath;
            pushTask.CFStart             = true;

            pushTask.BuildEngine = new FakeBuildEngine();

            pushTask.Execute();

            CreateRoutes routeTask = new CreateRoutes();

            routeTask.CFUser              = Settings.Default.User;
            routeTask.CFPassword          = Settings.Default.Password;
            routeTask.CFServerUri         = Settings.Default.ServerUri;
            routeTask.CFSkipSslValidation = true;
            routeTask.CFRoutes            = new string[1] {
                "testRoute.15.126.213.170.xip.io"
            };
            routeTask.CFSpace        = "TestSpace";
            routeTask.CFOrganization = "TestOrg";

            routeTask.BuildEngine = new FakeBuildEngine();

            routeTask.Execute();

            BindRoutes bindTask = new BindRoutes();

            bindTask.CFUser              = Settings.Default.User;
            bindTask.CFPassword          = Settings.Default.Password;
            bindTask.CFServerUri         = Settings.Default.ServerUri;
            bindTask.BuildEngine         = new FakeBuildEngine();
            bindTask.CFSkipSslValidation = true;

            bindTask.CFAppGuid    = task.CFAppGuid;
            bindTask.CFRouteGuids = routeTask.CFRouteGuids;

            bindTask.Execute();

            CreateService serviceTask = new CreateService();

            serviceTask.CFUser              = Settings.Default.User;
            serviceTask.CFPassword          = Settings.Default.Password;
            serviceTask.CFServerUri         = Settings.Default.ServerUri;
            serviceTask.BuildEngine         = new FakeBuildEngine();
            serviceTask.CFSkipSslValidation = true;
            serviceTask.CFServiceName       = "testService";
            serviceTask.CFServicePlan       = "free";
            serviceTask.CFServiceType       = "mysql";
            serviceTask.CFSpace             = "TestSpace";
            serviceTask.CFOrganization      = "TestOrg";
            serviceTask.Execute();

            BindServices bindServiceTask = new BindServices();

            bindServiceTask.CFUser              = Settings.Default.User;
            bindServiceTask.CFPassword          = Settings.Default.Password;
            bindServiceTask.CFServerUri         = Settings.Default.ServerUri;
            bindServiceTask.BuildEngine         = new FakeBuildEngine();
            bindServiceTask.CFSkipSslValidation = true;
            bindServiceTask.CFAppGuid           = task.CFAppGuid;
            bindServiceTask.CFServicesGuids     = new string[1] {
                serviceTask.CFServiceGuid
            };
            bindServiceTask.Execute();

            if (CheckIfAppIsWorking(routeTask.CFRoutes[0], 3) == true)
            {
                DeleteApp delTask = new DeleteApp();
                delTask.CFUser              = Settings.Default.User;
                delTask.CFPassword          = Settings.Default.Password;
                delTask.CFServerUri         = Settings.Default.ServerUri;
                delTask.CFSkipSslValidation = true;
                delTask.CFOrganization      = "TestOrg";
                delTask.CFSpace             = "TestSpace";
                delTask.CFAppName           = "testIntegration";
                delTask.CFDeleteServices    = true;
                delTask.CFDeleteRoutes      = true;
                delTask.BuildEngine         = new FakeBuildEngine();

                Assert.IsTrue(delTask.Execute());
            }
            else
            {
                Assert.Fail("Application is not working");
            }
        }
コード例 #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ContextBusClient cbClient = new ContextBusClient();

            //Get Employee definition from adventure works:
            ConnectionParam[] parameters = cbClient.LoadConnection("advworks", AdvWorksConnectorId);
            cbClient.Login(parameters, AdvWorksConnectorId);
            FlyweightObjectDefinition flyweight = new FlyweightObjectDefinition()
            {
                Id = "HumanResources.Employee"
            };
            ObjectDefinition employeeObjDef = cbClient.GetObjectDefinitionList(new FlyweightObjectDefinition[] { flyweight }, AdvWorksConnectorId).First();

            //Get Team definition from Sharepoint
            parameters = cbClient.LoadConnection("Sharepoint-Team", "SharePoint");
            cbClient.Login(parameters, "SharePoint");
            flyweight = new FlyweightObjectDefinition()
            {
                Id = "SP|List|/sites/SiteCollection1|Team"
            };
            ObjectDefinition sharepointObjDef = cbClient.GetObjectDefinitionList(new FlyweightObjectDefinition[] { flyweight }, "SharePoint").First();


            //build the workflow.
            TaskManagerClient taskClient = new TaskManagerClient();

            //1. Create login task
            LoginTask login = taskClient.CreateLoginTask(AdvWorksConnectorId, "advworks");

            //2. Create Mapping Task
            MappingTask map = taskClient.CreateMappingTask(sharepointObjDef, employeeObjDef);

            MappableField field = map.TargetFields.SingleOrDefault(f => f.Id == "p.BusinessEntityID");

            field.Mapping.MappingType = MappingType.ConstMapping;
            field.Mapping.Value       = 1;

            field = map.TargetFields.SingleOrDefault(f => f.Id == "p.EmailPromotion");
            field.Mapping.MappingType = MappingType.ConstMapping;
            field.Mapping.Value       = 0;

            field = map.TargetFields.SingleOrDefault(f => f.Id == "p.Demographics");
            field.Mapping.MappingType = MappingType.ConstMapping;
            field.Mapping.Value       = "";

            field = map.TargetFields.SingleOrDefault(f => f.Id == "p.NameStyle");
            field.Mapping.MappingType = MappingType.ConstMapping;
            field.Mapping.Value       = false;

            field = map.TargetFields.SingleOrDefault(f => f.Id == "p.PersonType");
            field.Mapping.MappingType = MappingType.ConstMapping;
            field.Mapping.Value       = "EM";

            field = map.TargetFields.SingleOrDefault(f => f.Id == "p.FirstName");
            field.Mapping.MappingType = MappingType.FieldMapping;
            field.Mapping.Value       = "First_x0020_Name";

            field = map.TargetFields.SingleOrDefault(f => f.Id == "p.LastName");
            field.Mapping.MappingType = MappingType.FieldMapping;
            field.Mapping.Value       = "Last_x0020_Name";

            field = map.TargetFields.SingleOrDefault(f => f.Id == "e.JobTitle");
            field.Mapping.MappingType = MappingType.FieldMapping;
            field.Mapping.Value       = "Title";

            //3. Save Task
            SaveObjectInstanceTask saveSharepointToEktron = taskClient.CreateSaveObjectTask(AdvWorksConnectorId);

            //4. Logout Task
            LogoutTask logout = taskClient.CreateLogoutTask(AdvWorksConnectorId);

            //5. Assemble and save workflow
            string   workflowName       = string.Concat("My Test Workflow");
            Workflow workflow           = taskClient.CreateWorkflow(workflowName);
            List <ContextBusTask> tasks = new List <ContextBusTask>();

            tasks.Add(login);
            tasks.Add(map);
            tasks.Add(saveSharepointToEktron);
            tasks.Add(logout);
            workflow.Tasks = tasks.ToArray();
            taskClient.SaveWorkflow(workflow);

            //3. Create associated Event Definitions for workflow.
            EventManagerClient eventClient = new EventManagerClient();
            EventDefinition    eventDef    = new EventDefinition()
            {
                Id      = workflowName,
                Payload = map.SourceObject
            };

            eventClient.AssociateWorkflowsToEvent(new string[] { workflow.WorkflowName }, eventDef);



            //
            //Now raise the event to perform the workflow!
            //

            //first get sharpeoint item
            ObjectInstanceCriteriaFilter criteria = new ObjectInstanceCriteriaFilter();

            criteria.Filters = new CriteriaFilter[0];
            ObjectInstanceList sharepointObjInstance = cbClient.GetObjectInstanceList(sharepointObjDef, criteria, "SharePoint");

            //create event instance with sharepoint item
            EventInstance itemEvent = new EventInstance()
            {
                Id      = workflowName,
                Payload = sharepointObjInstance.Results.First()
            };

            //raise the event.
            eventClient.RaiseEvent(itemEvent);
        }
コード例 #10
0
        public Login()
        {
            ReceiveAsync <LoginParam>(async param =>
            {
                try
                {
                    var result = new LoginResult()
                    {
                        code    = 0,
                        message = "success"
                    };
                    var device   = param.device;
                    var role     = param.role;
                    var roleData = getRoleData(role.id);
                    if (param.device == null)
                    {
                        result.code    = -12;
                        result.message = "设备不存在";
                        Sender.Tell(result);
                        return;
                    }
                    var serverApi = InitServerApi(param.role, param.device, roleData);

                    logger.Info("登陆:" + role.username);

                    var task = new LoginTask()
                    {
                        device    = device,
                        role      = role,
                        serverApi = serverApi,
                        roleData  = roleData
                    };

                    if (!await Context.ActorOf <MemberActor>().Ask <bool>(task))
                    {
                        result.code    = -1;
                        result.message = "获取游戏版本失败";
                        Sender.Tell(result);
                        return;
                    }

                    if (!await Context.ActorOf <ApiLoginActor>().Ask <bool>(task))
                    {
                        result.code    = -2;
                        result.message = "登陆B站失败";
                        Sender.Tell(result);
                        return;
                    }

                    if (!await Context.ActorOf <LoginToMemberCenterActor>().Ask <bool>(task))
                    {
                        result.code    = -3;
                        result.message = "登陆游戏失败";
                        Sender.Tell(result);
                        return;
                    }

                    if (param.home && !await Context.ActorOf <HomeActor>().Ask <bool>(task))
                    {
                        result.code    = -3;
                        result.message = "登陆游戏主页失败";
                        Sender.Tell(result);
                        return;
                    }
                    result.usk = serverApi.PlatfromInfos["usk"];
                    Sender.Tell(result);
                }
                catch (Exception ex)
                {
                    Sender.Tell(new LoginResult()
                    {
                        code    = -500,
                        message = ex.ToString()
                    });
                }
            });
        }
コード例 #11
0
        public void Flow_IntegrationTest()
        {
            string assemblyDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string appPath = Path.Combine(assemblyDirectory, "TestApp");

            LoginTask login = new LoginTask();
            login.BuildEngine = new FakeBuildEngine();
            login.CFUser = Settings.Default.User;
            login.CFPassword = Settings.Default.Password;
            login.CFServerUri = Settings.Default.ServerUri;
            login.CFSkipSslValidation = true;

            login.Execute();

            CreateApp task = new CreateApp();

            task.CFRefreshToken = login.CFRefreshToken;
            task.CFServerUri = Settings.Default.ServerUri;
            task.CFSkipSslValidation = true;
            task.CFAppName = Guid.NewGuid().ToString("N");
            task.CFAppMemory = 256;
            task.CFAppInstances = 1;
            task.CFSpace = Settings.Default.Space;
            task.CFOrganization = Settings.Default.Organization;
            task.CFStack = Settings.Default.Stack;
            task.CFEnvironmentJson = "{\"mykey\":\"abcd\",\"secondkey\":\"efgh\"}";

            task.BuildEngine = new FakeBuildEngine();
            task.Execute();

            PushApp pushTask = new PushApp();
            pushTask.CFUser = Settings.Default.User;
            pushTask.CFPassword = Settings.Default.Password;
            pushTask.CFServerUri = Settings.Default.ServerUri;
            pushTask.CFSkipSslValidation = true;
            pushTask.CFAppGuid = task.CFAppGuid;
            pushTask.CFAppPath = appPath;
            pushTask.CFStart = true;

            pushTask.BuildEngine = new FakeBuildEngine();

            pushTask.Execute();

            CreateRoutes routeTask = new CreateRoutes();
            routeTask.CFUser = Settings.Default.User;
            routeTask.CFPassword = Settings.Default.Password;
            routeTask.CFServerUri = Settings.Default.ServerUri;
            routeTask.CFSkipSslValidation = true;
            routeTask.CFRoutes = new string[1] {
                string.Format(Settings.Default.Route, task.CFAppName)
            };
            routeTask.CFSpace = Settings.Default.Space;
            routeTask.CFOrganization = Settings.Default.Organization;

            routeTask.BuildEngine = new FakeBuildEngine();

            routeTask.Execute();

            BindRoutes bindTask = new BindRoutes();
            bindTask.CFUser = Settings.Default.User;
            bindTask.CFPassword = Settings.Default.Password;
            bindTask.CFServerUri = Settings.Default.ServerUri;
            bindTask.BuildEngine = new FakeBuildEngine();
            bindTask.CFSkipSslValidation = true;

            bindTask.CFAppGuid = task.CFAppGuid;
            bindTask.CFRouteGuids = routeTask.CFRouteGuids;

            bindTask.Execute();

            CreateService serviceTask = new CreateService();
            serviceTask.CFUser = Settings.Default.User;
            serviceTask.CFPassword = Settings.Default.Password;
            serviceTask.CFServerUri = Settings.Default.ServerUri;
            serviceTask.BuildEngine = new FakeBuildEngine();
            serviceTask.CFSkipSslValidation = true;
            serviceTask.CFServiceName = Guid.NewGuid().ToString("N");
            serviceTask.CFServicePlan = Settings.Default.ServicePlan;
            serviceTask.CFServiceType = Settings.Default.ServiceType;
            serviceTask.CFSpace = Settings.Default.Space;
            serviceTask.CFOrganization = Settings.Default.Organization;
            serviceTask.Execute();

            BindServices bindServiceTask = new BindServices();
            bindServiceTask.CFUser = Settings.Default.User;
            bindServiceTask.CFPassword = Settings.Default.Password;
            bindServiceTask.CFServerUri = Settings.Default.ServerUri;
            bindServiceTask.BuildEngine = new FakeBuildEngine();
            bindServiceTask.CFSkipSslValidation = true;
            bindServiceTask.CFAppGuid = task.CFAppGuid;
            bindServiceTask.CFServicesGuids = new string[1] { serviceTask.CFServiceGuid };
            bindServiceTask.Execute();

            if (CheckIfAppIsWorking(routeTask.CFRoutes[0], 60) == true)
            {

                DeleteApp delTask = new DeleteApp();
                delTask.CFUser = Settings.Default.User;
                delTask.CFPassword = Settings.Default.Password;
                delTask.CFServerUri = Settings.Default.ServerUri;
                delTask.CFSkipSslValidation = true;
                delTask.CFSpace = Settings.Default.Space;
                delTask.CFOrganization = Settings.Default.Organization;
                delTask.CFAppName = task.CFAppName;
                delTask.CFDeleteServices = true;
                delTask.CFDeleteRoutes = true;
                delTask.BuildEngine = new FakeBuildEngine();

                Assert.IsTrue(delTask.Execute());
            }
            else
            {
                Assert.Fail("Application is not working");
            }
        }
コード例 #12
0
        private bool RunTasks(string manifest, string host, string appPath)
        {
            LoginTask login = new LoginTask();

            login.BuildEngine         = new FakeBuildEngine();
            login.CFUser              = Settings.Default.User;
            login.CFPassword          = Settings.Default.Password;
            login.CFServerUri         = Settings.Default.ServerUri;
            login.CFManifest          = manifest;
            login.CFSkipSslValidation = true;

            login.Execute();

            CreateApp task = new CreateApp();

            task.CFRefreshToken      = login.CFRefreshToken;
            task.CFServerUri         = Settings.Default.ServerUri;
            task.CFSkipSslValidation = true;
            task.CFSpace             = Settings.Default.Space;
            task.CFOrganization      = Settings.Default.Organization;
            task.CFManifest          = manifest;
            task.BuildEngine         = new FakeBuildEngine();
            task.Execute();

            PushApp pushTask = new PushApp();

            pushTask.CFUser              = Settings.Default.User;
            pushTask.CFPassword          = Settings.Default.Password;
            pushTask.CFServerUri         = Settings.Default.ServerUri;
            pushTask.CFSkipSslValidation = true;
            pushTask.CFManifest          = manifest;
            pushTask.CFOrganization      = Settings.Default.Organization;
            pushTask.CFSpace             = Settings.Default.Space;
            pushTask.CFAppPath           = appPath;

            pushTask.BuildEngine = new FakeBuildEngine();

            pushTask.Execute();

            CreateRoutes routeTask = new CreateRoutes();

            routeTask.CFUser              = Settings.Default.User;
            routeTask.CFPassword          = Settings.Default.Password;
            routeTask.CFServerUri         = Settings.Default.ServerUri;
            routeTask.CFSkipSslValidation = true;
            routeTask.CFManifest          = manifest;
            routeTask.CFSpace             = Settings.Default.Space;
            routeTask.CFOrganization      = Settings.Default.Organization;

            routeTask.BuildEngine = new FakeBuildEngine();

            routeTask.Execute();

            BindRoutes bindTask = new BindRoutes();

            bindTask.CFUser              = Settings.Default.User;
            bindTask.CFPassword          = Settings.Default.Password;
            bindTask.CFServerUri         = Settings.Default.ServerUri;
            bindTask.BuildEngine         = new FakeBuildEngine();
            bindTask.CFSkipSslValidation = true;
            bindTask.CFManifest          = manifest;
            bindTask.CFOrganization      = Settings.Default.Organization;
            bindTask.CFSpace             = Settings.Default.Space;

            bindTask.Execute();

            BindServices bindServiceTask = new BindServices();

            bindServiceTask.CFUser              = Settings.Default.User;
            bindServiceTask.CFPassword          = Settings.Default.Password;
            bindServiceTask.CFServerUri         = Settings.Default.ServerUri;
            bindServiceTask.BuildEngine         = new FakeBuildEngine();
            bindServiceTask.CFSkipSslValidation = true;
            bindServiceTask.CFManifest          = manifest;
            bindServiceTask.CFOrganization      = Settings.Default.Organization;
            bindServiceTask.CFSpace             = Settings.Default.Space;
            bindServiceTask.Execute();

            RestartApp restartTask = new RestartApp();

            restartTask.BuildEngine         = new FakeBuildEngine();
            restartTask.CFUser              = Settings.Default.User;
            restartTask.CFPassword          = Settings.Default.Password;
            restartTask.CFServerUri         = Settings.Default.ServerUri;
            restartTask.CFManifest          = manifest;
            restartTask.CFSkipSslValidation = true;
            restartTask.CFOrganization      = Settings.Default.Organization;
            restartTask.CFSpace             = Settings.Default.Space;
            restartTask.Execute();

            if (CheckIfAppIsWorking(string.Format(CultureInfo.InvariantCulture, "{0}.{1}", host, Settings.Default.Domain), 60) == true)
            {
                DeleteApp delTask = new DeleteApp();
                delTask.CFUser              = Settings.Default.User;
                delTask.CFPassword          = Settings.Default.Password;
                delTask.CFServerUri         = Settings.Default.ServerUri;
                delTask.CFSkipSslValidation = true;
                delTask.CFSpace             = Settings.Default.Space;
                delTask.CFOrganization      = Settings.Default.Organization;
                delTask.CFManifest          = manifest;
                delTask.CFDeleteServices    = true;
                delTask.CFDeleteRoutes      = true;
                delTask.BuildEngine         = new FakeBuildEngine();

                return(delTask.Execute());
            }
            else
            {
                return(false);
            }
        }
コード例 #13
0
        public BoxGachaDraw()
        {
            ReceiveAsync <user_role>(async role =>
            {
                var device      = getDevice(role.device_id);
                var result      = new LoginResult();
                var loginResult = await Context.ActorOf <Login>().Ask <LoginResult>(new LoginParam()
                {
                    device = device,
                    role   = role
                });
                if (loginResult.code != 0)
                {
                    Sender.Tell(loginResult);
                    return;
                }
                var roleData  = getRoleData(role.id);
                var serverApi = InitServerApi(role, device, roleData);
                var task      = new LoginTask()
                {
                    device    = device,
                    role      = role,
                    serverApi = serverApi,
                    roleData  = roleData
                };

                var home = await Context.ActorOf <HomeActor>().Ask <bool>(task);
                if (!home)
                {
                    result.code    = -1;
                    result.message = "进入首页失败";
                    Sender.Tell(result);
                    return;
                }
                if (serverApi.userItem == null && roleData.user_item != null)
                {
                    serverApi.userItem = JsonConvert.DeserializeObject <List <HomeUseritem> >(roleData.user_item);
                }

                logger.Info("进入首页成功");

                if (serverApi.userItem == null)
                {
                    result.code    = -1;
                    result.message = "用户道具信息获取失败";
                    Sender.Tell(result);
                    return;
                }
                var boxId     = "800051";
                int boxBaseId = 0;
                var drawNum   = 0;
                var itemId    = "94001204";

                var boxGacha = AssetManage.Database.mstBoxGacha.Where(b => b.id == boxId).FirstOrDefault();
                if (serverApi.userBoxGacha != null && serverApi.userBoxGacha.Any(u => u.boxGachaId == boxId))
                {
                    var userBoxGacha = serverApi.userBoxGacha.Where(u => u.boxGachaId == boxId).FirstOrDefault();
                    drawNum          = userBoxGacha.drawNum;
                    boxBaseId        = userBoxGacha.boxIndex;
                }

                while (true)
                {
                    var boxNum = AssetManage.Database.mstBoxGachaBase.Where(b => b.id == boxGacha.baseIds[boxBaseId]).Sum(b => b.maxNum);
                    if (boxNum == 0)
                    {
                        logger.Info("boxNum为空");
                        result.code = -1;
                        Sender.Tell(result);
                        return;
                    }
                    var num = boxNum - drawNum > 10 ? 10 : boxNum - drawNum;

                    var item = serverApi.userItem.Where(i => i.itemId == itemId).FirstOrDefault();
                    if (item == null || item.num < 20)
                    {
                        logger.Warn("素材已经用完");
                        result.code = 0;
                        Sender.Tell(result);
                        return;
                    }
                    logger.Info("目前素材:" + item.num);
                    var drawResult = await serverApi.Boxgachadraw(boxId, num);
                    if (drawResult.code != 0)
                    {
                        logger.Error("抽奖出错");
                        logger.Error(drawResult.message);
                        logger.Error(drawResult.RequestMessage);
                        result.code    = -500;
                        result.message = "抽奖出错";
                        Sender.Tell(result);
                        return;
                    }
                    boxBaseId = drawResult.cache.updated.userBoxGacha[0].boxIndex;
                    drawNum   = drawResult.cache.updated.userBoxGacha[0].drawNum;
                    try
                    {
                        logger.Info("抽奖总数:" + drawResult.cache.updated.userBoxGacha[0].drawNum);
                    }
                    catch (Exception)
                    {
                    }

                    logger.Info("抽奖成功");
                    await Task.Delay(1000);

                    if (drawResult.cache.updated.userBoxGacha[0].isReset)
                    {
                        var nos = JsonConvert.DeserializeObject <int[]>(drawResult.cache.updated.userBoxGachaDeck[0].boxGachaBaseNo);
                        if (nos.Length == drawResult.cache.updated.userBoxGacha[0].drawNum)
                        {
                            logger.Info("抽奖完成一次,当前第" + drawResult.cache.updated.userBoxGacha[0].resetNum + "次");
                        }
                        else
                        {
                            continue;
                        }
                        var resetRes = await serverApi.Boxgachareset(boxId);
                        if (resetRes.code != 0)
                        {
                            logger.Error("抽奖重置出错");
                            logger.Error(resetRes.message);
                            logger.Error(resetRes.RequestMessage);
                            result.code    = -500;
                            result.message = "抽奖重置出错";
                            Sender.Tell(result);
                            return;
                        }
                        boxBaseId = resetRes.cache.updated.userBoxGacha[0].boxIndex;
                        drawNum   = 0;
                        logger.Info("抽奖重置成功");
                    }
                }
            });
        }
コード例 #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ContextBusClient cbClient = new ContextBusClient();

            ConnectionParam[] parameters = cbClient.LoadConnection("Advworks", AdvWorksConnectorId);

            cbClient.Login(parameters, AdvWorksConnectorId);

            FlyweightObjectDefinition[] flyweights = cbClient.GetObjectDefinitionNameList(AdvWorksConnectorId);
            lvObjects.DataSource = flyweights;
            lvObjects.DataBind();

            List <ObjectDefinition> objDefList = cbClient.GetObjectDefinitionList(flyweights, AdvWorksConnectorId).ToList();

            ObjectInstanceCriteriaFilter criteria             = new ObjectInstanceCriteriaFilter();
            ObjectInstanceList           objectInstanceReturn = cbClient.GetObjectInstanceList(objDefList.First(), criteria, AdvWorksConnectorId);

            lvObjectInstances.DataSource = objectInstanceReturn.Results;
            lvObjectInstances.DataBind();

            //Lets map a sharepoint object to AdventureWorks

            //Get Sharepoint ObjectDefinition
            FlyweightObjectDefinition flyweight = new FlyweightObjectDefinition()
            {
                Id = "SP|List|/sites/SiteCollection1|Team"
            };
            ObjectDefinition sharepointObjDef = cbClient.GetObjectDefinitionList(new FlyweightObjectDefinition[] { flyweight }, "SharePoint").First();

            //Get Employee definition from adventure works:
            ObjectDefinition employeeObjDef = objDefList.Find(d => d.DisplayName == "Employee");

            //build the workflow.
            TaskManagerClient taskClient = new TaskManagerClient();

            //1. Create login task
            LoginTask login = taskClient.CreateLoginTask(AdvWorksConnectorId, "");

            //2. Create Mapping Task
            MappingTask map = taskClient.CreateMappingTask(sharepointObjDef, employeeObjDef);

            MappableField field = map.TargetFields.SingleOrDefault(f => f.Id == "BusinessEntityID");

            field.Mapping.MappingType = MappingType.ConstMapping;
            field.Mapping.Value       = 1;

            field = map.TargetFields.SingleOrDefault(f => f.Id == "PersonType");
            field.Mapping.MappingType = MappingType.ConstMapping;
            field.Mapping.Value       = "EM";

            field = map.TargetFields.SingleOrDefault(f => f.Id == "FirstName");
            field.Mapping.MappingType = MappingType.FieldMapping;
            field.Mapping.Value       = map.SourceObject.Fields.SingleOrDefault(f => f.Id == "First_x0020_Name");

            field = map.TargetFields.SingleOrDefault(f => f.Id == "LastName");
            field.Mapping.MappingType = MappingType.FieldMapping;
            field.Mapping.Value       = map.SourceObject.Fields.SingleOrDefault(f => f.Id == "last_x0020_name");

            field = map.TargetFields.SingleOrDefault(f => f.Id == "JobTitle");
            field.Mapping.MappingType = MappingType.FieldMapping;
            field.Mapping.Value       = map.SourceObject.Fields.SingleOrDefault(f => f.Id == "Title");

            //3. Save Task
            SaveObjectInstanceTask saveSharepointToEktron = taskClient.CreateSaveObjectTask(AdvWorksConnectorId);

            //4. Logout Task
            LogoutTask logout = taskClient.CreateLogoutTask(AdvWorksConnectorId);
        }