mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-12-25 21:07:20 -08:00
62 lines
1.5 KiB
C#
62 lines
1.5 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace SourceGit.ViewModels
|
|
{
|
|
public class EditRepositoryNode : Popup
|
|
{
|
|
public string Id
|
|
{
|
|
get => _id;
|
|
set => SetProperty(ref _id, value);
|
|
}
|
|
|
|
[Required(ErrorMessage = "Name is required!")]
|
|
public string Name
|
|
{
|
|
get => _name;
|
|
set => SetProperty(ref _name, value, true);
|
|
}
|
|
|
|
public int Bookmark
|
|
{
|
|
get => _bookmark;
|
|
set => SetProperty(ref _bookmark, value);
|
|
}
|
|
|
|
public bool IsRepository
|
|
{
|
|
get => _isRepository;
|
|
set => SetProperty(ref _isRepository, value);
|
|
}
|
|
|
|
public EditRepositoryNode(RepositoryNode node)
|
|
{
|
|
_node = node;
|
|
_id = node.Id;
|
|
_name = node.Name;
|
|
_isRepository = node.IsRepository;
|
|
_bookmark = node.Bookmark;
|
|
|
|
View = new Views.EditRepositoryNode() { DataContext = this };
|
|
}
|
|
|
|
public override Task<bool> Sure()
|
|
{
|
|
bool needSort = _node.Name != _name;
|
|
_node.Name = _name;
|
|
_node.Bookmark = _bookmark;
|
|
|
|
if (needSort)
|
|
Preference.Instance.SortByRenamedNode(_node);
|
|
|
|
return null;
|
|
}
|
|
|
|
private RepositoryNode _node = null;
|
|
private string _id = null;
|
|
private string _name = null;
|
|
private bool _isRepository = false;
|
|
private int _bookmark = 0;
|
|
}
|
|
}
|