Exemple #1
0
        //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();
            }
        }
Exemple #2
0
        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);
        }