CAA Web Services Home |
|
Source code for CAAENOVWSProdStructConfigCppUseCaseCar |
Use Case Source code dot net example |
List of method in CAAENOVWSProdStructConfigCppUseCaseCar.
To go back to Consuming the ENOVWSProdStructConfigCpp CAA Web Service
// COPYRIGHT DASSAULT SYSTEMES 2006 // ============================================================================ // This class provides a sample use case scenario that illustrates the // ENOVWSChgMgmtCpp CAA Web service. // ============================================================================ using System; using System.Net; using System.Text; using enoposapplicationbinderimpl = com.dassault_systemes.caaplmsecurity.caaenoposappbinderdotnet1_1clientbase.enoposapplicationbinderimpl; using enovwsquerycpp = com.dassault_systemes.caaenovws.caaenovwsdotnet1_1clientbase.enovwsquerycpp; using enovwschgmgmtcpp = com.dassault_systemes.caaenovws.caaenovwsdotnet1_1clientbase.enovwschgmgmtcpp; using enovwscntmgmtcpp = com.dassault_systemes.caaenovws.caaenovwsdotnet1_1clientbase.enovwscntmgmtcpp; using enovwsprodstructcpp = com.dassault_systemes.caaenovws.caaenovwsdotnet1_1clientbase.enovwsprodstructcpp; using enovwsprodstructconfigcpp = com.dassault_systemes.caaenovws.caaenovwsdotnet1_1clientbase.enovwsprodstructconfigcpp; using com.dassault_systemes.caaenovws.caaenovwsdotnet1_1clientbase; namespace com.dassault_systemes.caaenovws.caaenovwsdotnet1_1client { /// <summary> /// Class to demonstrate a sample usage scenario of the ENOVWSChgMgmtCpp CAA Web service. /// </summary> public class CAAENOVWSProdStructConfigCppUseCaseCar { private String uKey = null; private String carPRC = null; //Unique identification (UUID) //CPV = configured part version //PV unconfigured part version //II Item instance private String exhaustCPV = null; private String rearWDPV = null; private String frontWDPV = null; private String allWDPV = null; private String fourWDPV = null; private String tailSmallPV = null; private String tailLargePV = null; //document private String ownerManualDOC = null; //item instance uuid private String exhaustCII = null; private String rearWDII = null; private String frontWDII = null; private String tailSmallII = null; private String tailLargeII = null; //mods UUIDs private String rearWDMod = null; private String frontWDMod = null; private String allWDMod = null; private String fourWDMod = null; private String exhaustMod = null; private String tailSmallMod = null; private String tailLargeMod = null; //configHandler UUIDs private String carConfgHUnit1 = null; private String carConfgHUnit40 = null; private String carConfgHUnit51 = null; private String carConfgHUnit80 = null; private String carConfgHUnit91 = null; //-V_ID of the parts. private String rearWDPV_ID = null; private String frontWDPV_ID = null; private String allWDPV_ID = null; private String fourWDPV_ID = null; private String tailSmallPV_ID = null; private String tailLargePV_ID = null; private String exhaustCPV_ID = null; private String carAction1 = null; public CAAENOVWSProdStructConfigCppUseCaseCar(String prc, String key) { this.carPRC = prc; this.uKey = "-" + key; this.rearWDPV_ID = "rearWDPV" +uKey; this.frontWDPV_ID = "frontWDPV" +uKey; this.allWDPV_ID = "allWDPV" +uKey; this.fourWDPV_ID = "fourWDPV" +uKey; this.tailSmallPV_ID = "tailSmallPV" +uKey; this.tailLargePV_ID = "tailLargePV" +uKey; this.exhaustCPV_ID = "exhaustCPV" +uKey; } public String GetCarPRC() { return carPRC; } public String GetExhaustCII() { return exhaustCII; } /// <summary> /// creatPartVersionObjects /// Create a configured PV : Exhaust /// Create the following un-configured PV: /// Rear Wheel Drive, Front Wheel Drive, All Wheel Drive,Four Wheel Drive,Tail Small,Tail Large /// </summary> public void CreatPartVersionObjects(enovwsprodstructcpp.CAAENOVWSProdStructCppWrapper psWrapper) { Console.Out.WriteLine("->create car parts."); bool success = false; Exception exception = null; try { //create configured PV Exhaust String envDomain = "PRODUCT"; String configurable = "TRUE"; String[] partNumbers = { exhaustCPV_ID}; enovwsprodstructcpp.ENOVIA createPartRefResultSet = psWrapper.CreatePartRef(partNumbers,envDomain, configurable); String[] partRefUUIDs = psWrapper.GetENOVIA_VPMPartVersionUUIDs(createPartRefResultSet); if (partRefUUIDs.Length != 1) { throw new Exception("Failed to create the just 1 part references"); } exhaustCPV = partRefUUIDs[0]; //create unconfigured PVs configurable = "FALSE"; String[] partCollection_ID = { rearWDPV_ID,frontWDPV_ID,allWDPV_ID,fourWDPV_ID,tailSmallPV_ID,tailLargePV_ID}; enovwsprodstructcpp.ENOVIA createPartRefResultSetB = psWrapper.CreatePartRef(partCollection_ID,envDomain, configurable); String[] partRefUUIDsB = psWrapper.GetENOVIA_VPMPartVersionUUIDs(createPartRefResultSetB); if (partRefUUIDsB.Length != 6) { throw new Exception("Failed to create the just 6 part references"); } rearWDPV = partRefUUIDsB[0]; frontWDPV = partRefUUIDsB[1]; allWDPV = partRefUUIDsB[2]; fourWDPV = partRefUUIDsB[3]; tailSmallPV = partRefUUIDsB[4]; tailLargePV = partRefUUIDsB[5]; success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("create car parts.- sucess."); else throw new Exception("create car parts. - failure."); }//[Top] /// <summary> /// Create car owner manual document /// </summary> public void CreatDocumentObjects(enovwscntmgmtcpp.CAAENOVWSCntMgmtCppWrapper cntWrapper) { Console.Out.WriteLine("->create a document CAR owner manual."); bool success = false; Exception exception = null; try { String docId = "PSCWSDoc"+uKey; String docName = "carOwnerManual"+uKey; String domain = "DOCDIR"; enovwscntmgmtcpp.ENOVIA createDocResultSet1 = cntWrapper.CreateDocument(docId,docName,domain); String[] docUUIDs1 = cntWrapper.GetENOVIA_VPMDocumentRevisionUUIDs(createDocResultSet1); if (docUUIDs1.Length != 1) { throw new Exception("Failed to create the 1 document"); } ownerManualDOC = docUUIDs1[0]; success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("create a document CAR - sucess."); else throw new Exception("create a document CAR - failure."); }//[Top] /// <summary> /// buildProdStruct as follows /// - Add Child Part Service on Exhaust /// Pass in the following parts: Tail Small, Tail Large /// </summary> public void BuildProdStructExhaust(enovwsprodstructcpp.CAAENOVWSProdStructCppWrapper psWrapper) { Console.Out.WriteLine("->BuildProdStructExhaust:"); Exception exception = null; bool success = false; try { //add Child Part Service on Exhaust String[] partRefUUIDs2 = {tailSmallPV,tailLargePV}; enovwsprodstructcpp.ENOVIA createPartInstResultSet2 = psWrapper.CreatePartInst(exhaustCII, partRefUUIDs2); String[] vpmBOPartInstanceUUIDArray2 = psWrapper.GetVPMBOPartInstanceUUIDs(createPartInstResultSet2); if (vpmBOPartInstanceUUIDArray2.Length != 2) { throw new Exception("Failed to create just the 2 part instances on the Exhaust"); } tailSmallII = vpmBOPartInstanceUUIDArray2[0]; tailLargeII = vpmBOPartInstanceUUIDArray2[1]; success = true; } catch (Exception e) { exception = e;; } if (success) Console.Out.WriteLine("buildProdStruct - sucess."); else throw new Exception("buildProdStruct - failure."); }//[Top] /// <summary> /// buildProdStruct as follows /// - Add Child Part Service on CAR /// Pass in the following parts: /// Rear Wheel Drive /// Front Wheel Drive /// TExhaust /// </summary> public void BuildProdStructCAR(enovwsprodstructcpp.CAAENOVWSProdStructCppWrapper psWrapper) { Console.Out.WriteLine("->BuildProdStructCAR."); Exception exception = null; bool success = false; try { // Add Child Parts on CAR String[] partRefUUIDs1 = {rearWDPV,frontWDPV,exhaustCPV}; enovwsprodstructcpp.ENOVIA createPartInstResultSet1 = psWrapper.CreatePartInst(carPRC, partRefUUIDs1); String[] vpmBOPartInstanceUUIDArray1 = psWrapper.GetVPMBOPartInstanceUUIDs(createPartInstResultSet1); if (vpmBOPartInstanceUUIDArray1.Length != 3) { throw new Exception("Failed to create just the 3 part instances on the Car"); } rearWDII = vpmBOPartInstanceUUIDArray1[0]; frontWDII = vpmBOPartInstanceUUIDArray1[1]; exhaustCII = vpmBOPartInstanceUUIDArray1[2]; success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("buildProdStruct - sucess."); else throw new Exception("buildProdStruct - failure."); }//[Top] /// <summary> /// Create the following mods using Create Mod Service on CAR configured object /// Rear Wheel Drive(Engineering;unit 1-50) /// Front Wheel Drive(Engineering; unit 51-100 /// All Wheel Drive (Engineering; unit 35-50) /// Four Wheel Drive (Engineering unit 80-90) /// Exhaust(Engineering;unit 1-100) /// </summary> public void CreatModsForCar(enovwsprodstructconfigcpp.CAAENOVWSProdStructConfigCppWrapper pscWrapper) { Console.Out.WriteLine("->CreatModsForCar"); bool success = false; Exception exception = null; try { String rearWheel_MOD = "MODRear Wheel"+uKey; String frontWheel_MOD = "MODFront Wheel"+uKey; String allWheel_MOD = "MODAll Wheel"+uKey; String fourWheel_MOD = "MODFour Wheel"+uKey; String exhaust_MOD = "exhaustMod"+uKey; Console.Out.WriteLine("Creating Mod - Rear Wheel Drive(Engineering;unit 1-50) "); String iRearWheelExp = CAAENOVWSUtils.crtModConfigExp (rearWheel_MOD,"Engineering Effectivity","1","50"); enovwsprodstructconfigcpp.ENOVIA rearWheelResultSet = pscWrapper.CreateModification(carPRC, iRearWheelExp); rearWDMod = pscWrapper.GetENOVIA_EFF_MOD_UUID(rearWheelResultSet); Console.Out.WriteLine("Creating Mod - Rear Wheel Drive(Engineering;unit 51-100) "); String iFrontWheelExp = CAAENOVWSUtils.crtModConfigExp (frontWheel_MOD,"Engineering Effectivity","51","100"); enovwsprodstructconfigcpp.ENOVIA frontWheelResultSet = pscWrapper.CreateModification(carPRC, iFrontWheelExp); frontWDMod = pscWrapper.GetENOVIA_EFF_MOD_UUID(frontWheelResultSet); Console.Out.WriteLine("Creating Mod - Rear Wheel Drive(Engineering;unit 35-50) "); String iAllWheelExp = CAAENOVWSUtils.crtModConfigExp (allWheel_MOD,"Engineering Effectivity","35","50"); enovwsprodstructconfigcpp.ENOVIA allWheelResultSet = pscWrapper.CreateModification(carPRC, iAllWheelExp); allWDMod = pscWrapper.GetENOVIA_EFF_MOD_UUID(allWheelResultSet); Console.Out.WriteLine("Creating Mod - Rear Wheel Drive(Engineering;unit 80-90) "); String iFourWheelExp = CAAENOVWSUtils.crtModConfigExp (fourWheel_MOD,"Engineering Effectivity","80","90"); enovwsprodstructconfigcpp.ENOVIA fourWheelResultSet = pscWrapper.CreateModification(carPRC, iFourWheelExp); fourWDMod = pscWrapper.GetENOVIA_EFF_MOD_UUID(fourWheelResultSet); Console.Out.WriteLine("Creating Mod - Exhaust(Engineering;unit 1-100) "); String iExhaust = CAAENOVWSUtils.crtModConfigExp (exhaust_MOD,"Engineering Effectivity","1","100"); enovwsprodstructconfigcpp.ENOVIA exhaustResultSet = pscWrapper.CreateModification(carPRC, iExhaust); exhaustMod = pscWrapper.GetENOVIA_EFF_MOD_UUID(exhaustResultSet); success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("creatModsForCar - sucess."); else throw new Exception("creatModsForCar - failure."); }//[Top] /// <summary> /// Create the following mods using Create Mod Service on Exhaust configured object /// Tail Small (Engineering; unit 1-25, unit 51-75) /// Tail Large (Engineering; unit 26-50, 76-100) /// </summary> public void CreatModsForExhaust(enovwsprodstructconfigcpp.CAAENOVWSProdStructConfigCppWrapper pscWrapper) { Console.Out.WriteLine("->CreatModsForExhaust."); bool success = false; Exception exception = null; try { String TailSmall = "MODTailSmall"+uKey; String TailLarge = "MODTailLarge"+uKey; StringBuilder iModConfigExpTailSmall = new StringBuilder(); iModConfigExpTailSmall.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); iModConfigExpTailSmall.Append("<ENOVIA_MODIFICATION NAME=\""); iModConfigExpTailSmall.Append(TailSmall); iModConfigExpTailSmall.Append("\"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"Configuration_Final.xsd\">"); iModConfigExpTailSmall.Append("<MOD_DOMAIN>"); iModConfigExpTailSmall.Append("<EFF_DOMAIN NAME=\"Engineering Effectivity\">"); iModConfigExpTailSmall.Append("<MOD_EFFECTIVITY>"); iModConfigExpTailSmall.Append("<EFF_TYPE>"); iModConfigExpTailSmall.Append("<RANGE_RANGE END=\"25\" START=\"1\"/>"); iModConfigExpTailSmall.Append("<RANGE_RANGE END=\"75\" START=\"51\"/>"); iModConfigExpTailSmall.Append("</EFF_TYPE>"); iModConfigExpTailSmall.Append("</MOD_EFFECTIVITY>"); iModConfigExpTailSmall.Append("</EFF_DOMAIN>"); iModConfigExpTailSmall.Append("</MOD_DOMAIN>"); iModConfigExpTailSmall.Append("</ENOVIA_MODIFICATION>"); String iTailSmallExp = iModConfigExpTailSmall.ToString(); Console.Out.WriteLine("Creating Mod - Tail Small (Engineering; unit 1-25) "); enovwsprodstructconfigcpp.ENOVIA tailSmallResultSet = pscWrapper.CreateModification(exhaustCPV, iTailSmallExp); String tailSmall_MOD = pscWrapper.GetENOVIA_EFF_MOD_UUID(tailSmallResultSet); StringBuilder iModConfigExpTailLarge = new StringBuilder(); iModConfigExpTailLarge.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); iModConfigExpTailLarge.Append("<ENOVIA_MODIFICATION NAME=\" "); iModConfigExpTailLarge.Append(TailLarge); iModConfigExpTailLarge.Append("\"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"Configuration_Final.xsd\"> "); iModConfigExpTailLarge.Append("<MOD_DOMAIN>"); iModConfigExpTailLarge.Append("<EFF_DOMAIN NAME=\"Engineering Effectivity\">"); iModConfigExpTailLarge.Append("<MOD_EFFECTIVITY>"); iModConfigExpTailLarge.Append("<EFF_TYPE>"); iModConfigExpTailLarge.Append("<RANGE_RANGE END=\"50\" START=\"26\"/>"); iModConfigExpTailLarge.Append("<RANGE_RANGE END=\"100\" START=\"76\"/>"); iModConfigExpTailLarge.Append("</EFF_TYPE>"); iModConfigExpTailLarge.Append("</MOD_EFFECTIVITY>"); iModConfigExpTailLarge.Append("</EFF_DOMAIN>"); iModConfigExpTailLarge.Append("</MOD_DOMAIN>"); iModConfigExpTailLarge.Append("</ENOVIA_MODIFICATION>"); String iTailLargeExp = iModConfigExpTailLarge.ToString(); Console.Out.WriteLine("Creating Mod - Tail Large (Engineering; unit 76-100) "); enovwsprodstructconfigcpp.ENOVIA tailLargeResultSet = pscWrapper.CreateModification(exhaustCPV, iTailLargeExp); String tailLarge_MOD = pscWrapper.GetENOVIA_EFF_MOD_UUID(tailLargeResultSet); tailSmallMod = tailSmall_MOD; tailLargeMod = tailLarge_MOD; success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("CreatModsForExhaust - sucess."); else throw new Exception("CreatModsForExhaust- failure."); }//[Top] /// <summary> /// Create the following config handlers: /// CAR 1(unit 1-1) /// CAR 40(unit 40-40) /// CAR 51(unit 51-51) /// CAR 80(unit 80-80) /// CAR broken(unit 91-91) /// </summary> public void CreatConfigHandlers(enovwsprodstructconfigcpp.CAAENOVWSProdStructConfigCppWrapper pscWrapper) { Console.Out.WriteLine("->CreatConfigHandlers."); bool success = false; Exception exception = null; try { Console.Out.WriteLine("Creating CH - CAR 1 (Engineering; unit 1-1) "); String car1_Name = "CHCAR1"+uKey; String iCAR_1 = CAAENOVWSUtils.crtConfigHandlerExp(car1_Name,"CAR with Range1" ,"Engineering Effectivity","1","1"); enovwsprodstructconfigcpp.ENOVIA carRS_1 = pscWrapper.CreateConfigHandler(carPRC, iCAR_1); String carCH_1 = pscWrapper.GetENOVIA_CFHANDLER_UUID(carRS_1); String car40_Name = "CHCAR40"+uKey; Console.Out.WriteLine("Creating CH - CAR 40 (Engineering; unit 40-40) "); String iCAR_40 = CAAENOVWSUtils.crtConfigHandlerExp(car40_Name,"CAR with Range40" ,"Engineering Effectivity","40","40"); enovwsprodstructconfigcpp.ENOVIA carRS_40 = pscWrapper.CreateConfigHandler(carPRC, iCAR_40); String carCH_40 = pscWrapper.GetENOVIA_CFHANDLER_UUID(carRS_40); String car51_Name = "CHCAR51"+uKey; Console.Out.WriteLine("Creating CH - CAR 51 (Engineering; unit 51-51) "); String iCAR_51 = CAAENOVWSUtils.crtConfigHandlerExp(car51_Name,"CAR with Range51" ,"Engineering Effectivity","51","51"); enovwsprodstructconfigcpp.ENOVIA carRS_51 = pscWrapper.CreateConfigHandler(carPRC, iCAR_51); String carCH_51 = pscWrapper.GetENOVIA_CFHANDLER_UUID(carRS_51); String car80_Name = "CHCAR80"+uKey; Console.Out.WriteLine("Creating CH - CAR 80 (Engineering; unit 80-80) "); String iCAR_80 = CAAENOVWSUtils.crtConfigHandlerExp(car80_Name,"CAR with Range80" ,"Engineering Effectivity","80","80"); enovwsprodstructconfigcpp.ENOVIA carRS_80 = pscWrapper.CreateConfigHandler(carPRC, iCAR_80); String carCH_80 = pscWrapper.GetENOVIA_CFHANDLER_UUID(carRS_80); String car91_Name = "CHCAR91"+uKey; Console.Out.WriteLine("Creating CH - CAR broken (Engineering; unit 91-91) "); String iCAR_91 = CAAENOVWSUtils.crtConfigHandlerExp(car91_Name,"CAR with Range91" ,"Engineering Effectivity","91","91"); enovwsprodstructconfigcpp.ENOVIA carRS_91 = pscWrapper.CreateConfigHandler(carPRC, iCAR_91); String carCH_91 = pscWrapper.GetENOVIA_CFHANDLER_UUID(carRS_91); //configHandler UUIDIds carConfgHUnit1 = carCH_1; carConfgHUnit40 = carCH_40; carConfgHUnit51 = carCH_51; carConfgHUnit80 = carCH_80; carConfgHUnit91 = carCH_91; success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("CreatConfigHandlers - sucess."); else throw new Exception("CreatConfigHandlers - failure."); }//[Top] /// <summary> /// Change Management /// Create Action using Create Action Service Action make CAR /// </summary> public void CreatAction(enovwschgmgmtcpp.CAAENOVWSChgMgmtCppWrapper chgWrapper) { Console.Out.WriteLine("->create a action CAR owner manual."); bool success = false; Exception exception = null; try { String actionId = "PSCWSAction"+uKey; String[] actionsID = {actionId}; String actionDomain = "APLAFL"; String actionPriority = "Routine"; enovwschgmgmtcpp.ENOVIA newAction = chgWrapper.CreateAction( actionsID, actionDomain, actionPriority); String[] newActionUUIDs = chgWrapper.GetENOVIA_Action_DesignUUIDs(newAction); if (newActionUUIDs.Length != 1) { throw new Exception("Failed to create action" + newActionUUIDs); } carAction1 = newActionUUIDs[0]; success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("create an action CAR - sucess."); else throw new Exception("create an action CAR - failure."); }//[Top] /// <summary> /// Add Associate Object Service to Exhaust configured object on Action make CAR /// Pass in the following mods: /// Tail Small /// Tail Large /// </summary> public void AddAssociatedObjectsToExhaust(enovwschgmgmtcpp.CAAENOVWSChgMgmtCppWrapper chgWrapper) { Console.Out.WriteLine("->AddAssociatedObjectsToExhaus."); bool success = false; Exception exception = null; try { String[] associateMods = {tailSmallMod,tailLargeMod}; chgWrapper.AddAssociatedObject(carAction1,exhaustCPV,associateMods); success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("add associated object CAR PRC on action - sucess."); else throw new Exception("add associated object CAR PRC on action - failure."); }//[Top] /// <summary> /// Add Associated Object Service CAR configured object on Action make CAR /// Pass in the following mods: /// Rear Wheel Drive, Front Wheel Drive, All Wheel Drive and Four Wheel Drive /// </summary> public void AddAssociatedObjectsToCar(enovwschgmgmtcpp.CAAENOVWSChgMgmtCppWrapper chgWrapper) { Console.Out.WriteLine("->AddAssociatedObjectsToCar."); bool success = false; Exception exception = null; try { String[] associateMods = {rearWDMod,frontWDMod,allWDMod,fourWDMod}; chgWrapper.AddAssociatedObject(carAction1,carPRC,associateMods); success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("add associated object CAR Exhaust on action - sucess."); else throw new Exception("add associated object CAR Exhaust on action - failure."); }//[Top] /// <summary> /// Add Affected Object Service CAR Owner Manual /// </summary> public void AddAffectedObjects(enovwschgmgmtcpp.CAAENOVWSChgMgmtCppWrapper chgWrapper) { Console.Out.WriteLine("->add affected object CAR owner manual on action."); bool success = false; Exception exception = null; try { String[] inputAO = {ownerManualDOC}; String[] outputAO = {}; chgWrapper.AddAffectedObject(carAction1,inputAO,outputAO); success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("add affected object CAR owner manual - sucess."); else throw new Exception("add affected object CAR owner manual - failure."); }//[Top] /// <summary> //Get Affected Object S /// </summary> public void GetAffectedObjects(enovwschgmgmtcpp.CAAENOVWSChgMgmtCppWrapper chgWrapper) { Console.Out.WriteLine("->get affected objects on action."); bool success = false; Exception exception = null; try { String[] objTypes = null; enovwschgmgmtcpp.ENOVIA affectedObjectsResultSet = chgWrapper.GetAffectedObjects(carAction1, objTypes, null); // you need the size here ... CAAENOVWSUtils.DisplayResults(affectedObjectsResultSet, 99); success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("get affected objects on action - sucess."); else throw new Exception("get affected objects on action - failure."); }//[Top] /// <summary> // GetAndResolveOperations /// </summary> /// public void GetAndResolveOperationsExhaust(enovwsprodstructconfigcpp.CAAENOVWSProdStructConfigCppWrapper pscWrapper) { Console.Out.WriteLine("->GetAndResolveOperationsExhaust - Config product Structure."); bool success = false; Exception exception = null; try { Console.Out.WriteLine("Get All Operations on the input."); enovwsprodstructconfigcpp.OperationStructure [] valOpers = pscWrapper.GetOpers(exhaustCII); int lenOper = valOpers.Length; Console.Out.WriteLine("Number of Operations found "+ lenOper); for(int i=0;i<lenOper;i++) { String operStr=valOpers[i].Operation; Console.Out.WriteLine("Operation "+operStr); String partName = CAAENOVWSUtils.ParseOperation(operStr); enovwsprodstructconfigcpp.Identifier objID = valOpers[i].OperandObjId1; Console.Out.WriteLine("Operation "+operStr); //Console.Out.WriteLine("------The type of object------"+objStr); enovwsprodstructconfigcpp.OperationStructure[] resolveOperStruct = new enovwsprodstructconfigcpp.OperationStructure[1]; enovwsprodstructconfigcpp.OperationStructure operStruct = new enovwsprodstructconfigcpp.OperationStructure(); operStruct.OperandObjId1 = objID; operStruct.OperandObjId2 = valOpers[i].OperandObjId2; operStruct.ConfigViewId3 = valOpers[i].ConfigViewId3; operStruct.Operation = operStr; //Add the operStruct to the array resolveOperStruct[0]=operStruct; //Add the array to the holder enovwsprodstructconfigcpp.OperationStructure [] iOperations = resolveOperStruct; if((operStr.IndexOf(tailSmallPV_ID) > 0)) { Console.Out.WriteLine("The Part Name = " +tailSmallPV_ID); pscWrapper.ResolveOpers(tailSmallMod, iOperations); } else if((operStr.IndexOf(tailLargePV_ID) > 0)) { Console.Out.WriteLine("The Part Name = " +tailLargePV_ID); pscWrapper.ResolveOpers(tailLargeMod, iOperations); } } success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("GetAndResolveOperationsExhaust - sucess."); else throw new Exception("GetAndResolveOperationsExhaust - failure."); }//[Top] /// <summary> // GetAndResolveOperations /// </summary> /// public void GetAndResolveOperationsCAR(enovwsprodstructconfigcpp.CAAENOVWSProdStructConfigCppWrapper pscWrapper) { Console.Out.WriteLine("->GetAndResolveOperationsCAR - Config product Structure."); bool success = false; Exception exception = null; try { Console.Out.WriteLine("Get All Operations on the input."); enovwsprodstructconfigcpp.OperationStructure [] valOpers = pscWrapper.GetOpers(carPRC); int lenOper = valOpers.Length; Console.Out.WriteLine("Number of Operations found "+ lenOper); for(int i=0;i<lenOper;i++) { String operStr=valOpers[i].Operation; Console.Out.WriteLine("Operation "+operStr); String partName = CAAENOVWSUtils.ParseOperation(operStr); enovwsprodstructconfigcpp.Identifier objID = valOpers[i].OperandObjId1; Console.Out.WriteLine("Operation "+operStr); Console.Out.WriteLine("The Part Name = " +partName); //Console.Out.WriteLine("------The type of object------"+objStr); enovwsprodstructconfigcpp.OperationStructure[] resolveOperStruct = new enovwsprodstructconfigcpp.OperationStructure[1]; enovwsprodstructconfigcpp.OperationStructure operStruct = new enovwsprodstructconfigcpp.OperationStructure(); operStruct.OperandObjId1 = objID; operStruct.OperandObjId2 = valOpers[i].OperandObjId2; operStruct.ConfigViewId3 = valOpers[i].ConfigViewId3; operStruct.Operation = operStr; //Add the operStruct to the array resolveOperStruct[0]=operStruct; //Add the array to the holder enovwsprodstructconfigcpp.OperationStructure [] iOperations = resolveOperStruct; if(partName.Equals(rearWDPV_ID)) { pscWrapper.ResolveOpers(rearWDMod, iOperations); } else if(partName.Equals(frontWDPV_ID)) { pscWrapper.ResolveOpers(frontWDMod, iOperations); } else if(partName.Equals(allWDPV_ID)) { pscWrapper.ResolveOpers(allWDMod, iOperations); } else if(partName.Equals(fourWDPV_ID)) { pscWrapper.ResolveOpers(fourWDMod, iOperations); } else if(partName.Equals(exhaustCPV_ID)) { pscWrapper.ResolveOpers(exhaustMod, iOperations); } } success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("GetAndResolveOperationsCAR - sucess."); else throw new Exception("GetAndResolveOperationsCAR - failure."); }//[Top] /// <summary> // Modify ProdStruct: // Replace Child Rear Wheel Drive with All Wheel Drive // Cut Child Front Wheel Drive // Add Child Four Wheel Drive /// </ summary> public void ModifyCar(enovwsprodstructcpp.CAAENOVWSProdStructCppWrapper psWrapper) { Console.Out.WriteLine("->modify the car product Structure."); bool success = false; Exception exception = null; try { Console.Out.WriteLine("Replace Child Rear Wheel Drive with All Wheel Drive."); enovwsprodstructcpp.ENOVIA createDocResultSet = psWrapper.ReplacePart(rearWDII,allWDPV); Console.Out.WriteLine("Cut Child Front Wheel Drive."); String [] childInstIds = {frontWDII}; psWrapper.CutPartInstance(carPRC,childInstIds); Console.Out.WriteLine("Add Child Four Wheel Drive."); String [] childRefIds = {fourWDPV}; psWrapper.CreatePartInst(carPRC,childRefIds ); success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("create a document CAR - sucess."); else throw new Exception("create a document CAR - failure."); }//[Top] /// <summary> // Report BOM as follows // Expand all levels on CARPRC using the config handlers to retrieve: /// </summary> /// public void ReportBOM( enovwsprodstructcpp.CAAENOVWSProdStructCppWrapper psWrapper, enovwsquerycpp.CAAENOVWSQueryCppWrapper queryWrapper){ Console.Out.WriteLine("reportBOM."); bool success = false; Exception exception = null; try { Console.Out.WriteLine("->expand car by applying config handler CAR unit 1 ::"); ExpandCarByApplyingConfigHandler(psWrapper,carConfgHUnit1,queryWrapper); Console.Out.WriteLine("->expand car by applying config handler CAR unit 40 ::"); ExpandCarByApplyingConfigHandler(psWrapper,carConfgHUnit40,queryWrapper); Console.Out.WriteLine("->expand car by applying config handler CAR unit 51 ::"); ExpandCarByApplyingConfigHandler(psWrapper,carConfgHUnit51,queryWrapper); Console.Out.WriteLine("->expand car by applying config handler CAR unit 80::"); ExpandCarByApplyingConfigHandler(psWrapper,carConfgHUnit80,queryWrapper); Console.Out.WriteLine("->expand car by applying config handler CAR unit 91 ::"); ExpandCarByApplyingConfigHandler(psWrapper,carConfgHUnit91,queryWrapper); success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("reportBOM - success."); else throw new Exception("reportBOM - failure."); }//[Top] public void ExpandCarByApplyingConfigHandler(enovwsprodstructcpp.CAAENOVWSProdStructCppWrapper psWrapper, String configHandlerUUID, enovwsquerycpp.CAAENOVWSQueryCppWrapper queryWrapper){ Console.Out.WriteLine("--------------expandCarByApplyingConfigHandler --------------"); bool success = false; Exception exception = null; try { String filter = CAAENOVWSUtils.BuildExpandConfigHandlerFilter(carPRC, configHandlerUUID); enovwsprodstructcpp.ENOVIA expandResultSet = psWrapper.ExpandProductStructure(carPRC,1, filter); if (expandResultSet.ENOVIA_VPMProductRootClass == null || expandResultSet.ENOVIA_VPMProductRootClass.Length != 1) { throw new Exception("Failed to find product root class"); } CAAENOVWSUtils.DisplayResults(expandResultSet, 20); success = true; } catch (Exception e) { exception = e; } if (success) Console.Out.WriteLine("expandCarByApplyingConfigHandler - sucess."); else throw new Exception("expandCarByApplyingConfigHandler - failure."); } } } |
[Top]
Version: 1 [Feb 2006] | Document created |
[Top] |
Copyright © 1994-2006, Dassault Systèmes. All rights reserved.