Esempio n. 1
0
        protected async Task <StateResult> Step0(Message message, string text, TelegramBotClient bot, bool batchMode)
        {
            var userId = base.GetUserId(message);
            var chatId = base.GetChatId(message);

            var currentChatSettings = this.getCurrentChatSettingsQuery.Execute(new GetCurrentChatSettingsRequest(ChatId: chatId));
            var gyms    = this.getGymsByChatQuery.Execute(new GetGymsByChatRequest(Chat: currentChatSettings));
            var special = this.getSpecialGymsQuery.Execute(new GetSpecialGymsForChatsRequest(ChatIds: new[] { chatId }));

            StringBuilder msg = new StringBuilder("Bitte wähle ein Gym\r\n");

            int i = 0;

            foreach (var gym in gyms)
            {
                var line = $"{i} - {(special.Any(x => x.GymId == gym.Id && x.Type == (int)GymType.Exclude) ? "X " : "")}{(special.Any(x => x.GymId == gym.Id && x.Type == (int)GymType.ExRaid) ? "+ " : "")}{gym.Name}";
                if (line.Length + msg.Length > 4096)
                {
                    await bot.SendTextMessageAsync(chatId, msg.ToString());

                    msg.Clear();
                }

                msg.AppendLine(line);
                i++;
            }

            await bot.SendTextMessageAsync(chatId, msg.ToString());

            return(StateResult.AwaitUserAt(1));
        }
        protected async Task <StateResult> Step7(Message message, string text, TelegramBotClient bot, bool batchMode)
        {
            var chatId = base.GetChatId(message);
            await bot.SendTextMessageAsync(chatId, "Titel (Max 40):").ConfigureAwait(false);

            return(StateResult.AwaitUserAt(8));
        }
Esempio n. 3
0
        protected override void InitializeValues(StateResult state)
        {
            base.InitializeValues(state);

            AlarmControlPanelStateEnum alarmState = AlarmControlPanelStateEnum.Disarmed;

            if (state.State == "armed_away")
            {
                alarmState = AlarmControlPanelStateEnum.ArmedAway;
            }
            else if (state.State == "armed_home")
            {
                alarmState = AlarmControlPanelStateEnum.ArmedHome;
            }
            else if (state.State == "triggered")
            {
                alarmState = AlarmControlPanelStateEnum.Triggered;
            }
            else if (state.State == "pending")
            {
                if ("triggered".Equals(state.Attributes.GetValue <string>("post_pending_state")))
                {
                    alarmState = AlarmControlPanelStateEnum.PendingTriggered;
                }
                else
                {
                    alarmState = AlarmControlPanelStateEnum.PendingArmedAway;
                }
            }

            State = alarmState;
        }
Esempio n. 4
0
 public static State <S, Writer <Out, V> > SelectMany <S, Out, T, U, V>(
     this State <S, T> self,
     Func <T, Writer <Out, U> > bind,
     Func <T, U, V> project
     )
 {
     if (bind == null)
     {
         throw new ArgumentNullException(nameof(bind));
     }
     if (project == null)
     {
         throw new ArgumentNullException(nameof(project));
     }
     return((S s) =>
     {
         var resT = self.Valid()(s);
         if (resT.IsBottom)
         {
             return StateResult.Bottom <S, Writer <Out, V> >(s);
         }
         return StateResult.Return <S, Writer <Out, V> >(resT.State, () =>
         {
             var resU = bind(resT.Value).Valid()();
             if (resU.IsBottom)
             {
                 return new WriterResult <Out, V>(default(V), resU.Output, true);
             }
             return WriterResult.Return(project(resT.Value, resU.Value), resU.Output);
         });
     });
 }
Esempio n. 5
0
 protected virtual void InitializeValues(StateResult state)
 {
     ContextId    = state.Context.GetValue <string>("id");
     FriendlyName = state.Attributes.GetValue <string>("friendly_name");
     LastChanged  = state.LastChanged;
     LastUpdated  = state.LastUpdated;
 }
