public ActionViewModel(NotificationAction notificationAction) { _notificationAction = notificationAction; ActionTypes = new[] { new ComboViewModel <ActionType>("flash the task bar", ActionType.FlashTaskbar), new ComboViewModel <ActionType>("show a toast", ActionType.ShowToast), //new ComboViewModel<ActionType>("play a sound", ActionType.PlaySound), }; ActionConditions = new[] { new ComboViewModel <ActionCondition>("always", ActionCondition.None), new ComboViewModel <ActionCondition>("when idle for at least", ActionCondition.RoomIdle), new ComboViewModel <ActionCondition>("last notification was at least", ActionCondition.MinimumTimeSinceLastNotification), }; SelectedActionType = ActionTypes.FirstOrDefault(at => at.Data == notificationAction.ActionType); SelectedActionCondition = ActionConditions.FirstOrDefault(ac => ac.Data == notificationAction.ActionCondition); Interval = notificationAction.Interval; }
/// <summary> /// Add the condition to the delete trigger action. Action will be executed only when the condition passed. /// </summary> /// <param name="condition"></param> /// <returns></returns> public OnDeleteTriggerActions <TTriggerEntity> Condition(Expression <Func <TTriggerEntity, bool> > condition) { ActionConditions.Add(new OnDeleteTriggerCondition <TTriggerEntity>(condition)); return(this); }
public static bool CheckCondition(ActionConditions conditions) { if (conditions == ActionConditions.IsHappy && Village.Emotion == Emotion.Happy) { return(true); } if (conditions == ActionConditions.MeadEqualsZero && Viking.MeadCount == 0) { return(true); } if (conditions == ActionConditions.MeadGreaterZero && Viking.MeadCount > 0) { return(true); } if (conditions == ActionConditions.MeadGreaterTwo && Viking.MeadCount > 2) { return(true); } if (conditions == ActionConditions.IsSweatDrop && Village.Emotion == Emotion.SweatDrop) { return(true); } if (conditions == ActionConditions.IsAngry && Village.Emotion == Emotion.Angry) { return(true); } if (conditions == ActionConditions.OdinEqualsZero && Viking.OdinCount == 0) { return(true); } if (conditions == ActionConditions.OdinEqualsOne && Viking.OdinCount == 1) { return(true); } if (conditions == ActionConditions.OdinGreaterZero && Viking.OdinCount > 0) { return(true); } if (conditions == ActionConditions.OdinGreaterOne && Viking.OdinCount > 1) { return(true); } if (conditions == ActionConditions.IsNotAngry && Village.Emotion != Emotion.Angry) { return(true); } if (conditions == ActionConditions.AttackedEnglandWhileAngry && Village.AttackedEnglandWhileAngry) { return(true); } if (conditions == ActionConditions.AttackedEnglandWhileSweatDrop && Village.AttackedEnglandWhileSweatDrop) { return(true); } if (conditions == ActionConditions.IsShy && Village.Emotion == Emotion.Shy) { return(true); } if (conditions == ActionConditions.IsNotSweatDrop && Village.Emotion != Emotion.SweatDrop) { return(true); } if (conditions == ActionConditions.AttackedEnglandEqualsZero && Viking.AttackedEnglandCount == 0) { return(true); } if (conditions == ActionConditions.AttackedEnglandEqualsOne && Viking.AttackedEnglandCount == 1) { return(true); } if (conditions == ActionConditions.AttackedEnglandGreaterOne && Viking.AttackedEnglandCount > 1) { return(true); } if (conditions == ActionConditions.IsHappyAndDrunk && (Village.Emotion == Emotion.Happy && Viking.MeadCount > 0)) { return(true); } if (conditions == ActionConditions.IsShyAndDrunk && (Village.Emotion == Emotion.Shy && Viking.MeadCount > 0)) { return(true); } if (conditions == ActionConditions.OdinEqualsZeroWhileNotSweat && Village.Emotion != Emotion.SweatDrop && Viking.OdinCount == 0) { return(true); } if (conditions == ActionConditions.OdinEqualsOneWhileNotSweat && Village.Emotion != Emotion.SweatDrop && Viking.OdinCount == 1) { return(true); } if (conditions == ActionConditions.OdinGreaterOneWhileNotSweat && Village.Emotion != Emotion.SweatDrop && Viking.OdinCount > 0) { return(true); } if (conditions == ActionConditions.OdinEqualsZeroWhileSweat && Village.Emotion == Emotion.SweatDrop && Viking.OdinCount == 0) { return(true); } if (conditions == ActionConditions.OdinEqualsOneWhileSweat && Village.Emotion == Emotion.SweatDrop && Viking.OdinCount == 1) { return(true); } if (conditions == ActionConditions.OdinGreaterOneWhileSweat && Village.Emotion == Emotion.SweatDrop && Viking.OdinCount > 0) { return(true); } if (conditions == ActionConditions.None) { return(true); } return(false); }