Example #1
0
        public async void Export()
        {
            string json = null;

            _serviceProvider.ExecuteScopedWork(provider =>
            {
                IDataContract contract = provider.GetRequiredService <IDataContract>();
                CodeProject project    = contract.CodeProjects.FirstOrDefault(m => m.Id == Id);
                if (project == null)
                {
                    Helper.Notify("项目信息不存在", NotificationType.Error);
                    return;
                }
                json = project.ToJsonString();
            });

            SaveFileDialog dialog = new SaveFileDialog()
            {
                Title    = $"保存项目“{GetName()}”的JSON文件",
                Filter   = "JSON文件|*.json",
                FileName = $"{GetName()}.json",
            };
            var result = dialog.ShowDialog();

            if (result != DialogResult.OK)
            {
                return;
            }

            await File.WriteAllTextAsync(dialog.FileName, json);

            MainViewModel main = IoC.Get <MainViewModel>();

            Helper.Notify($"项目“{Name}”配置文件导出成功", NotificationType.Success);
            main.StatusBar.Message = $"项目“{Name}”配置文件导出成功";
        }