コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        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);
                }
            }
        }
コード例 #3
0
        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
                    });
                }
            }
        }
コード例 #4
0
        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);
                }
            }
        }