Esempio n. 6
0
    public static State <S, V> SelectMany <S, T, U, V>(
        this State <S, T> self,
        Func <T, State <S, U> > bind,
        Func <T, U, V> project
        )
    {
        if (bind == null)
        {
            throw new ArgumentNullException(nameof(bind));
        }
        if (project == null)
        {
            throw new ArgumentNullException(nameof(project));
        }

        return((S state) =>
        {
            var resT = self.Valid()(state);
            if (resT.IsBottom)
            {
                return StateResult.Bottom <S, V>(state);
            }
            var resU = bind(resT.Value).Valid()(resT.State);
            if (resU.IsBottom)
            {
                return StateResult.Bottom <S, V>(resT.State);
            }
            var resV = project(resT.Value, resU.Value);
            return StateResult.Return(resU.State, resV);
        });
    }
Esempio n. 7
0
 public static State <S, Reader <E, V> > SelectMany <S, E, T, U, V>(
     this State <S, T> self,
     Func <T, Reader <E, U> > bind,
     Func <T, U, V> project
     )
 {
     if (bind == null)
     {
         throw new ArgumentNullException(nameof(bind));
     }
     if (project == null)
     {
         throw new ArgumentNullException(nameof(project));
     }
     return((S s) =>
     {
         var resT = self.Valid()(s);
         if (resT.IsBottom)
         {
             return StateResult.Bottom <S, Reader <E, V> >(s);
         }
         return StateResult.Return <S, Reader <E, V> >(resT.State, envInner =>
         {
             var resU = bind(resT.Value).Valid()(envInner);
             if (resU.IsBottom)
             {
                 return new ReaderResult <V>(default(V), true);
             }
             return ReaderResult.Return(project(resT.Value, resU.Value));
         });
     });
 }
Esempio n. 8
0
        public override StateResult Finish(IAppContext context, float time)
        {
            var dataReposity          = context.GetDataRepository();
            var buildFirstCacheResult = dataReposity.GetContainer <BuildFirstCacheResult>(DataKey.BuildFirstCacheResult);
            var res         = buildFirstCacheResult.Read();
            var stateResult = new StateResult();

            stateResult.NextStateCode = StateResult.Error;
            stateResult.Result        = StateResult.Error;

            if (res.result == BuildFirstCacheResult.Ok)
            {
                PrefsUtil.SetInt(PrefsKeys.AssetBundleInitializedKey, 1);
                PrefsUtil.Flush();

                MyLog.InfoWithFrame(Tag, "BuildFirstCacheResult  ok.");
                stateResult.NextStateCode = TestLoginStateCode.SetPServerState;
                stateResult.Result        = StateResult.Ok;
                return(stateResult);
            }

            MyLog.InfoWithFrame(Tag, "BuildFirstCacheResult Fail!");

            stateResult.ErrMsg = res.error;

            return(stateResult);
        }
