public int GetCurrentWorkStatusIdForHandlerType(WorkHandlerType handlerType)
        {
            int actualStatusValue;
            var errorMessage = string.Empty;
            var sw           = new Stopwatch();

            sw.Start();

            string handlerValue;

            WorkHandlerTypeMap.TryGetValue(handlerType, out handlerValue);

            var query = "SELECT WorkStatusId FROM Work where HandlerType LIKE '%" + handlerValue + "%'";

            while (sw.Elapsed < TimeSpan.FromMinutes(MaxNumberOfMinutesToWaitForWorkStatusIdPopulated))
            {
                try
                {
                    using (var conn = new SqlConnection(ConnectionString))
                    {
                        actualStatusValue = conn.SelectColumn <int>(query, "WorkStatusId").First();
                    }
                    sw.Stop();
                    return(actualStatusValue);
                }
                catch (Exception e)
                {
                    errorMessage = e.ToString();
                }
            }
            sw.Stop();
            Console.Error.WriteLine("GetCurrentWorkStatusIdForProcessMediaHandlerType failed : {0}", errorMessage);
            throw new Exception(errorMessage.ToString());
        }
        public DateTime GetCreatedDateForHandlerType(WorkHandlerType type)
        {
            string handlerValue;

            WorkHandlerTypeMap.TryGetValue(type, out handlerValue);
            var query = "SELECT CreatedDate FROM Work WHERE HandlerType LIKE '%" + handlerValue + "%'";

            try
            {
                using (var conn = new SqlConnection(ConnectionString))
                {
                    return(conn.SelectColumn <DateTime>(query, "CreatedDate").First());
                }
            }
            catch (Exception e)
            {
                Console.Error.WriteLine("GetCreatedDateForHandlerType failed: {0}", e.Message);
                throw;
            }
        }