/// <summary>
        /// Gets the list of all the dependencies in the dependency hierarchy for an an activity library.
        /// </summary>
        /// <param name="request">Request that defines the root activity library for which the dependencies are to be found.</param>
        /// <returns>Response that contains a list of dependencies.</returns>
        public static List<StoreActivityLibrariesDependenciesDC> GetActivityLibraryDependencyTree(StoreActivityLibrariesDependenciesDC request)
        {
            List<StoreActivityLibrariesDependenciesDC> reply = new List<StoreActivityLibrariesDependenciesDC>();
            StoreActivityLibrariesDependenciesDC dependencies = new StoreActivityLibrariesDependenciesDC();
            dependencies.StoreDependenciesRootActiveLibrary = new StoreDependenciesRootActiveLibrary();
            dependencies.StoreDependenciesDependentActiveLibraryList = new List<StoreDependenciesDependentActiveLibrary>();
            reply.Add(dependencies);

            try
            {
                Database database = DatabaseFactory.CreateDatabase();
                DbCommand command = null;
                command = database.GetStoredProcCommand(StoredProcNames.ActivityLibraryDependencyGetTree);

                database.AddParameter(command, StoredProcParamNames.Name, DbType.String, ParameterDirection.Input, null, DataRowVersion.Default, Convert.ToString(request.StoreDependenciesRootActiveLibrary.ActivityLibraryName));
                database.AddParameter(command, StoredProcParamNames.Version, DbType.String, ParameterDirection.Input, null, DataRowVersion.Default, Convert.ToString(request.StoreDependenciesRootActiveLibrary.ActivityLibraryVersionNumber));

                using (IDataReader reader = database.ExecuteReader(command))
                {
                    while (reader.Read())
                    {
                        StoreDependenciesDependentActiveLibrary dependentLib = new StoreDependenciesDependentActiveLibrary();
                        dependentLib.ActivityLibraryDependentId = Convert.ToInt32(reader[DataColumnNames.DependentActivityLibraryId]);
                        dependentLib.ActivityLibraryParentId = reader[DataColumnNames.ActivityLibraryId] != DBNull.Value ? Convert.ToInt32(reader[DataColumnNames.ActivityLibraryId]) : 0;
                        dependencies.StoreDependenciesDependentActiveLibraryList.Add(dependentLib);
                    }

                    if (!reader.IsClosed) reader.Close();
                }
            }
            catch (SqlException e)
            {
                e.HandleException();
            }

            return reply;
        }
        /// <summary>
        /// Verify CreateActivityLibrariesDependencyList FROM mtblActivityLibraryDependencies Table..
        /// </summary>
        /// <param name="activitiyLibraryName">activitiyLibraryName to do a create or update on.</param>
        /// <param name="version">version to do a create or update on.</param>
        /// <param name="activityLibraryDependentName">activityLibraryDependentName to do a create or update on.</param>
        /// <returns>returns the id created</returns>
        private int CreateActivityLibrariesDependencyList(int activitiyLibraryId, string activitiyLibraryName, string version, 
            int activityLibraryDependentId, string activityLibraryDependentName, string versionDependent)
        {
            createOrUpdateReply = null;

            //Populate the request data
            createOrUpdateRequest = new StoreActivityLibrariesDependenciesDC();
            createOrUpdateRequest.Incaller = IN_CALLER;
            createOrUpdateRequest.UpdatedByUserAlias = USER;
            createOrUpdateRequest.InsertedByUserAlias = USER;
            createOrUpdateRequest.IncallerVersion = IN_CALLER_VERSION;

            var storeDependenciesActivityLib = new StoreDependenciesRootActiveLibrary();
            storeDependenciesActivityLib.ActivityLibraryId = activitiyLibraryId;
            storeDependenciesActivityLib.ActivityLibraryName = activitiyLibraryName;
            storeDependenciesActivityLib.ActivityLibraryVersionNumber = version;

            //Set Request StoreDependenciesRootActiveLibrary object
            createOrUpdateRequest.StoreDependenciesRootActiveLibrary = storeDependenciesActivityLib;

            var storeDependenciesDependentActiveLibraryList = new List<StoreDependenciesDependentActiveLibrary>();
            StoreDependenciesDependentActiveLibrary storeDependenciesDependentActiveLibrary = new StoreDependenciesDependentActiveLibrary();
            storeDependenciesDependentActiveLibrary.ActivityLibraryDependentId = activityLibraryDependentId;
            storeDependenciesDependentActiveLibrary.ActivityLibraryDependentName = activityLibraryDependentName;
            storeDependenciesDependentActiveLibrary.ActivityLibraryDependentVersionNumber = versionDependent;
            storeDependenciesDependentActiveLibraryList.Add(storeDependenciesDependentActiveLibrary);

            //set StoreDependenciesDependentActiveLibraryList object
            createOrUpdateRequest.StoreDependenciesDependentActiveLibraryList = storeDependenciesDependentActiveLibraryList;

            try
            {
                createOrUpdateReply = devBranchProxy.StoreActivityLibraryDependencyList(createOrUpdateRequest);
            }
            catch (FaultException e)
            {
                Assert.Fail("Failed to createOrUpdate data from mtblActivityLibraryDependencies: {0}", e.Message);
            }
            catch (Exception ex)
            {
                Assert.Fail("Failed to createOrUpdate data from mtblActivityLibraryDependencies: {0}", ex.Message);
            }

            Assert.IsNotNull(createOrUpdateReply, "StoreActivityLibrariesDependenciesDC object null");
            Assert.IsNotNull(createOrUpdateReply.StatusReply, "createOrUpdateReply.StatusReply is null");
            Assert.AreEqual(0, createOrUpdateReply.StatusReply.Errorcode, "createOrUpdateReply.StatusReply.Errorcode is not 0. Instead it is {0}.", createOrUpdateReply.StatusReply.Errorcode);

            int activityLibraryId = VerifyGetActivityLibraryDependencies(activitiyLibraryName, version, false);
            Assert.IsNotNull(getReplyList, "getReplyList is null.");
            Assert.AreNotEqual(0, getReplyList.Count, " getReply.List.Count is 0.");

            return activityLibraryId;
        }