示例#1
0
        public GetAssignedBaselineVersionResponse GetAssignedBaselineVersion(GetAssignedBaselineVersionRequest request)
        {
            GetAssignedBaselineVersionResponse lResponse = new GetAssignedBaselineVersionResponse();

            lResponse.Result         = ResultEnumType.Failure;
            lResponse.CurrentVersion = "";
            lResponse.FutureVersion  = "";

            try
            {
                using (IRemoteDataStoreClient lRemDSProxy = DataPackageService.RemoteDataStoreFactory.GetRemoteDataStoreInstance())
                {
                    try
                    {
                        lResponse.CurrentVersion = lRemDSProxy.getAssignedCurrentBaselineVersion(request.ElementId);
                        lResponse.FutureVersion  = lRemDSProxy.getAssignedFutureBaselineVersion(request.ElementId);
                        lResponse.Result         = ResultEnumType.Success;
                    }
                    catch (FaultException fe)
                    {
                        if (fe.Code.Name == "UNKNOWN_ELEMENT_ID" || fe.Code.Name == "INVALID_ELEMENT_ID")
                        {
                            lResponse.Result = ResultEnumType.InvalidElementId;
                        }
                        else
                        {
                            PIS.Ground.Core.LogMgmt.LogManager.WriteLog(PIS.Ground.Core.Data.TraceType.EXCEPTION, "Element ID : " + request.ElementId + ". Error Code : " + fe.Code.Name + ". Error Message : " + fe.Message
                                                                        , "PIS.Ground.DataPackage.DataPackageSyncGroundService.GetAssignedBaselineVersion"
                                                                        , fe, PIS.Ground.Core.Data.EventIdEnum.DataPackage);
                            lResponse.Result = ResultEnumType.Failure;
                        }
                    }
                }
            }
            catch (TimeoutException)
            {
                lResponse.Result = ResultEnumType.RemoteDataStoreNotAccessible;
            }
            catch (CommunicationException)
            {
                lResponse.Result = ResultEnumType.RemoteDataStoreNotAccessible;
            }

            return(lResponse);
        }