private async void SaveAction()
{
GoBackAction();
string validName = await ServiceLocator.ContextService.ConvertToValidFileName(ProgramName);
string uniqueName = await ServiceLocator.ContextService.FindUniqueProgramName(validName);
if (CreateEmptyProgram)
{
CurrentProgram = await ServiceLocator.ContextService.CreateEmptyProgram(uniqueName);
string backgroundName = "Background";
var sprite = new Sprite { Name = backgroundName };
CurrentProgram.Sprites.Add(sprite);
}
else if (CreateTemplateProgram)
{
CurrentProgram = await SelectedTemplateOption.ProjectGenerator.GenerateProgram(uniqueName, true);
}
if (CurrentProgram != null)
{
await CurrentProgram.Save();
//await ServiceLocator.ContextService.
// CreateThumbnailsForNewProgram(CurrentProgram.Name);
var programChangedMessage = new GenericMessage<Program>(CurrentProgram);
Messenger.Default.Send(programChangedMessage, ViewModelMessagingToken.CurrentProgramChangedListener);
}
var localProgramsChangedMessage = new MessageBase();
Messenger.Default.Send(localProgramsChangedMessage,
ViewModelMessagingToken.LocalProgramsChangedListener);
}