예제 #1
0
        public T GetDataAccessConnection <T>(string name) where T : IDataAccessConnection
        {
            var result = DataAccessConnections.FirstOrDefault(x => x.Name == name);

            if (result == null)
            {
                throw new Exception(string.Format("Connection with name [{0}] not found", name));
            }

            return((T)result);
        }
예제 #2
0
        /// <summary>
        /// Add DataAccessConnection for manage
        /// </summary>
        /// <param name="item">IDataAccessConnection</param>
        public void AddDataAccessConnection(IDataAccessConnection item)
        {
            if (DataAccessConnections.Contains(item))
            {
                throw new Exception(string.Format("Instance of [{0}] already exists in DataAccessConnections", item.GetType()));
            }

            if (DataAccessConnections.FirstOrDefault(x => x.Name == item.Name) != null)
            {
                throw new Exception(string.Format("Connection with name [{0}] already exists in DataAccessConnections", item.Name));
            }

            if (TransactionsCount != 0)
            {
                throw new Exception("Connection already has started transactions");
            }

            DataAccessConnections.Add(item);
        }