private void pushButton_Click(object sender, EventArgs e) { string LocalFile; List <string> Commands = new List <string>(); Dictionary <string, string> PushList = new Dictionary <string, string>(); string[] Path; if (runCommands.Checked) { foreach (var Member in CreateSPFs) { Commands.Add("CRTSRCPF FILE(" + lib.Text.Trim() + "/" + Member.Key + ") RCDLEN(" + Member.Value.ToString() + ")"); } foreach (string Member in DeleteMembers) { Path = Member.Split('/'); Commands.Add("RMVM FILE(" + lib.Text.Trim() + "/" + Path[0] + ") MBR(" + Path[1] + ")"); } foreach (var Member in CreateMembers) { Path = Member.Key.Trim().Split('/'); Commands.Add("ADDPFM FILE(" + lib.Text.Trim() + "/" + Path[0] + ") MBR(" + Path[1] + ") SRCTYPE(" + Member.Value.Trim() + ")"); } } foreach (ListViewItem Member in memberLog.Items) { if (Member.Checked) { Path = Member.Text.Trim().Split('/'); LocalFile = IBMiUtils.GetLocalFile(lib.Text.Trim(), Path[0], Path[1], UploadMembers[Path[0] + '/' + Path[1]]); PushList.Add(LocalFile, "/QSYS.lib/" + lib.Text.Trim() + ".lib/" + Path[0] + ".file/" + Path[1] + ".mbr"); } } Boolean Success = IBMi.RunCommands(Commands.ToArray()); if (Success) { foreach (var File in PushList) { if (IBMi.UploadFile(File.Key, File.Value) == false) { Success = false; } } if (Success) { MessageBox.Show("Push to server was successful."); MemberCache.EditsClear(); this.Close(); } else { MessageBox.Show("Push to server was not successful (stage 2)"); } } else { MessageBox.Show("Push to server was not successful (stage 1)"); } }