/// <summary>Creates baseline setting request context.</summary> /// <param name="endpoint">The endpoint.</param> /// <param name="elementId">Identifier for the element.</param> /// <param name="requestId">Identifier for the request.</param> /// <param name="sessionId">Identifier for the session.</param> /// <param name="timeout">The timeout.</param> /// <param name="baselineVersion">The baseline version.</param> /// <param name="PISBaseVersion">The pis base version.</param> /// <param name="PISMissionVersion">The pis mission version.</param> /// <param name="PISInfotainmentVersion">The pis infotainment version.</param> /// <param name="LMTVersion">The lmt version.</param> /// <returns>The new baseline setting request context.</returns> public IRequestContext CreateBaselineSettingRequestContext(string endpoint, string elementId, Guid requestId, Guid sessionId, uint timeout, string baselineVersion, string PISBaseVersion, string PISMissionVersion, string PISInfotainmentVersion, string LMTVersion) { BaselineSettingRequestContext requestContext = new BaselineSettingRequestContext(endpoint, elementId, requestId, sessionId, timeout, baselineVersion, PISBaseVersion, PISMissionVersion, PISInfotainmentVersion, LMTVersion); IRequestContextProcessor requestProcessor = new BaselineSettingRequestContextProcessor(); requestContext.RequestProcessor = requestProcessor; return(requestContext); }
/// <summary>Process the set request described by request.</summary> /// <exception cref="NotSupportedException">Thrown when the requested operation is not supported.</exception> /// <param name="request">The request.</param> private void ProcessSetRequest(IRequestContext request) { BaselineSettingRequestContext requestContext = request as BaselineSettingRequestContext; if (requestContext == null) { throw new NotSupportedException("Can't process setting baseline with a invalid request context."); } try { using (PIS.Ground.DataPackage.DataPackageTrainServiceClient lTrainDataPackageClient = new PIS.Ground.DataPackage.DataPackageTrainServiceClient("DataPackageEndpoint", requestContext.Endpoint)) { try { string requestIdStr = request.RequestId.ToString(); lTrainDataPackageClient.SetBaselineVersion(requestIdStr, requestContext.BaselineVersion, requestContext.PISBasePackageVersion, requestContext.PISMissionPackageVersion, requestContext.PISInfotainmentPackageVersion, requestContext.LmtPackageVersion); requestContext.TransmissionStatus = true; requestContext.CompletionStatus = true; } catch (Exception ex) { if (false == requestContext.OnCommunicationError(ex)) { // At this stage nothing can be done, put the request state to completed in order to be deleted. requestContext.CompletionStatus = true; } } finally { if (lTrainDataPackageClient.State == CommunicationState.Faulted) { lTrainDataPackageClient.Abort(); } } } } catch (Exception ex) { if (false == requestContext.OnCommunicationError(ex)) { requestContext.CompletionStatus = true; } } }