Esempio n. 9
0
        private static void configurePushTransitions(
            ITransitionConfigurator transitions,
            ITogglApi api,
            ITogglDataSource dataSource,
            IAnalyticsService analyticsService,
            ILeakyBucket minutesLeakyBucket,
            IRateLimiter rateLimiter,
            IScheduler scheduler,
            StateResult entryPoint,
            DependencyContainer dependencyContainer)
        {
            var delayState             = new WaitForAWhileState(scheduler, analyticsService);
            var pushNotificationsToken = new SyncPushNotificationsTokenState(dependencyContainer.PushNotificationsTokenStorage, api, dependencyContainer.PushNotificationsTokenService, dependencyContainer.TimeService, dependencyContainer.RemoteConfigService);

            transitions.ConfigureTransition(entryPoint, pushNotificationsToken);

            var pushingWorkspaces  = configureCreateOnlyPush(transitions, pushNotificationsToken.Done, dataSource.Workspaces, analyticsService, api.Workspaces, minutesLeakyBucket, rateLimiter, delayState, Workspace.Clean, Workspace.Unsyncable);
            var pushingUsers       = configurePushSingleton(transitions, pushingWorkspaces.NoMoreChanges, dataSource.User, analyticsService, api.User, minutesLeakyBucket, rateLimiter, delayState, User.Clean, User.Unsyncable);
            var pushingPreferences = configurePushSingleton(transitions, pushingUsers.NoMoreChanges, dataSource.Preferences, analyticsService, api.Preferences, minutesLeakyBucket, rateLimiter, delayState, Preferences.Clean, Preferences.Unsyncable);
            var pushingTags        = configureCreateOnlyPush(transitions, pushingPreferences.NoMoreChanges, dataSource.Tags, analyticsService, api.Tags, minutesLeakyBucket, rateLimiter, delayState, Tag.Clean, Tag.Unsyncable);
            var pushingClients     = configureCreateOnlyPush(transitions, pushingTags.NoMoreChanges, dataSource.Clients, analyticsService, api.Clients, minutesLeakyBucket, rateLimiter, delayState, Client.Clean, Client.Unsyncable);
            var pushingProjects    = configureCreateOnlyPush(transitions, pushingClients.NoMoreChanges, dataSource.Projects, analyticsService, api.Projects, minutesLeakyBucket, rateLimiter, delayState, Project.Clean, Project.Unsyncable);
            var pushingTimeEntries = configurePush(transitions, pushingProjects.NoMoreChanges, dataSource.TimeEntries, analyticsService, api.TimeEntries, api.TimeEntries, api.TimeEntries, minutesLeakyBucket, rateLimiter, delayState, TimeEntry.Clean, TimeEntry.Unsyncable);

            transitions.ConfigureTransition(delayState.Done, pushingWorkspaces);
            transitions.ConfigureTransition(pushingTimeEntries.NoMoreChanges, new DeadEndState());
        }
Esempio n. 10
0
        public StateResult Execute(StateResult previousStateResult)
        {
            this.previousStateResult = previousStateResult;

            ClearScreen();
            WriteHeader("Delete");

            var deleteMessage = String.Format("Are you sure you want to delete {0}?", previousStateResult.AdditionalData.phoneBookEntry.Name);

            WriteLine("");
            WriteLine(deleteMessage);
            WriteLine("");
            WriteLine("============================ ACTIONS ============================");
            WriteLine("[Y]-Yes | [N]-No");
            WriteLine("=================================================================");

            var delete = Console.ReadKey();

            if (delete.Key == ConsoleKey.Y)
            {
                DeleteEntry();
                return(ReturnChangeState(AppState.PhoneBook));
            }
            else
            {
                return(ReturnChangeState(AppState.PhoneBook));
            }
        }
