Пример #1
0
        private void SaveAs()
        {
            if (!this.Text.EndsWith("*"))
            {
                if (!CurrentSaving)
                {
                    RemoteSource MemberInfo = this.Tag as RemoteSource;
                    if (MemberInfo != null)
                    {
                        SaveAs SaveAsWindow = new SaveAs(MemberInfo);
                        SaveAsWindow.ShowDialog();
                        if (SaveAsWindow.Success)
                        {
                            Thread gothread = null;
                            CurrentSaving = true;
                            Editor.TheEditor.SetStatus("Saving " + MemberInfo.GetName() + "..");
                            switch (SaveAsWindow.SourceInfo().GetFS())
                            {
                            case FileSystem.QSYS:
                                gothread = new Thread((ThreadStart) delegate
                                {
                                    bool UploadResult = IBMiUtils.UploadMember(MemberInfo.GetLocalFile(), SaveAsWindow.SourceInfo().GetLibrary(), SaveAsWindow.SourceInfo().GetSPF(), SaveAsWindow.SourceInfo().GetMember());
                                    if (UploadResult == false)
                                    {
                                        MessageBox.Show("Failed to upload to " + MemberInfo.GetName() + ".");
                                    }

                                    this.Invoke((MethodInvoker) delegate
                                    {
                                        Editor.TheEditor.SetStatus(MemberInfo.GetName() + " " + (UploadResult ? "" : "not ") + "saved.");
                                    });

                                    CurrentSaving = false;
                                });
                                break;

                            case FileSystem.IFS:
                                gothread = new Thread((ThreadStart) delegate
                                {
                                    bool UploadResult = IBMiUtils.UploadFile(MemberInfo.GetLocalFile(), SaveAsWindow.SourceInfo().GetIFSPath());
                                    if (UploadResult == false)
                                    {
                                        MessageBox.Show("Failed to upload to " + MemberInfo.GetName() + "." + MemberInfo.GetExtension() + ".");
                                    }

                                    this.Invoke((MethodInvoker) delegate
                                    {
                                        Editor.TheEditor.SetStatus(MemberInfo.GetName() + "." + MemberInfo.GetExtension() + " " + (UploadResult ? "" : "not ") + "saved.");
                                    });

                                    CurrentSaving = false;
                                });
                                break;
                            }

                            if (gothread != null)
                            {
                                gothread.Start();
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("You must save the source before you can Save-As.");
                }
            }
        }