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;
        }
示例#2
0
        /// <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();
        }