示例#1
0
        /// <summary>
        /// Export the current instance of the Person
        /// </summary>
        private async void ExportCommandExecute()
        {
            this.IsBusy = true;

            await Task.Run(async() =>
            {
                SaveFileRequestMessage exportMsg = new SaveFileRequestMessage();
                exportMsg.Title             = "Scegli il file...";
                exportMsg.SuggestedFileName = $"{this.InternalInstance.FirstName}_{this.InternalInstance.LastName}.txt";
                Messenger.Default.Send(exportMsg);

                if (exportMsg.Success)
                {
                    File.WriteAllText(exportMsg.Parameter.ToString(), "");

                    int n = new Random((int)DateTime.Now.Ticks).Next(1, 10);
                    await Task.Delay(n * 1000);

                    ShowMessage msg = new ShowMessage();
                    msg.Title       = "Conferma";
                    msg.Message     = "Esportazione completata!";
                    Messenger.Default.Send(msg);
                }
            });

            this.IsBusy = false;
        }
        private void saveFile(SaveFileRequestMessage obj)
        {
            SaveFileDialog dlg = new SaveFileDialog();

            dlg.Title    = obj.Title;
            dlg.FileName = obj.SuggestedFileName;
            var result = dlg.ShowDialog().GetValueOrDefault();

            if (result)
            {
                obj.Success   = true;
                obj.Parameter = dlg.FileName;
            }
        }