/// <summary> /// Performs input validation and gets activity libraries that match with search /// parameters without including assemblies. /// </summary> /// <param name="request">GetLibraryAndActivitiesDC.</param> /// <returns>GetLibraryAndActivitiesDC object.</returns> public static GetAllActivityLibrariesReplyDC GetActivityLibrariesWithoutDlls(GetAllActivityLibrariesRequestDC request) { ActivityLibraryDC newRequest = null; if (request != null) { newRequest = new ActivityLibraryDC(); newRequest.Name = null; newRequest.VersionNumber = null; newRequest.Incaller = request.Incaller; newRequest.IncallerVersion = request.IncallerVersion; } GetAllActivityLibrariesReplyDC reply = new GetAllActivityLibrariesReplyDC(); try { // Validates the input and throws ValidationException for any issues found. newRequest.ValidateGetRequest(); // Gets the activity libraries that match search criteria. reply.List = ActivityLibraryRepositoryService.GetActivityLibraries(newRequest, false); } catch (ValidationException e) { e.HandleException(); } catch (DataAccessException e) { e.HandleException(); } return reply; }
/// <summary> /// Verify GET ALL FROM etblActivityLibraries Table for invalid request object /// </summary> private void VerifyGetAllActivityLibrariesForInvalidRequestObject() { getAllActivityLibrariesRequestDC = new GetAllActivityLibrariesRequestDC(); getAllActivityLibrariesReplyDC = null; getAllActivityLibrariesReplyDC = devBranchProxy.GetAllActivityLibraries(getAllActivityLibrariesRequestDC); }
/// <summary> /// Verify GET ALL FROM etblActivityLibraries Table /// </summary> private void GetAllActivityLibraries() { getAllActivityLibrariesRequestDC = new GetAllActivityLibrariesRequestDC(); getAllActivityLibrariesReplyDC = null; //Populate the request data getAllActivityLibrariesRequestDC.Incaller = IN_CALLER; getAllActivityLibrariesRequestDC.IncallerVersion = IN_CALLER_VERSION; getAllActivityLibrariesRequestDC.InInsertedByUserAlias = USER; getAllActivityLibrariesRequestDC.InUpdatedByUserAlias = USER; getAllActivityLibrariesReplyDC = devBranchProxy.GetAllActivityLibraries(getAllActivityLibrariesRequestDC); Assert.IsNotNull(getAllActivityLibrariesReplyDC, "getAllActivityLibrariesReplyDC is null"); Assert.IsNotNull(getAllActivityLibrariesReplyDC.List, "getAllActivityLibrariesReplyDC.List is null"); Assert.AreNotEqual(0, getAllActivityLibrariesReplyDC.List.Count, "getAllActivityLibrariesReplyDC.List is empty"); Assert.IsTrue(getAllActivityLibrariesReplyDC.List.Count > 1); // Expecting many items to return. Better to perform precise initialization and assert the expected count dynamically. }
/// <summary> /// Get ActivityLibrary row(s) /// </summary> /// <param name="request">request object</param> /// <returns>ActivityLibraryDC object</returns> public GetAllActivityLibrariesReplyDC GetAllActivityLibraries(GetAllActivityLibrariesRequestDC request) { GetAllActivityLibrariesReplyDC reply = null; try { reply = ActivityLibraryBusinessService.GetActivityLibrariesWithoutDlls(request); } catch (BusinessException e) { e.HandleException(); } catch (Exception e) { // Handles unhandled exception. e.HandleException(); } return reply; }
/// <summary> /// The initialize. /// </summary> public void LoadLiveData(IWorkflowsQueryService client) { GetAllActivityLibrariesReplyDC reply; // gets the version for an ActivityAssemblyItem, or an empty string if it is null Func<ActivityAssemblyItem, string> getVersion = item => null == item.Version ? string.Empty : item.Version.ToString(); // checks to see if an ActivityAssemblyItem is already in the ActivityAssemblyItemCollection Func<ActivityLibraryDC, bool> isAlreadyInCollection = activityLibrary => ActivityAssemblyItemCollection .Any(activityAssemblyItem => activityAssemblyItem.Name == activityLibrary.Name && getVersion(activityAssemblyItem) == activityLibrary.VersionNumber); // Load from local caching Caching .ActivityAssemblyItems .ToList() .ForEach(activityAssemblyItem => ActivityAssemblyItemCollection.Add(activityAssemblyItem)); // Get the list of libraries that are on the server try { var request = new GetAllActivityLibrariesRequestDC { Incaller = Environment.UserName, IncallerVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString() }; reply = client.GetAllActivityLibraries(request); } catch (FaultException<ServiceFault> ex) { throw new CommunicationException(ex.Detail.ErrorMessage); } catch (FaultException<ValidationFault> ex) { throw new BusinessValidationException(ex.Detail.ErrorMessage); } catch (Exception ex) { throw new CommunicationException(ex.Message); } // Require a pre-check since the list is not reliably instantiated // by the WCF service if ((null != reply) && (null != reply.List)) { // Each library which isn't already locally cached // should show up on the Select screen as a library // available on the server reply .List .Where(activityLibrary => !string.IsNullOrEmpty(activityLibrary.Name) && activityLibrary.HasExecutable && !isAlreadyInCollection(activityLibrary)) .ToList() .ForEach(activityLibrary => { var item = DataContractTranslator.ActivityLibraryDCToActivityAssemblyItem(activityLibrary); item.CachingStatus = CachingStatus.Server; ActivityAssemblyItemCollection.Add(item); }); } }