Beispiel #1
0
        private static void CheckNewVersions(string strSname)
        {
            try
            {
                MyClasses._strConnection = string.Format(MyClasses._strConnection, strSname);

                var versionDb = new VersionDBDataContext(MyClasses._strConnection);
                if (File.Exists(Settings.Default.BatchHandlerName))
                {
                    File.Delete(Settings.Default.BatchHandlerName);
                }

                PUSUpdate insPUSUpdate = new PUSUpdate();
                Thread PUSUpdateThread = new Thread(insPUSUpdate.StartTestForUpdates);

                // Start Test For Update thread.
                PUSUpdateThread.Start();
                // Start PUS.
                PUSWorker.StartPUS();

                versionDb.Dispose();
            }
            catch (Exception ex)
            {
                string err = ex.Message;
            }
        }
Beispiel #2
0
        internal void StartTestForUpdates()
        {
            var versionDb = new VersionDBDataContext(MyClasses._strConnection);
            MyClasses._shouldStop = false;

            while (!MyClasses._shouldStop)
            {
                if (MyClasses.LoadNewVersions(MyClasses._strHostName, MyClasses._strHostIp, Settings.Default.ExecutableName))
                {
                    MyClasses.LoadBatchHandler(Settings.Default.BatchHandlerName);
                    frmUpdates.ShowDialog();
                    frmUpdates.Close();
                    MyClasses._shouldStop = true;
                    MyClasses.ShellNoWait(Settings.Default.BatchHandlerName, System.Diagnostics.ProcessWindowStyle.Hidden);
                    Application.Exit();
                }
                Thread.Sleep(Settings.Default.WaitForTest); // Waitin in XX second
            }
        }
Beispiel #3
0
        internal static bool LoadNewVersions(string strHostName, string strHostIp, string strAssemblyName)
        {
            bool blnUpdated = false;

            try
            {
                var versionDb = new VersionDBDataContext(_strConnection);
                string strAssemblyNames = string.Empty;
                foreach (var oneAssembly in (versionDb.AssemblyFiles.Where(oneAssembly => (oneAssembly.AssemblyProjectID == MyClasses._intProjectId))).ToList())
                {
                    _strPUSOldVersion = MyClasses.GetVersionForAnyExecutive(oneAssembly.AssemblyName);
                    _strPUSNewVersion = oneAssembly.AssemblyVersion;
                    if ((oneAssembly.AssemblyName.Equals(strAssemblyName)) && MyClasses.VersionCompare(_strPUSOldVersion, _strPUSNewVersion))
                    {

                        MyClasses.LoadAssemblyFromStore(oneAssembly.AssemblyName, MyClasses._intProjectId);
                        strAssemblyNames += string.Format("{0}, ", oneAssembly.AssemblyName);
                        blnUpdated = true;
                    }
                }

                if (blnUpdated)
                {
                    versionDb.UpdateHostLog02(MyClasses._intProjectId, strHostName, strHostIp, strAssemblyNames);
                }
                versionDb.Dispose();
            }
            catch (Exception ex)
            {
                string err = ex.Message;
            }
            return blnUpdated;
        }
Beispiel #4
0
        internal static void LoadAssemblyFromStore(string strAssemblyName, int intAssemblyProjectID)
        {
            //_strExecutableName
            Licenser.LicenseKey = MyClasses.strXceedLicenseKey;
            try
            {
                if (File.Exists(Settings.Default.ExecutableNameNew))
                {
                    File.Delete(Settings.Default.ExecutableNameNew);
                }
                if (File.Exists(strTempFileName))
                {
                    File.Delete(strTempFileName);
                }

                byte[] readByteAssembly;
                using (var versionDb = new VersionDBDataContext(_strConnection))
                {
                    readByteAssembly = versionDb.AssemblyFiles.Single(
                        one => one.AssemblyName == strAssemblyName && one.AssemblyProjectID == intAssemblyProjectID).AssemblyFiles.ToArray();
                }

                File.WriteAllBytes((strTempFileName), readByteAssembly);
                var readBlob = new FileStream(strTempFileName, FileMode.Open, FileAccess.Read);
                var destStream = new FileStream(Settings.Default.ExecutableNameNew, FileMode.Create, FileAccess.Write);

                var compStream = new CompressedStream(readBlob);
                MyClasses.StreamCopy(compStream, destStream);
                destStream.Close();
                if (File.Exists(strTempFileName))
                {
                    File.Delete(strTempFileName);
                }

            }
            catch (Exception ex)
            {
                string err = ex.Message;
            }
        }
Beispiel #5
0
        internal static void LoadBatchHandler(string strBatchHandlerName)
        {
            Licenser.LicenseKey = MyClasses.strXceedLicenseKey;
            try
            {
                var versionDb = new VersionDBDataContext(_strConnection);
                string strAssemblyNames = string.Empty;
                if (File.Exists(strBatchHandlerName))
                {
                    File.Delete(strBatchHandlerName);
                }
                if (File.Exists(strTempFileName))
                {
                    File.Delete(strTempFileName);
                }
                foreach (var oneAssembly in (versionDb.AssemblyFiles.Where(oneAssembly => (oneAssembly.AssemblyProjectID == MyClasses._intProjectId))).ToList())
                {

                    if (oneAssembly.AssemblyName.Equals(strBatchHandlerName))
                    {
                        byte[] readByteAssembly;
                        readByteAssembly = versionDb.AssemblyFiles.Single(
                            one => one.AssemblyName == strBatchHandlerName && one.AssemblyProjectID == MyClasses._intProjectId).AssemblyFiles.ToArray();

                        File.WriteAllBytes((strTempFileName), readByteAssembly);
                        var readBlob = new FileStream(strTempFileName, FileMode.Open, FileAccess.Read);
                        var destStream = new FileStream(strBatchHandlerName, FileMode.Create, FileAccess.Write);

                        var compStream = new CompressedStream(readBlob);
                        MyClasses.StreamCopy(compStream, destStream);
                        destStream.Close();
                    }
                }

                if (File.Exists(strTempFileName))
                {
                    File.Delete(strTempFileName);
                }
                versionDb.Dispose();
            }
            catch (Exception ex)
            {
                string err = ex.Message;
            }
            return;
        }