Catrobat.IDE.Core.ViewModels.Main.AddNewProgramViewModel.SaveAction C# (CSharp) Метод

SaveAction() приватный Метод

private SaveAction ( ) : void
Результат void
        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);
        }