public async void RenameProfile()
{
if (SelectedProfile == null)
return;
var name = await DialogService.ShowInputDialog("Rename profile", "Please enter a unique new profile name");
// Null when the user cancelled
if (string.IsNullOrEmpty(name) || name.Length < 2)
return;
// Verify the name
while (ProfileProvider.GetAll().Any(p => p.Name == name && p.GameName == SelectedProfile.GameName &&
p.KeyboardSlug == SelectedProfile.KeyboardSlug))
{
name =
await DialogService.ShowInputDialog("Name already in use", "Please enter a unique new profile name");
// Null when the user cancelled
if (string.IsNullOrEmpty(name) || name.Length < 2)
return;
}
var profile = SelectedProfile;
SelectedProfile = null;
ProfileProvider.RenameProfile(profile, name);
LastProfile = name;
LoadProfiles();
}