public CheckIfPlayerIsAlreadyRegistered() { Test = activity => Please.Check( new IsUserRegistered(activity.From.Id, activity.Conversation.Id, activity.ServiceUrl)); Positive = new CheckIfAnyChallengeIsInProgress(); Negative = new WelcomeUser(); }
public T OrDefault(string value) { if (typeof(T).IsEnum) { T parsed = Easily.Parse <T>(value.ToString()); DefaultValue = parsed; if (Please == null) { Please = parsed; } else if (!Please.Equals(default(T))) { Please = parsed; } } else if (typeof(T) == typeof(string)) { DefaultValue = (T)(System.Object)value; if (Please == null) { Please = DefaultValue; } } return(Please); }
public override void Execute(InitializeGame command) { var gameMaster = Please.Do(new GetOrCreateGameMaster()).Result; var player = Please.Do(new GetOrCreatePlayer(command.Username, command.UserId, command.ConversationId, command.ServiceUrl, gameMaster.Id)).Result; var adventures = new List <InitializeGameAdventure>() { new InitializeGameAdventure(ResourcesStrings.PeopleAdventureTitle, ResourcesStrings.PeopleAdventureFinished, ResourcesImages.PeopleBadge), new InitializeGameAdventure(ResourcesStrings.FoodAdventureTitle, ResourcesStrings.FoodAdventureFinished, ResourcesImages.FoodBadge), new InitializeGameAdventure(ResourcesStrings.PlacesAdventureTitle, ResourcesStrings.PlacesAdventureFinished, ResourcesImages.PlacesBadge) }; var challanges = new List <List <InitializeGameChallenge> >() { new List <InitializeGameChallenge>() { new InitializeGameChallenge(ResourcesStrings.IntroduceYourselfChallengeTitle, ResourcesStrings .IntroduceYourselfChallengeDescription), new InitializeGameChallenge(ResourcesStrings.LunchChallengeTitle, ResourcesStrings .LunchChallengeDescription), new InitializeGameChallenge(ResourcesStrings.SelfieChallengeTitle, ResourcesStrings .SelfieChallengeDescription) }, new List <InitializeGameChallenge>() { new InitializeGameChallenge(ResourcesStrings.CoffieWithChallengeTitle, ResourcesStrings .CoffieWithChallengeDescription), new InitializeGameChallenge(ResourcesStrings.ShopChallengeTitle, ResourcesStrings .ShopChallengeDescription), new InitializeGameChallenge(ResourcesStrings.BeerChallengeTitle, ResourcesStrings .BeerChallengeDescription) }, new List <InitializeGameChallenge>() { new InitializeGameChallenge(ResourcesStrings.ToiletChallengeTitle, ResourcesStrings .ToiletChallengeDescription), new InitializeGameChallenge(ResourcesStrings.RelaxRoomChallengeTitle, ResourcesStrings .RelaxRoomChallengeDescription), new InitializeGameChallenge(ResourcesStrings.KitchenChallengeTitle, ResourcesStrings .KitchenChallengeDescription) } }; for (var i = 0; i < adventures.Count; i++) { var adventure = CreateAdventure(player, adventures[i], i); CreateChallenges(player, adventure, challanges[i]); } DbContext.SaveChanges(); }
public override IsUserRegistered Perform(IsUserRegistered query) { Please.Do(new UpdatePlayerServiceAndConversation(query.UserId, query.ServiceUrl, query.ConversationId)); var player = DbContext.Players.SingleOrDefault(x => x.UserId == query.UserId); query.QueryResult = player != null; return(query); }
/// <summary> /// Defines the default and returns the result /// </summary> /// <param name="value"></param> /// <returns></returns> public T OrDefault(T @default) { DefaultValue = @default; if (Please.Equals(default(T))) { Please = DefaultValue; } return(Please); }
public override void Handle(EditUser command) { var userToEdit = new User { Login = command.Login }; Console.WriteLine(" "); Console.WriteLine($"Edytuję użykownika o loginie {userToEdit.Login}"); Please.Tell(new UserEdited(userToEdit.Login)); }
/// <summary> /// Defines the default and returns the result /// </summary> /// <param name="value"></param> /// <returns></returns> public T OrDefault(int value) // for use with Enums { // the generic version of this seems to cover enums if (typeof(T).IsEnum) { DefaultValue = (T)(System.Object)value; // force it if (!Please.Equals(default(T))) { Please = DefaultValue; } } return(Please); }
public override void Handle(DeleteUser command) { var userToDelete = new User { Login = command.Login }; Console.WriteLine(" "); Console.WriteLine($"Usuwam użykownika o loginie {userToDelete.Login}"); //delete from db Please.Tell(new UserDeleted(userToDelete.Login)); }
public override IEnumerable <Activity> Evaluate(Activity activity) { var challengeInProgress = Please.Give(new ChallengeInProgress(activity.From.Id)).QueryResult; var content = string.Format(ResourcesStrings.AdventureHowIsChallengeGoing, challengeInProgress.Title); var reply = activity.CreateReply(); var actionCard = new ThumbnailCard() { Buttons = GetActions(), Text = content }; reply.Attachments.Add(actionCard.ToAttachment()); yield return(reply); }
public override IEnumerable <Activity> Evaluate(Activity activity) { var challenge = Please.Give(new ChallengeInProgress(activity.From.Id)).QueryResult; Please.Do(new CompleteChallenge(challenge.Id)); var reply = activity.CreateReply($"{Resources.ResourcesStrings.Congratulations} {Resources.Emoji.Tada} You have finished {challenge.Order + 1}/3 steps of this adventure. "); var areAllChallengesFromAdventureFinished = Please.Check(new AreAllChallengesInAdventureFinished(challenge.Adventure.Id)); if (areAllChallengesFromAdventureFinished) { var content = challenge.Adventure.FinishedText + " "; if (!string.IsNullOrEmpty(challenge.Adventure.FinishedImageUrl)) { var a = new Attachment("image/png", challenge.Adventure.FinishedImageUrl, null, null, null); reply.Attachments.Add(a); } reply.Text = content; } yield return(reply); var userHasUnfinishedChallenge = Please.Give(new HasAnyChallengeUnfinished(activity.From.Id)).QueryResult; if (!userHasUnfinishedChallenge) { yield return(activity.CreateReply("Congratulations! That's all I prepared for you by now! But stay ready for new adventures!")); } var giveUserChallengerResponses = new GiveUserChallenge().Evaluate(activity); if (giveUserChallengerResponses == null) { yield break; } foreach (var response in giveUserChallengerResponses) { yield return(response); } }
public override IEnumerable <Activity> Evaluate(Activity activity) { var challenge = Please.Give(new NextUnfinishedChallenge(activity.From.Id)).QueryResult; if (challenge == null) { yield break; } Please.Do(new BeginChallange(challenge.Id)); var content = ResourcesStrings.AdventureNewChallengeForYou + "\"" + challenge.Title + "\"!"; foreach (var item in new List <Activity>() { activity.CreateReply(content), activity.CreateReply(challenge.Description) }) { yield return(item); } }
public override IEnumerable <Activity> Evaluate(Activity activity) { Please.Do(new InitializeGame(activity.From.Name, activity.From.Id, activity.Conversation.Id, activity.ServiceUrl)); var reply = activity.CreateReply(); var actionCard = new ThumbnailCard() { Buttons = new List <CardAction>() { new CardAction { Value = "I'm ready!", Title = "I'm ready!", Type = "imBack" } }, Text = ResourcesStrings.WelcomeText }; reply.Attachments.Add(actionCard.ToAttachment()); yield return(reply); }
private void SetPlease(string value) { Please = Please.Equals(default(T)) ? Please : Easily.Parse <T>(value); }
private void SetPlease(T value) { Please = Please.Equals(default(T)) ? Please : value; }
public CheckIfAnyChallangeIsUnfinished() { Test = activity => Please.Check(new HasAnyChallengeUnfinished(activity.From.Id)); Positive = new GiveUserChallenge(); Negative = new FinishUserGame(); }
public CheckIfGameShouldBeFinished() { Test = activity => Please.Check(new HasAnyChallengeUnfinished(activity.From.Id)); Positive = new CompleteUserChallenge(); Negative = new FinishUserGame(); }
public override IEnumerable <Activity> Evaluate(Activity activity) { Please.Do(new ResetGame(activity.From.Id)); yield return(activity.CreateReply("Game has been resetted")); }
public CheckIfAnyChallengeIsInProgress() { Test = activity => Please.Check(new IsAnyChallengeInProgress(activity.From.Id)); Positive = new CheckIfChallengeShouldBeFinished(); Negative = new CheckIfAnyChallangeIsUnfinished(); }