//private void SaveLog() //{ // MethodInvoker mi = delegate // { // var packagefolder = Path.GetDirectoryName(packagefile); // var file = "Deploy_" + DateTime.Now.ToString("yyyyMMdd_HHmmss_") + Path.GetFileName(packagefile).Replace(".cdpkg", "") + "_" + ConnectionDetail + ".log"; // file = packagefolder + "\\" + file; // System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(file); // foreach (var item in lbLog.Items) // { // SaveFile.WriteLine(item); // } // SaveFile.Close(); // }; // if (InvokeRequired) Invoke(mi); else mi(); //} private void UpdateProgressBars(ShuffleCounter counters) { MethodInvoker mi = delegate { if (counters.Module != null) { lblCurrModule.Text = counters.Module; } if (counters.Block != null) { lblCurrBlock.Text = counters.Block; } if (counters.Item != null) { lblCurrItem.Text = counters.Item; } if (counters.Modules >= 0 && counters.ModuleNo >= 0) { pbModule.Maximum = counters.Modules; pbModule.Value = counters.ModuleNo; } if (counters.Blocks >= 0 && counters.BlockNo >= 0) { pbBlock.Maximum = counters.Blocks; pbBlock.Value = counters.BlockNo; } if (counters.Items >= 0 && counters.ItemNo >= 0) { pbRecord.Maximum = counters.Items; pbRecord.Value = counters.ItemNo; } }; if (InvokeRequired) { Invoke(mi); } else { mi(); } }
private string Deploy(List <Module> selectedModules) { var packagefolder = Path.GetDirectoryName(packagefile); logfile = Path.Combine(packagefolder, DateTime.Now.ToString("yyyyMMdd") + "_" + DateTime.Now.ToString("HHmmss") + "_" + Path.GetFileName(packagefile).Replace(".cdpkg", "") + "_" + ConnectionDetail + ".log"); var container = new CintContainer(Service, logfile); var progress = new ShuffleCounter() { Modules = selectedModules.Count }; var created = 0; var updated = 0; var skipped = 0; var deleted = 0; var failed = 0; var returnmessage = string.Empty; UpdateCounters(0, 0, 0, 0, 0, 0); try { progress.ModuleNo = 0; ClearLog(); ClearProgressBars(false); AddLogText(container, $"Deploying package: {packagefile}", false); foreach (var module in selectedModules) { progress.ModuleNo++; progress.Module = module.ToString(); UpdateProgressBars(progress); DeployShuffleDefinition(container, module, packagefolder, ref created, ref updated, ref skipped, ref deleted, ref failed); UpdateCounters(progress.ModuleNo, created, updated, deleted, skipped, failed); } ClearProgressBars(true); } catch (Exception ex) { container.Logger.Log(ex); AddLogText(container, "_______________________________________________"); AddLogText(container, "ERROR: " + ex.Message); returnmessage = ex.Message; if (container.Logger is FileLogger) { AddLogText(container, "See detailed errors in file:"); var fileName = (container.Logger as FileLogger).FileName ?? "FileName not available"; AddLogText(container, $" {fileName}"); } else { AddLogText(container, "Activate logging to get details about this problem"); } } finally { AddLogText(container, ""); AddLogText(container, "Deployment completed"); //SaveLog(); container.Logger.CloseLog(); } return(returnmessage); }