Esempio n. 11
0
        public StateResult CreateRole(string name)
        {
            if (this.m_isUseAudit)
            {
            }
            StateResult result = null;

            if (this.OnCheckPermission == null)
            {
                result            = StateResult.NotUsedModuleChangeProcessing;
                result.ObjectType = this.GetType().Name;
                result.Method     = System.Reflection.MethodBase.GetCurrentMethod().Name;
                return(result);
            }

            result = this.OnCheckPermission(this, System.Reflection.MethodBase.GetCurrentMethod()
                                            .GetCustomAttributes <PrivilegeAttribute>(), this.m_contextUser);
            if (!result.Result)
            {
                result = StateResult.Forbidden;
            }
            else
            {
                IRole role = new Role(name);
                this.m_roles.Add(role);
                result            = StateResult.Success;
                result.ObjectId   = (role as IdClass).Id;
                result.ObjectType = role.GetType().Name;
            }
            result.ObjectType = this.GetType().Name;
            result.Method     = System.Reflection.MethodBase.GetCurrentMethod().Name;
            this.OnCreateRole?.Invoke(this, new EventArgs());

            return(result);
        }
        public override StateResult Finish(IAppContext context, float time)
        {
            var dataReposity          = context.GetDataRepository();
            var buildFirstCacheResult = dataReposity.GetContainer <BuildFirstCacheResult>(DataKey.BuildFirstCacheResult);
            var res = buildFirstCacheResult.Read();
            var assetBundleManager = context.GetResourceManager();
            var stateResult        = new StateResult();

            stateResult.NextStateCode = StateResult.Error;
            stateResult.Result        = StateResult.Error;

            if (res.result == BuildFirstCacheResult.Ok)
            {
                var initAssetKey = assetBundleManager.GetAssetBundleInitializedKey();
                PrefsUtil.SetInt(initAssetKey, 1);
                PrefsUtil.Flush();

                MyLog.InfoWithFrame(Tag, "BuildFirstCacheResult  ok.");
                stateResult.NextStateCode = NetworkState.DownloadResources;
                stateResult.Result        = StateResult.Ok;
                return(stateResult);
            }

            MyLog.InfoWithFrame(Tag, "BuildFirstCacheResult Fail!");

            stateResult.ErrMsg = res.error;

            return(stateResult);
        }
    public ExaState createState(int id, object[] parameters)
    {
        //Initialize
        ExaState NewState = null;

        //Check ID
        switch(id) {
        case ExaState.TITLE:
            if (parameters != null && parameters.Length >= 1) NewState = new StateTitle((StateGame)parameters[0]);
            break;

        case ExaState.GAME:
            NewState = new StateGame();
            break;

        case ExaState.PAUSE:
            break;

        case ExaState.RESULT:
            if (parameters != null && parameters.Length >= 2) NewState = new StateResult ((StateGame)parameters [0], (float)parameters[1]);
            break;
        }

        //Return
        return NewState;
    }
Esempio n. 14
0
        public void Create()
        {
            var result = StateResult.Create(5, "A");

            Assert.AreEqual(5, result.State);
            Assert.AreEqual("A", result.Value);
        }
Esempio n. 15
0
 protected override void InitializeValues(StateResult state)
 {
     base.InitializeValues(state);
     State             = state.State;
     DeviceClass       = state.Attributes.GetValue <string>("device_class");
     UnitOfMeasurement = state.Attributes.GetValue <string>("unit_of_measurement");
 }
Esempio n. 16
0
 public static Reader <E, State <S, V> > SelectMany <E, S, T, U, V>(
     this Reader <E, T> self,
     Func <T, State <S, U> > bind,
     Func <T, U, V> project
     )
 {
     if (bind == null)
     {
         throw new ArgumentNullException(nameof(bind));
     }
     if (project == null)
     {
         throw new ArgumentNullException(nameof(project));
     }
     return((E env) =>
     {
         var resT = self.Valid()(env);
         if (resT.IsBottom)
         {
             return Bottom <State <S, V> >();
         }
         return Return <State <S, V> >(state =>
         {
             var resU = bind(resT.Value).Valid()(state);
             if (resU.IsBottom)
             {
                 return StateResult.Bottom <S, V>(state);
             }
             return StateResult.Return(resU.State, project(resT.Value, resU.Value));
         });
     });
 }
