public async void NewProfile() { if (Model.SelectedProfile != null) { var profile = Model.SelectedProfile; var newp = new NewProfileViewModel() { Model = Model, Title = "プロファイル", Operation = "追加", IsDuplicate = Name => Model.ProfileList.Any( s => s.Data.Name.Equals(Name, StringComparison.OrdinalIgnoreCase)), Name = profile.Data.Name + "のコピー" }; await Messenger.RaiseAsync(new TransitionMessage( typeof(Views.NewProfileWindow), newp, TransitionMode.Modal, "FromProfile")); if (newp.Success) { var newprofile = ServerSupport.DeepCopy(profile.Data); var invalidChars = System.IO.Path.GetInvalidFileNameChars(); newprofile.Name = new string(newp.Name.ToCharArray() .Where(c => Array.IndexOf(invalidChars, c) == -1).ToArray()); await Model.AddProfile(newprofile); } } }
public async void NewProfile() { if (Model.SelectedAutoSelect != null) { var profile = Model.SelectedAutoSelect; var newp = new NewProfileViewModel() { Model = Model, Title = "自動選択プロファイル", Operation = "追加", IsDuplicate = Name => Model.AutoSelectList.Any( s => s.Model.Name.Equals(Name, StringComparison.OrdinalIgnoreCase)), Name = profile.Model.Name + "のコピー" }; await Messenger.RaiseAsync(new TransitionMessage( typeof(Views.NewProfileWindow), newp, TransitionMode.Modal, "FromProfile")); if (newp.Success) { var newprofile = ServerSupport.DeepCopy(profile.Model); newprofile.Name = newp.Name; await Model.AddAutoSelect(newprofile); } } }
public async void RenameProfile() { if (Model.SelectedProfile != null) { var profile = Model.SelectedProfile; var newp = new NewProfileViewModel() { Model = Model, Title = "プロファイル", Operation = "リネーム", IsDuplicate = Name => Name != profile.Data.Name && Model.ProfileList.Any( s => s.Data.Name.Equals(Name, StringComparison.OrdinalIgnoreCase)), Name = profile.Data.Name }; await Messenger.RaiseAsync(new TransitionMessage( typeof(Views.NewProfileWindow), newp, TransitionMode.Modal, "FromProfile")); if (newp.Success) { await Model.Server.SetProfile(new ProfileUpdate() { Type = UpdateType.Update, Profile = profile.Data, NewName = newp.Name }); } } }
public async void NewProfile() { if (Model.SelectedProfile != null) { var profile = Model.SelectedProfile; var newp = new NewProfileViewModel() { Model = Model, Name = profile.Data.Name + "のコピー" }; await Messenger.RaiseAsync(new TransitionMessage( typeof(Views.NewProfileWindow), newp, TransitionMode.Modal, "FromProfile")); if (newp.Success) { var newprofile = ServerSupport.DeepCopy(profile.Data); var invalidChars = System.IO.Path.GetInvalidFileNameChars(); newprofile.Name = new string(newp.Name.ToCharArray() .Where(c => Array.IndexOf(invalidChars, c) == -1).ToArray()); await Model.AddProfile(newprofile); } } }