private void SetMaterialSiteValue(string EditingMaterialSiteName) { MaterialSiteDataSpace.MaterialSiteData SiteData = new MaterialSiteDataSpace.MaterialSiteData(); EditingMaterialSiteSpace.FetchMaterialSiteGivenSiteName cmd = new EditingMaterialSiteSpace.FetchMaterialSiteGivenSiteName(); cmd.FetchedMaterialSiteData = SiteData; cmd.SearchedMaterialSiteName = EditingMaterialSiteName; ReceiverOfView.CommandViewModelTo(cmd); SiteName.Text = cmd.FetchedMaterialSiteData.MaterialSiteName; TeamsOfUseURL.Text = cmd.FetchedMaterialSiteData.TeamsOfURL; LicenseText.Text = cmd.FetchedMaterialSiteData.LicenseText; LicenseMemo.Text = cmd.FetchedMaterialSiteData.LicenseMemo; }
/// <summary> /// 与えられたMaterialSiteNameの内容を、MaterialSiteDataクラスにまとめて返却します。 /// </summary> /// <param name="MaterialSiteName"></param> /// <returns></returns> public MaterialSiteData GetMaterialSite(string SearchedSiteName) { LoadFile(); //FIXME:後でサイトが見つからない時の処理も実装しておくこと。 var SearchedMaterialSite = _loadedXMLFileInstance.XPathSelectElement("//materialSite[@siteName='" + SecurityElement.Escape(SearchedSiteName) + "']"); //もしサイトが見つからない場合 if (SearchedMaterialSite == null) { throw new MyException.NotFoundMaterialSiteException(); } MaterialSiteData ReturnedSiteData = new MaterialSiteData(); ReturnedSiteData.LicenseMemo = SearchedMaterialSite.Element("licenseMemo").Value; ReturnedSiteData.LicenseText = SearchedMaterialSite.Element("licenseText").Value; ReturnedSiteData.TeamsOfURL = SearchedMaterialSite.Element("teamsOfUseURL").Value; ReturnedSiteData.MaterialSiteName = SearchedSiteName; return(ReturnedSiteData); }
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(); }