private void ClickedTeamsOfUse(object sender, RoutedEventArgs e) { //何の項目も選択されていない場合 if (MaterialSiteListBox.SelectedIndex == -1) { MessageBox.Show("利用規約を表示したい項目を選択してください。", "項目の未選択", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } var SelectedListBoxItem = (ListBoxItem)MaterialSiteListBox.ItemContainerGenerator.ContainerFromItem(MaterialSiteListBox.SelectedItem); var MaterialSite = new MaterialLicenseChecker.Models.MaterialSiteData(); EditingMaterialSiteSpace.FetchMaterialSiteGivenSiteName cmd = new EditingMaterialSiteSpace.FetchMaterialSiteGivenSiteName(); cmd.SearchedMaterialSiteName = (string)SelectedListBoxItem.Content; cmd.FetchedMaterialSiteData = MaterialSite; ReceiverOfViewModel.CommandViewModelTo(cmd); //利用規約に入っている文字列が、空白文字もしくは空文字列以外で、なおかつ有効なURL形式であった場合 if (!string.IsNullOrWhiteSpace(cmd.FetchedMaterialSiteData.TeamsOfURL) && Regex.IsMatch(cmd.FetchedMaterialSiteData.TeamsOfURL, @"^s?https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+$")) { System.Diagnostics.Process.Start(cmd.FetchedMaterialSiteData.TeamsOfURL); } else { MessageBox.Show("利用規約URLには、httpもしくはhttpsから始まるURLを入力してください。", "不正な形式", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }
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; }
public void CommandViewModelTo(FetchMaterialSiteGivenSiteName cmd) { cmd.FetchedMaterialSiteData = ActiveProjectData.GetInstance().MaterialSiteListData.GetMaterialSite(cmd.SearchedMaterialSiteName); }