Пример #1
0
        private void ClickedRegistrationButton(object sender, RoutedEventArgs e)
        {
            var cmd = new MaterialSite.RegisterMaterialSite();

            cmd.InputSiteName           = InputSiteName.Text;
            cmd.InputLicenseText        = InputLicenseText.Text;
            cmd.InputMemoOfMaterialSite = InputMemoOfMaterialSite.Text;
            cmd.InputTeamsOfUseURL      = InputTeamsOfUseURL.Text;

            receiverCommand.CommandViewModelTo(cmd);

            //FIXME:こうするよりも、値と処理(デリゲート)のペアを何らかの形で置いて、関数で実行する形にしたほうがいいだろう。
            //もし今後再度リファクタリングの機会があるならば、そうしたほうがいい

            //FIMXE:ユーザーのことを考えるのであれば、どの項目が未入力なのか教えてあげたほうがいいだろう。
            if (cmd.ValueInputCheckResult == MaterialSite.RegisterMaterialSite.VALUE_EMPTY)
            {
                MessageBox.Show("サイト名が入力されていません。", "警告", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            if (cmd.ValueInputCheckResult == MaterialSite.RegisterMaterialSite.REGISTER_EXISTS_MATERALSITE)
            {
                MessageBox.Show("指定された素材配布サイトは既に存在します。", "警告", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }
            //MessageBox.Show("登録が完了しました。", "登録完了", MessageBoxButton.OK, MessageBoxImage.Information);
            Close();
        }
 public void CommandViewModelTo(RegisterMaterialSite cmd)
 {
     cmd.ValueInputCheckResult = RegisterMaterialSite.ACCEPTED_VALUE;
     try
     {
         ActiveProjectData.GetInstance().MaterialSiteListData.AddMaterialSite(cmd.InputSiteName, cmd.InputTeamsOfUseURL, cmd.InputLicenseText, cmd.InputMemoOfMaterialSite);
     }
     catch (ArgumentException e)
     {
         cmd.ValueInputCheckResult = ConvertAddLicenseTextFuncFromMsgViewToMsg(int.Parse(e.Message));
     }
 }