/// <summary>
        /// InputErrorSendに対する処理を表します。
        /// コメント:BindableBasePlusに入れるべきか?
        /// </summary>
        /// <param name="eventParam">IEventParamを設定します。</param>
        private void ProcessingMessageInfoSend(
            [param: Required] RPUtility.IEventParam eventParam
            )
        {
            // nullチェック
            if (eventParam == null)
            {
                throw new ArgumentNullException(MethodBase.GetCurrentMethod().Name + Utility.ConstUtili.ERR_SEPA + nameof(eventParam));
            }

            // IEventParamをキャストします。
            var param = eventParam as RPUtility.MessageInfoSend;

            // コマンドに対応する処理を行います。
            switch (param.Command)
            {
            case EnumDatas.MassageInfo.LoadSetting:
                // 共通設定を読み込みます。
                if (Utility.BooleanUtili.IsExecuteAtOnce())
                {
                    this.LoadStartSettings(EnumDatas.ViewNames.ViewA.ToString());
                }
                break;

            case EnumDatas.MassageInfo.InputError:
                // InputErrorの場合はボタンを使用禁止にします。
                this.SetEnables(false, -1);
                break;

            case EnumDatas.MassageInfo.NoInputError:
                // NoInputErrorの場合はボタンを使用許可にします。
                this.SetEnables(true, -1);
                break;

            case EnumDatas.MassageInfo.Message:
                // Messageの場合は実装していません。
                throw new NotImplementedException();

            default:
                // 不明の場合は例外を発生します。
                throw new InvalidOperationException(MethodBase.GetCurrentMethod().Name + Utility.ConstUtili.ERR_SEPA + nameof(param.Command));
            }
        }
        /// <summary>
        /// メッセージ受信イベント
        /// 自分宛のメッセージのみ受信します。
        /// </summary>
        /// <param name="message">受信メッセージ</param>
        protected override void ReceivedMessage(
            [param: Required] RPUtility.IEventParam eventParam
            )
        {
            // nullチェック
            if (eventParam == null)
            {
                throw new ArgumentNullException(MethodBase.GetCurrentMethod().Name + Utility.ConstUtili.ERR_SEPA + nameof(eventParam));
            }

            // クラス名を取得します。
            var name = eventParam.EventType.Name;

            // 受信メッセージを処理します。
            switch (name)
            {
            case "MessageInfoSend":
                this.ProcessingMessageInfoSend(eventParam: eventParam);
                break;

            default:
                throw new InvalidOperationException(MethodBase.GetCurrentMethod().Name + Utility.ConstUtili.ERR_SEPA + $"ReceivedMessage:{name}");
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// メッセージを受信します。
 /// 自分宛のメッセージのみ受信します。
 /// </summary>
 /// <param name="message">受信メッセージ</param>
 protected abstract void ReceivedMessage(RPUtility.IEventParam eventParam);
Ejemplo n.º 4
0
 /// <summary>
 /// メッセージ受信イベント
 /// </summary>
 /// <param name="message">受信メッセージ</param>
 protected override void ReceivedMessage(RPUtility.IEventParam eventParam)
 {
     // メッセージ受信処理を記述します。
 }