private void UploadDataPackagesButton_Click(object sender, EventArgs e)
        {
            UploadPackagesExplorer lUDPEx = new UploadPackagesExplorer();

            lUDPEx.ShowDialog(this);

            if (lUDPEx._isOk)
            {
                Application.UseWaitCursor = true;
                List <string> lPkgToUp = new List <string>();
                foreach (string lPkg in lUDPEx._listPackages)
                {
                    if (System.Text.RegularExpressions.Regex.IsMatch(System.IO.Path.GetFileName(lPkg), @"^(pisbase|pismission|pisinfotainment|lmt)-(\d+\.){3}\d+\.zip$", System.Text.RegularExpressions.RegexOptions.IgnoreCase))
                    {
                        lPkgToUp.Add(lPkg);
                    }
                }
                DataPackageTestClient.DataPackageServiceClient.DataPackageResult lUpRes = _dataPkgServiceCl.uploadDataPackages(_sid, lPkgToUp.ToArray());

                string lTxt = "---------------------------------\n";
                lTxt += "UploadDataPackages (" + DateTime.Now.ToString() + ")\n";
                lTxt += "---------------------------------\n";
                lTxt += "Request Id : " + lUpRes.reqId + "\n";
                lTxt += "Error Code : " + lUpRes.error_code + "\n";
                lock (_logtxt)
                {
                    _logtxt += lTxt;
                }
                Application.UseWaitCursor = false;
            }
        }
        private void AutoTest_Click(object sender, EventArgs e)
        {
            UploadPackagesExplorer lUDPEx = new UploadPackagesExplorer();

            lUDPEx.ShowDialog(this);

            string lTxt = "";

            DataPackageTestClient.DataPackageServiceClient.DataPackageResult lUpRes = new DataPackageTestClient.DataPackageServiceClient.DataPackageResult();

            if (lUDPEx._isOk)
            {
                Application.UseWaitCursor = true;
                List <string> lPkgToUp = new List <string>();
                List <string> lBLToUp  = new List <string>();
                foreach (string lPkg in lUDPEx._listPackages)
                {
                    if (System.Text.RegularExpressions.Regex.IsMatch(System.IO.Path.GetFileName(lPkg), @"^(pisbase|pismission|pisinfotainment|lmt)-(\d+\.){3}\d+\.zip$", System.Text.RegularExpressions.RegexOptions.IgnoreCase))
                    {
                        lPkgToUp.Add(lPkg);
                    }
                    else
                    {
                        if (System.Text.RegularExpressions.Regex.IsMatch(System.IO.Path.GetFileName(lPkg), @"^baseline-(\d+\.){3}\d+\.xml$", System.Text.RegularExpressions.RegexOptions.IgnoreCase))
                        {
                            lBLToUp.Add(lPkg);
                        }
                    }
                }

                foreach (string lBLfile in lBLToUp)
                {
                    DataPackageTestClient.DataPackageServiceClient.BaselineDefinition lBlDef = new DataPackageTestClient.DataPackageServiceClient.BaselineDefinition();

                    XmlDocument lXmlDiffDoc = new XmlDocument();
                    lXmlDiffDoc.Load(lBLfile);
                    XmlElement lXmlDiffDocRoot = lXmlDiffDoc.DocumentElement;

                    XmlNode lXmlBaselineDef = lXmlDiffDocRoot.SelectSingleNode("//Baseline");
                    foreach (XmlAttribute lAttr in lXmlBaselineDef.Attributes)
                    {
                        switch (lAttr.Name)
                        {
                        case "Version":
                            lBlDef.BaselineVersion = lAttr.Value;
                            break;

                        case "ActivationDate":
                            lBlDef.BaselineCreationDate = DateTime.Parse(lAttr.Value);
                            break;

                        default:
                            break;
                        }
                    }

                    XmlNode lXmlBaselineDescr = lXmlDiffDocRoot.SelectSingleNode("//FileDescription");
                    lBlDef.BaselineDescription = lXmlBaselineDescr.InnerText;

                    XmlNodeList lXmlPackageNodes = lXmlDiffDocRoot.SelectNodes("//Package");
                    foreach (XmlNode lXmlPackageNode in lXmlPackageNodes)
                    {
                        string lDPType    = "";
                        string lDPVersion = "";
                        foreach (XmlAttribute lAttr in lXmlPackageNode.Attributes)
                        {
                            switch (lAttr.Name)
                            {
                            case "Name":
                                lDPType = lAttr.Value.ToUpper();
                                break;

                            case "Version":
                                lDPVersion = lAttr.Value;
                                break;

                            default:
                                break;
                            }
                        }
                        switch (lDPType)
                        {
                        case "PISBASE":
                            lBlDef.PISBaseDataPackageVersion = lDPVersion;
                            break;

                        case "PISMISSION":
                            lBlDef.PISMissionDataPackageVersion = lDPVersion;
                            break;

                        case "LMT":
                            lBlDef.LMTDataPackageVersion = lDPVersion;
                            break;

                        case "PISINFOTAINMENT":
                            lBlDef.PISInfotainmentDataPackageVersion = lDPVersion;
                            break;

                        default:
                            break;
                        }
                    }
                    lUpRes = _dataPkgServiceCl.defineNewBaseline(_sid, lBlDef);
                    lTxt   = "---------------------------------\n";
                    lTxt  += "DefineNewBaseline (" + DateTime.Now.ToString() + ")\n";
                    lTxt  += "---------------------------------\n";
                    lTxt  += "Request Id : " + lUpRes.reqId + "\n";
                    lTxt  += "Error Code : " + lUpRes.error_code + "\n";
                    lock (_logtxt)
                    {
                        _logtxt += lTxt;
                    }
                }


                lUpRes = _dataPkgServiceCl.uploadDataPackages(_sid, lPkgToUp.ToArray());

                lTxt  = "---------------------------------\n";
                lTxt += "UploadDataPackages (" + DateTime.Now.ToString() + ")\n";
                lTxt += "---------------------------------\n";
                lTxt += "Request Id : " + lUpRes.reqId + "\n";
                lTxt += "Error Code : " + lUpRes.error_code + "\n";
                lock (_logtxt)
                {
                    _logtxt += lTxt;
                }
                Application.UseWaitCursor = false;
            }
        }