コード例 #1
0
        public bool InsertAndUpdate()
        {
            string  sql         = string.Empty;
            Licence transaction = Licence.GetInfo(this.OldExePath);

            if (transaction == null)
            {
                sql = string.Format("INSERT INTO " + TABLE_NAME + "  (ExePath, Type, TimeInterval,MaxTime,ConcurrentLicences,LastRunStart,LastRunEnd  , Enabled) Values ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7})", SqliteDbHelper.SQLString(this.ExePath), SqliteDbHelper.SQLString(this.Type.ToString()), SqliteDbHelper.SQLNumber(this.TimeInterval), SqliteDbHelper.SQLNumber(this.MaxTime), SqliteDbHelper.SQLNumber(this.ConcurrentLicences), SqliteDbHelper.SQLDateTime(this.LastRunStart), SqliteDbHelper.SQLDateTime(this.LastRunEnd), SqliteDbHelper.SQLBoolean(this.Enabled));
            }
            else
            {
                this.LastRunEnd   = transaction.LastRunEnd;
                this.LastRunStart = transaction.LastRunStart;
                sql = string.Format("UPDATE " + TABLE_NAME + "  Set Type = {1}, TimeInterval = {2}, MaxTime ={3}, ConcurrentLicences = {4}, LastRunStart={5}, LastRunEnd={6}, Enabled = {7},ExePath = {8} WHERE ExePath = {0} ", SqliteDbHelper.SQLString(this.OldExePath), SqliteDbHelper.SQLString(this.Type.ToString()), SqliteDbHelper.SQLNumber(this.TimeInterval), SqliteDbHelper.SQLNumber(this.MaxTime), SqliteDbHelper.SQLNumber(this.ConcurrentLicences), SqliteDbHelper.SQLDateTime(this.LastRunStart), SqliteDbHelper.SQLDateTime(this.LastRunEnd), SqliteDbHelper.SQLBoolean(this.Enabled), SqliteDbHelper.SQLString(this.ExePath));
            }

            if (string.IsNullOrEmpty(SqliteDbHelper.ExecuteQuery(sql)))
            {
                _Saved = true;
                _Dirty = false;
            }
            return(_Saved);
        }
コード例 #2
0
        /// <summary>
        /// Get number of instances
        /// </summary>
        /// <param name="exePath"></param>
        /// <returns></returns>
        public static int NoOfRunningInstances(string exePath)
        {
            List <Transaction> list = new List <Transaction>();
            string             sql  = "SELECT Count(*) NoOfInstances FROM Transactions WHERE ExePath like '{0}' AND Enabled =" + SqliteDbHelper.SQLBoolean(true);

            sql = string.Format(sql, exePath);
            System.Data.DataSet transData = SqliteDbHelper.GetData(sql);
            if (transData != null)
            {
                if (transData.Tables.Count > 0)
                {
                    if (transData.Tables[0].Rows.Count > 0)
                    {
                        System.Data.DataRow dr = transData.Tables[0].Rows[0];
                        return(SqliteDbHelper.ToInt(dr["NoOfInstances"]));
                    }
                }
            }
            return(0);
        }
コード例 #3
0
        public static Transaction Get(string guid)
        {
            string sql = "SELECT Guid, ExePath,Application,ProcessId, StartedAt, EndedAt, Enabled FROM Transactions WHERE Guid = {0} AND Enabled =" + SqliteDbHelper.SQLBoolean(true);

            sql = string.Format(sql, SqliteDbHelper.SQLString(guid));
            System.Data.DataSet transData = SqliteDbHelper.GetData(sql);
            if (transData != null)
            {
                if (transData.Tables.Count > 0)
                {
                    if (transData.Tables[0].Rows.Count == 1)
                    {
                        System.Data.DataRow dr          = transData.Tables[0].Rows[0];
                        Transaction         transaction = new Transaction(SqliteDbHelper.ToString(dr["Guid"]));
                        transaction.ProcessId   = SqliteDbHelper.ToInt(dr["ProcessId"]);
                        transaction.Application = SqliteDbHelper.ToString(dr["Application"]);
                        transaction.ExeName     = SqliteDbHelper.ToString(dr["ExePath"]);
                        transaction.StartedAt   = SqliteDbHelper.ToNullableDateTime(dr["StartedAt"]);
                        transaction.EndedAt     = SqliteDbHelper.ToNullableDateTime(dr["EndedAt"]);
                        transaction.Enabled     = SqliteDbHelper.ToBoolean(dr["Enabled"]);
                        return(transaction);
                    }
                }
            }
            return(null);
        }