Esempio n. 17
0
        private void WriteToLog(string stateText, StateResult stateResult, Exception ex = null)
        {
            if (stateResult == StateResult.Error)
            {
                if (ex != null)
                {
                    var wrappedEx       = ex.WrapException();
                    var wrapedStateText = wrappedEx.Message;

                    _log.Error(wrapedStateText, wrappedEx);

                    new ErrorDialogView(wrapedStateText).ShowDialog();

                    stateText = wrapedStateText;
                }
                else
                {
                    _log.Error(stateText);

                    new ErrorDialogView(stateText).ShowDialog();
                }
            }

            var message = stateResult.StateResultToString() + stateText;

            _mainViewModel.Log  += message + Environment.NewLine;
            _mainViewModel.State = message;
        }
        private static void configurePullTransitions(
            TransitionHandlerProvider transitions,
            ITogglDatabase database,
            ITogglApi api,
            ITogglDataSource dataSource,
            ITimeService timeService,
            StateResult entryPoint)
        {
            var fetchAllSince            = new FetchAllSinceState(database, api, timeService);
            var persistWorkspaces        = new PersistWorkspacesState(database.Workspaces, database.SinceParameters);
            var persistWorkspaceFeatures = new PersistWorkspacesFeaturesState(database.WorkspaceFeatures, database.SinceParameters);
            var persistTags        = new PersistTagsState(database.Tags, database.SinceParameters);
            var persistClients     = new PersistClientsState(database.Clients, database.SinceParameters);
            var persistProjects    = new PersistProjectsState(database.Projects, database.SinceParameters);
            var persistTimeEntries = new PersistTimeEntriesState(dataSource.TimeEntries, database.SinceParameters, timeService);
            var persistTasks       = new PersistTasksState(database.Tasks, database.SinceParameters);

            transitions.ConfigureTransition(entryPoint, fetchAllSince.Start);
            transitions.ConfigureTransition(fetchAllSince.FetchStarted, persistWorkspaces.Start);
            transitions.ConfigureTransition(persistWorkspaces.FinishedPersisting, persistWorkspaceFeatures.Start);
            transitions.ConfigureTransition(persistWorkspaceFeatures.FinishedPersisting, persistTags.Start);
            transitions.ConfigureTransition(persistTags.FinishedPersisting, persistClients.Start);
            transitions.ConfigureTransition(persistClients.FinishedPersisting, persistProjects.Start);
            transitions.ConfigureTransition(persistProjects.FinishedPersisting, persistTasks.Start);
            transitions.ConfigureTransition(persistTasks.FinishedPersisting, persistTimeEntries.Start);
        }
        public override StateResult Finish(IAppContext context, float time)
        {
            var network     = context.GetNetworkManager();
            var stateResult = new StateResult();

            stateResult.NextStateCode = StateResult.Error;
            stateResult.Result        = StateResult.Error;

//            if (network.GetServer() == Server.GServer &&
//                network.IsConnected())
//            {
            MyLog.InfoWithFrame(Tag, "GServer connect ok.");
            stateResult.NextStateCode = NetworkState.LoginGameServer;
            stateResult.Result        = StateResult.Ok;
            return(stateResult);

//            }

            MyLog.InfoWithFrame(Tag, "Connect GServer Fail!");
            if (!_isTimeout)
            {
                stateResult.ErrMsg = string.Format("连接服务器失败,请重新登陆\n【错误码{0}】",
                                                   NetworkStateErrorCode.ConnectGameServerFailCode);
            }
            else
            {
                stateResult.ErrMsg = string.Format("登录超时,请重新登陆\n【错误码{0}】",
                                                   NetworkStateErrorCode.ConnectGameServerFailCode);
            }
            return(stateResult);
        }
        public override StateResult Finish(IAppContext context, float time)
        {
            MyLog.DebugWithFrame(Tag, "Finish login game server.");
            var res         = _gLoginResult.Read();
            var stateResult = new StateResult();

            stateResult.NextStateCode = StateResult.Error;
            stateResult.Result        = StateResult.Error;

//            if ((res != null) && (res.result == ResultCode.OK))
//            {
            LoginOk(context);
            stateResult.NextStateCode = NetworkState.LoginGameServerOk;
            stateResult.Result        = StateResult.Ok;
            return(stateResult);

//            }

            if (!_isTimeout)
            {
                stateResult.ErrMsg = string.Format("登录游戏服务器失败,请重新登陆\n【错误码{0}】)",
                                                   NetworkStateErrorCode.LoginGameServerFailCode);
            }
            else
            {
                stateResult.ErrMsg = string.Format("登录游戏服务器登录超时,请重新登陆\n【错误码{0}】",
                                                   NetworkStateErrorCode.LoginGameServerFailCode);
            }
            return(stateResult);
        }
