private async void btnLoadTemplate_Click(object sender, EventArgs e) { Cursor.Current = Cursors.WaitCursor; _templateModel = await _templateLoader.LoadTemplate(txtTemplate.Text); lstTemplate.Items.Clear(); foreach (var template in _templateModel.Templates) { lstTemplate.Items.Add(new ListViewItem(new string[] { template.Key })); } Cursor.Current = Cursors.Default; }
public async Task <TemplateCollectionModel> LoadTemplate(string path) { var result = new TemplateCollectionModel(); var collectionFolder = new DirectoryInfo(path); result.CollectionName = collectionFolder.Name; var files = collectionFolder.GetFiles("*.txt"); var tasks = new List <Task <KeyValuePair <string, string> > >(); foreach (var template in files) { tasks.Add(Task.Run(() => ReadTemplateFile(template))); } await Task.WhenAll(tasks.ToArray()).ContinueWith(x => { foreach (var value in x.Result) { result.Templates.Add(value.Key, value.Value); } }); return(result); }