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); }
/// <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); }
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); }
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); }
/// <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); }