Esempio n. 21
0
        protected async Task <StateResult> Step0(Message message, string text, TelegramBotClient bot, bool batchMode)
        {
            var chatId = base.GetChatId(message);

            StringBuilder msg           = new StringBuilder("Du hast für folgende Bosse Marker gesetzt:");
            var           currentBosses = this.getRaidBossPreferencesQuery.Execute(new GetRaidBossPreferencesRequest(ChatId: chatId));

            msg.AppendLine();
            if (currentBosses.Count() == 0)
            {
                msg.AppendLine("Keine");
            }
            else
            {
                foreach (var boss in currentBosses)
                {
                    msg.AppendLine($"{boss.PokeId}");
                }
            }

            msg.AppendLine("Du kannst 'x' antworten, dann wird nichts geändert.");
            msg.Append("Poke-Id, die de- / aktiviert werden soll:");

            await bot.SendTextMessageAsync(chatId, msg.ToString()).ConfigureAwait(false);

            return(StateResult.AwaitUserAt(1));
        }
        public override StateResult Finish(IAppContext context, float time)
        {
            var dataReposity           = context.GetDataRepository();
            var downloadResourceResult =
                dataReposity.GetContainer <DownloadResourceResult>(DataKey.DownloadResourceResult);
            var res         = downloadResourceResult.Read();
            var stateResult = new StateResult();

            stateResult.NextStateCode = StateResult.Error;
            stateResult.Result        = StateResult.Error;

            if (res.result == DownloadResourceResult.Ok)
            {
                MyLog.InfoWithFrame(Tag, "DownloadResourceResult  ok.");
                stateResult.NextStateCode = NetworkState.ConnectGateServer;
                stateResult.Result        = StateResult.Ok;
                return(stateResult);
            }

            MyLog.InfoWithFrame(Tag, "DownloadResourceResult Fail!");

            stateResult.ErrMsg = res.error;

            return(stateResult);
        }
Esempio n. 23
0
        public (GameState state, List <TiltDirection> directions) GetWinningStrategy(Field field)
        {
            //TODO Check that each ball has corresponding hole
            var usedStates          = new HashSet <string>();
            Queue <FieldNode> queue = new Queue <FieldNode>();

            queue.Enqueue(new FieldNode(field, new List <TiltDirection>()));
            while (queue.TryDequeue(out var node))
            {
                var ballsState = node.Field.GetBallsState();
                if (!usedStates.Contains(ballsState))
                {
                    usedStates.Add(ballsState);
                    StateResult result = CheckState(node.Field);
                    switch (result.GameState)
                    {
                    case GameState.Fail:
                        continue;

                    case GameState.Win:
                        return(result.GameState, node.Directions);

                    case GameState.Continue:
                    default:
                        var childs = GetChildStates(node.Field, node);
                        foreach (var child in childs)
                        {
                            queue.Enqueue(child);
                        }
                        break;
                    }
                }
            }
            return(GameState.Fail, new List <TiltDirection>());
        }
Esempio n. 24
0
        protected async Task <StateResult> Step3(Message message, string text, TelegramBotClient bot, bool batchMode)
        {
            var userId = base.GetUserId(message);
            var chatId = base.GetChatId(message);

            if (!batchMode)
            {
                var raid    = this.getCurrentManualRaidQuery.Execute(new GetCurrentManualRaidRequest(UserId: userId));
                var gyms    = this.getActiveGymsByChatQuery.Execute(new GetActiveGymsByChatRequest(ChatId: raid.ChatId ?? 0));
                var special = this.getSpecialGymsQuery.Execute(new GetSpecialGymsForChatsRequest(ChatIds: new[] { raid.ChatId ?? 0 }));

                StringBuilder msg = new StringBuilder();

                int i = 0;
                foreach (var gym in gyms)
                {
                    var gymName = special.FirstOrDefault(x => x.GymId == gym.Id && x.Type == (int)GymType.AlternativeName)?.Data ?? gym.Name;
                    var line    = $"{i} - {gymName}";
                    if (line.Length + msg.Length > 4096)
                    {
                        await bot.SendTextMessageAsync(chatId, msg.ToString());

                        msg.Clear();
                    }

                    msg.AppendLine(line);
                    i++;
                }

                await bot.SendTextMessageAsync(chatId, msg.ToString());
            }

            return(StateResult.AwaitUserAt(4));
        }
