public void CommandViewModelTo(UpdateMaterialSite cmd) { try { ActiveProjectData.GetInstance().MaterialSiteListData.UpdateMaterialSite(cmd.ReplacedMaterialSiteName, in cmd.ReplaceingMaterialSite); } catch (ArgumentException e) { cmd.ValueInputCheckResult = int.Parse(e.Message); } }
private void ClickedOKButton(object sender, RoutedEventArgs e) { if (SiteName.Text == "") { MessageBox.Show("サイト名が入力されていません。", "警告", MessageBoxButton.OK, MessageBoxImage.Warning); return; } //FIXME:本来であれば、ViewからModelへ直接アクセスすることは禁じられている。 //この処理は、ViewModelへ要請すべき処理であるが、このバグは意図せず素材配布サイトが削除される恐れのある、重大なバグであり //そのようにして、修正する時間もとれないため、このような対処となった。 //時間があるときに、必ず修正すること。 if (!(SiteName.Text == editingMaterialSite) && MaterialLicenseChecker.Models.ActiveProjectData.GetInstance().MaterialSiteListData.MaterialSiteExists(SiteName.Text)) { MessageBox.Show("変更しようとしているサイト名は既に存在します。", "警告", MessageBoxButton.OK, MessageBoxImage.Warning); return; } EditingMaterialSiteSpace.UpdateMaterialSite cmd = new EditingMaterialSiteSpace.UpdateMaterialSite(); var ReplaceingMaterialSiteData = new MaterialSiteDataSpace.MaterialSiteData(); ReplaceingMaterialSiteData.MaterialSiteName = SiteName.Text; ReplaceingMaterialSiteData.TeamsOfURL = TeamsOfUseURL.Text; ReplaceingMaterialSiteData.LicenseText = LicenseText.Text; ReplaceingMaterialSiteData.LicenseMemo = LicenseMemo.Text; cmd.ReplacedMaterialSiteName = editingMaterialSite; cmd.ReplaceingMaterialSite = ReplaceingMaterialSiteData; ReceiverOfView.CommandViewModelTo(cmd); //MessageBox.Show("編集が完了しました。", "編集完了", MessageBoxButton.OK, MessageBoxImage.Information); Close(); }