コード例 #4
0
        public static List <Transaction> GetAllRunning(string exePath)
        {
            List <Transaction> list = new List <Transaction>();
            string             sql  = "SELECT Guid, ExePath,ProcessId, StartedAt, Application, EndedAt, Enabled FROM Transactions WHERE Enabled =" + SqliteDbHelper.SQLBoolean(true);

            if (!string.IsNullOrEmpty(exePath))
            {
                sql += " AND ExePath =" + SqliteDbHelper.SQLString(exePath);
            }

            System.Data.DataSet transData = SqliteDbHelper.GetData(sql);
            if (transData != null)
            {
                if (transData.Tables.Count > 0)
                {
                    if (transData.Tables[0].Rows.Count > 0)
                    {
                        foreach (System.Data.DataRow dr in transData.Tables[0].Rows)
                        {
                            Transaction transaction = new Transaction(SqliteDbHelper.ToString(dr["Guid"]));
                            transaction.ProcessId   = SqliteDbHelper.ToInt(dr["ProcessId"]);
                            transaction.Application = SqliteDbHelper.ToString(dr["Application"]);
                            transaction.ExeName     = SqliteDbHelper.ToString(dr["ExePath"]);
                            transaction.StartedAt   = SqliteDbHelper.ToNullableDateTime(dr["StartedAt"]);
                            transaction.EndedAt     = SqliteDbHelper.ToNullableDateTime(dr["EndedAt"]);
                            transaction.Enabled     = SqliteDbHelper.ToBoolean(dr["Enabled"]);
                            list.Add(transaction);
                        }
                    }
                }
            }
            return(list);
        }
コード例 #5
0
        /// <summary>
        /// Save the transaction,
        /// <para>If GUID not exists then insert new </para>
        ///  <para> Otherwise Update existing</para>
        /// </summary>
        /// <param name="forceInsert">Insert a new transaction force fully</param>
        /// <returns>Return true if saved, else false</returns>
        public bool Save(bool forceInsert = false)
        {
            string sql = string.Empty;

            if (forceInsert)
            {
                sql = string.Format("INSERT INTO Transactions (Guid, ProcessId, Application, ExePath, StartedAt, EndedAt, Enabled) Values ({0}, {1}, {2}, {3}, {4}, {5}, {6})", SqliteDbHelper.SQLString(this.Guid), SqliteDbHelper.SQLNumber(this.ProcessId), SqliteDbHelper.SQLString(this.Application), SqliteDbHelper.SQLString(this.ExeName), SqliteDbHelper.SQLDateTime(this.StartedAt), SqliteDbHelper.SQLDateTime(this.EndedAt), SqliteDbHelper.SQLBoolean(this.Enabled));
            }
            else
            {
                Transaction transaction = Transaction.Get(this.Guid);
                if (transaction != null) //ByJASPREET(09/jan/2015):it insert row sometime after delete by exe successfully.
                {
                    sql = string.Format("UPDATE Transactions Set ProcessId = {0}, Application = {1},ExePath = {2}, StartedAt = {3}, EndedAt = {4}, Enabled = {5} where Guid = {6} ", SqliteDbHelper.SQLNumber(this.ProcessId), SqliteDbHelper.SQLString(this.Application), SqliteDbHelper.SQLString(this.ExeName), SqliteDbHelper.SQLDateTime(this.StartedAt), SqliteDbHelper.SQLDateTime(this.EndedAt), SqliteDbHelper.SQLBoolean(this.Enabled), SqliteDbHelper.SQLString(this.Guid));
                }
            }
            if (string.IsNullOrEmpty(SqliteDbHelper.ExecuteQuery(sql)))
            {
                _Saved = true;
                _Dirty = false;
            }
            return(_Saved);
        }