Esempio n. 25
0
 public static Writer <Out, State <S, V> > SelectMany <Out, S, T, U, V>(
     this Writer <Out, T> self,
     Func <T, State <S, U> > bind,
     Func <T, U, V> project
     )
 {
     if (bind == null)
     {
         throw new ArgumentNullException(nameof(bind));
     }
     if (project == null)
     {
         throw new ArgumentNullException(nameof(project));
     }
     return(() =>
     {
         var resT = self.Valid()();
         if (resT.IsBottom)
         {
             return WriterResult.Bottom <Out, State <S, V> >(resT.Output);
         }
         return WriterResult.Return <Out, State <S, V> >(state =>
         {
             var resU = bind(resT.Value).Valid()(state);
             if (resU.IsBottom)
             {
                 return StateResult.Bottom <S, V>(state);
             }
             return StateResult.Return(resU.State, project(resT.Value, resU.Value));
         }, resT.Output);
     });
 }
Esempio n. 26
0
        public override StateResult Finish(IAppContext context, float time)
        {
            var stateResult = new StateResult();

            stateResult.NextStateCode = TestLoginStateCode.ConnetPserverState;
            stateResult.Result        = StateResult.Ok;
            return(stateResult);
        }
Esempio n. 27
0
        protected async Task <StateResult> Step6(Message message, string text, TelegramBotClient bot, bool batchMode)
        {
            var chatId = base.GetChatId(message);
            await bot.SendTextMessageAsync(chatId, "Poke-Id:");


            return(StateResult.AwaitUserAt(7));
        }
Esempio n. 28
0
 public static State <S, int> Count <S, T>(this State <S, T> self) =>
 s =>
 {
     var res = self.Valid()(s);
     return(res.IsBottom
           ? StateResult.Bottom <S, int>(s)
           : StateResult.Return(res.State, 1));
 };
Esempio n. 29
0
        public StateResult Execute(StateResult previousStateResult)
        {
            ClearScreen();
            WriteHeader("Search");
            stateResult.AdditionalData.SearchText = ReadStringNoEmpty("Please enter a name or phone number:");

            return(ReturnChangeState(AppState.PhoneBook));
        }
Esempio n. 30
0
        public StateEventArgs(string stateText, StateResult stateResult,
                              Exception ex = null)
        {
            StateText   = stateText;
            StateResult = stateResult;

            Ex = ex;
        }
Esempio n. 31
0
            private Action startStateMachineAndPrepareSecondStart(StateResult first, StateResult second)
            {
                var observable = stateMachineFinised();

                StateMachine.Start(first.Transition());
                observable.Wait();
                return(() => StateMachine.Start(second.Transition()));
            }
Esempio n. 32
0
            internal override StateResult HandleSendingResponse(SipInviteServerTransaction tx, SipResponse response)
            {
                var stateResult = new StateResult();

                var statusCode = response.StatusLine.StatusCode;

                if (statusCode >= 100 && statusCode < 200)
                {
                    tx.SendResponseInternal(response);
                }
                else if (statusCode >= 200 && statusCode < 300)
                {
                    tx.SendResponseInternal(response);
                    stateResult.Dispose = true;
                }
                else if (statusCode >= 300 && statusCode < 700)
                {
                    tx.SendResponseInternal(response);
                    tx.ChangeState(SipInviteServerTransaction.CompletedState);
                }

                return stateResult;
            }
Esempio n. 33
0
 public override HandlerResponse Handle(JObject parsed)
 {
     // agent/lib/agent/monit.rb running, starting, failing or unknown
     var stateResult = new StateResult(config.AgentID, config.VM, "running", config.BoshProtocol);
     return new HandlerResponse(stateResult);
 }