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