Exemple #1
0
 internal IEnumerable <T> ExecuteTestScript <T>(string sql)
 {
     if (typeof(T) == typeof(int))
     {
         return((IEnumerable <T>)EfcIntSet.FromSqlRaw(sql).Select(x => x.Value).AsEnumerable());
     }
     if (typeof(T) == typeof(string))
     {
         return((IEnumerable <T>)EfcStringSet.FromSqlRaw(sql).Select(x => x.Value).AsEnumerable());
     }
     throw new NotSupportedException();
 }
        public string AcquireSecurityActivityExecutionLock(int securityActivityId, string lockedBy, int timeoutInSeconds)
        {
            //var result = this.Database
            //    .SqlQuery<string>(
            //        AcquireSecurityActivityExecutionLock_Script,
            //        new SqlParameter("@ActivityId", securityActivityId),
            //        new SqlParameter("@LockedBy", lockedBy ?? ""),
            //        new SqlParameter("@TimeLimit", timeoutInSeconds)).Single();
            //return result;
            var result = EfcStringSet
                         .FromSql(AcquireSecurityActivityExecutionLock_Script,
                                  new SqlParameter("@ActivityId", securityActivityId),
                                  new SqlParameter("@LockedBy", lockedBy ?? ""),
                                  new SqlParameter("@TimeLimit", timeoutInSeconds))
                         .Single();

            return(result.Value);
        }
Exemple #3
0
        public string AcquireSecurityActivityExecutionLock(int securityActivityId, string lockedBy, int timeoutInSeconds)
        {
            var query = EfcStringSet
                        .FromSqlRaw(_acquireSecurityActivityExecutionLockScript,
                                    new SqlParameter("@ActivityId", securityActivityId),
                                    new SqlParameter("@LockedBy", lockedBy ?? ""),
                                    new SqlParameter("@TimeLimit", timeoutInSeconds));

            var result = string.Empty;

            // We use foreach here instead of Single or First, because Entity Framework
            // generates an outer SELECT for those methods that result in an incorrect
            // SQL syntax.
            foreach (var item in query)
            {
                // read the first and only item and return immediately
                result = item.Value;
                break;
            }

            return(result);
        }