public EditMylistGroupDialogContext(MylistGroupEditData data, bool isCreate = false) { DialogTitle = "マイリストを" + (isCreate ? "作成" : "編集"); MylistName = new ReactiveProperty <string>(data.Name) .SetValidateAttribute(() => MylistName); MylistDescription = new ReactiveProperty <string>(data.Description); MylistIconType = new ReactiveProperty <IncoTypeVM>(IconTypeList.Single(x => x.IconType == data.IconType)); MylistIsPublicIndex = new ReactiveProperty <int>(data.IsPublic ? 0 : 1); // 公開=1 非公開=0 MylistDefaultSortIndex = new ReactiveProperty <int>((int)data.MylistDefaultSort); CanEditCompletion = MylistName.ObserveHasErrors .Select(x => !x) .ToReactiveProperty(); LastErrorMessage = MylistName.ObserveErrorChanged .Select(x => x?.OfType <string>().FirstOrDefault()) .ToReactiveProperty(); }
public EditMylistGroupDialogContext(MylistGroupEditData data, bool isCreate = false) { DialogTitle = isCreate ? "MylistCreate".Translate() : "EditMylist".Translate(); MylistName = new ReactiveProperty <string>(CurrentWindowContextScheduler, data.Name) .SetValidateAttribute(() => MylistName); MylistDescription = new ReactiveProperty <string>(CurrentWindowContextScheduler, data.Description); MylistIconType = new ReactiveProperty <IncoTypeVM>(CurrentWindowContextScheduler, IconTypeList.Single(x => x.IconType == data.IconType)); MylistIsPublicIndex = new ReactiveProperty <int>(CurrentWindowContextScheduler, data.IsPublic ? 0 : 1); // 公開=1 非公開=0 MylistDefaultSort = new ReactiveProperty <MylistDefaultSort>(CurrentWindowContextScheduler, data.MylistDefaultSort); CanEditCompletion = MylistName.ObserveHasErrors .Select(x => !x) .ToReactiveProperty(); LastErrorMessage = MylistName.ObserveErrorChanged .Select(x => x?.OfType <string>().FirstOrDefault()) .ToReactiveProperty(); }