SHARE
TWEET

Untitled

a guest Dec 9th, 2019 77 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2.  
  3. // Name:             MRN_PLM_DialogChange
  4.  
  5. // Description:   Retreive all Parts with classification Finished Good as well the last ExportDefinition from MRN_PLM_ExportDefinition, that is enabled and with target system: Dialoge. Get the information to be extracted fromn the ExportDefinition. Generate two files according of the triggering event in the Reletionship: IDENT6 and Measure. According of the relationships and the itemType, InfoType, Information,DafaultValue, ItemInformaton, ExportPosition, StartPosition and Length, as well Usage(for Document in Labaling Item) and Prioryty(list with two values: Priminary and Alternative).The method will be run from the Scheduler.
  6.  
  7. // Called by:       Executed by the Scheduler
  8.  
  9. // <02-Dec-2019>  - Kostadin Markov - code for Mersen
  10.  
  11. //======================================================================I
  12.  
  13. Innovator inn = this.getInnovator();
  14.  
  15. System.Diagnostics.Debugger.Break();
  16.  
  17. Item someExportDefinitions = inn.newItem("MRN_PLM_ExportDefinition", "get");
  18. someExportDefinitions.setProperty("mrn_plm_target_system", "DIALOGUE");
  19. someExportDefinitions.setProperty("mrn_plm_is_enabled", "1");
  20. someExportDefinitions = someExportDefinitions.apply();
  21. try
  22. {
  23.     string assas = someExportDefinitions.getID();
  24. }
  25. catch
  26. {
  27.         return inn.newError("There is no enabled Export Definitions!");
  28. }
  29.  
  30. someExportDefinitions.fetchRelationships("MRN_PLM_ExportDefinitionRel");
  31. Item someRelationships = someExportDefinitions.getRelationships("MRN_PLM_ExportDefinitionRel");
  32. int count = someRelationships.getItemCount();
  33.  
  34. //string triggeringEvent = null;
  35. string itemType = null;
  36. string infoType = null;
  37. string information = null;
  38. string defaultValue = null;
  39. string itemInformation = null;
  40. //string exportPosition = null;
  41. string startPosition = null;
  42. string length = null;
  43. string usage = null;
  44. string priority = null;
  45.  
  46.  
  47. Item someFinishedGood = inn.newItem("Part", "get");
  48. someFinishedGood.setAttribute("where", "[Part].classification='Finished good' AND [Part].state='Released'");
  49. //someFinishedGood.setAttribute("where", "[Part].state='Released'");
  50. someFinishedGood = someFinishedGood.apply();
  51.  
  52. int countOfFinishedGoods = someFinishedGood.getItemCount();
  53. List<Item> allNeededFinishedGoods = new List<Item>();
  54.  
  55. for(int ib = 0; ib < countOfFinishedGoods; ib++)
  56. {
  57.     Item ourFG = someFinishedGood.getItemByIndex(ib);
  58.     allNeededFinishedGoods.Add(ourFG);
  59. }
  60.  
  61. int fdf = allNeededFinishedGoods.Count();
  62.  
  63. Item variable = inn.newItem("Variable", "get");
  64. variable.setProperty("name", "MRN_PLM_DialogueExport");
  65. variable = variable.apply();
  66.  
  67. string filePath = variable.getProperty("value", "");
  68.  
  69. //int countOfPartsNeeded = someFinishedGood.getItemCount();
  70.    
  71. string fileParthNameIdent = filePath + "\\" + "IDENT6.txt";
  72. string fileParthNameMesure = filePath + "\\" + "MESURE.txt";
  73.  
  74. StreamWriter id = new StreamWriter(fileParthNameIdent);        
  75. StreamWriter me = new StreamWriter(fileParthNameMesure);
  76.  
  77. List<Item> IDENT6_LIST = new List<Item>();
  78. List<Item> MEASURE_LIST = new List<Item>();
  79.  
  80. for(int ia = 0; ia < count; ia++)
  81. {
  82.     Item rel = someRelationships.getItemByIndex(ia);
  83.     string relEvent = rel.getProperty("mrn_plm_triggering_event");
  84.    
  85.     //exportPosition = Convert.ToInt32(rel.getProperty("mrn_plm_exportposition"));
  86.     if(relEvent == "IDENT6")
  87.     {
  88.         IDENT6_LIST.Add(rel);
  89.     }
  90.     else if(relEvent == "MESURE")
  91.     {
  92.         MEASURE_LIST.Add(rel);
  93.     }
  94. }
  95.  
  96. int identCount = IDENT6_LIST.Count;
  97. int measureCount = MEASURE_LIST.Count;  
  98.  
  99. CompareItem comp = new CompareItem();
  100. IDENT6_LIST.Sort(comp);
  101. MEASURE_LIST.Sort(comp);
  102. allNeededFinishedGoods.Sort(comp);
  103.  
  104. Item last = null;
  105. Item lastMeasure = null;
  106.  
  107. if(identCount > 0)
  108. {
  109.     last = IDENT6_LIST.Last();
  110. }
  111. if(measureCount > 0){
  112.     lastMeasure = MEASURE_LIST.Last();
  113. }
  114.  
  115. System.Diagnostics.Debugger.Break();
  116.  
  117. string wantedProperty = null;
  118. foreach(Item finishedGood in allNeededFinishedGoods)
  119. {
  120.     System.Diagnostics.Debugger.Break();
  121.  
  122.     wantedProperty = "";
  123.     foreach(Item itemItm in IDENT6_LIST)
  124.     {
  125.             itemType = itemItm.getProperty("mrn_plm_item_type", "");
  126.             infoType = itemItm.getProperty("mrn_plm_info_type", "");
  127.             information = itemItm.getProperty("mrn_plm_information", "");
  128.             defaultValue = itemItm.getProperty("mrn_plm_defaut_value", "");
  129.             itemInformation = itemItm.getProperty("mrn_plm_item_information", "");
  130.             //exportPosition = itemItm.getProperty("mrn_plm_exportposition");
  131.             startPosition = itemItm.getProperty("mrn_plm_start_position", "");
  132.             length = itemItm.getProperty("mrn_plm_length", "");
  133.             usage = itemItm.getProperty("mrn_plm_usage_doc", "");
  134.             priority = itemItm.getProperty("mrn_plm_priority", "");
  135.             string value = null;
  136.             string labItemId = finishedGood.getProperty("mrn_plm_label_item", "");
  137.             string productLabItemId = finishedGood.getProperty("mrn_plm_product_label_item", "");
  138.  
  139.             if((itemType == "Item" || itemType == "Generic Label Item" || itemType == "Product Label Item" || itemType == "R35" || itemType == "MSL" ||  itemType == "Frame" || itemType == "Certification") && (infoType == "DateTime-YYMMDDhhmm" || infoType == "Date-MM/DD/YYYY"))
  140.             {
  141.  
  142.                 if(infoType == "DateTime-YYMMDDhhmm")
  143.                 {
  144.                     DateTime dt = DateTime.Now;;
  145.                     if (information == "Today") {dt = DateTime.Now;}
  146.                     if (information == "Yesterday") {dt = dt.AddDays(-1);}
  147.                     if (information == "Tomorrow") {dt = dt.AddDays(1);}
  148.                     value = dt.ToString("yyMMddHHmm");
  149.                     for(int f = 0; f < int.Parse(length); f++)
  150.                     {
  151.                         if(defaultValue == "") defaultValue = " ";
  152.                         if(value == "") value = defaultValue;
  153.                         if(value == null || f >= value.Length)
  154.                         {
  155.                             wantedProperty += " ";
  156.                             continue;
  157.                         }
  158.                         wantedProperty += value[f];
  159.                     }
  160.                     if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  161.                     {
  162.  
  163.                         return inn.newError("Please Look at the table");
  164.                     }
  165.                 }
  166.                 else if(infoType == "Date-MM/DD/YYYY")
  167.                 {
  168.  
  169.                     DateTime dte = DateTime.Now;
  170.                     if (information == "Today") {dte = DateTime.Now;}
  171.                     if (information == "Yesterday") {dte = dte.AddDays(-1);}
  172.                     if (information == "Tomorrow") {dte = dte.AddDays(1);}
  173.                     value = dte.ToString(@"MM\/dd\/yyyy");
  174.                     for(int f = 0; f < int.Parse(length); f++)
  175.                     {
  176.                         if(defaultValue == "") defaultValue = " ";
  177.                         if(value == "") value = defaultValue;
  178.                         if(value == null || f >= value.Length)
  179.                         {
  180.                             wantedProperty += " ";
  181.                             continue;
  182.                         }
  183.                         wantedProperty += value[f];
  184.                     }
  185.                     if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  186.                     {
  187.  
  188.                         return inn.newError("Please Look at the table");
  189.                     }
  190.                 }
  191.             }
  192.             else if(itemType == "Item")
  193.             {
  194.                 int d = wantedProperty.Length;
  195.                 switch(infoType)
  196.                 {
  197.                     case "Property":
  198.                         value = finishedGood.getProperty(information, "");
  199.                         for(int s = 0; s < int.Parse(length); s++)
  200.                         {
  201.                             if(defaultValue == "") defaultValue = " ";
  202.                             if(value == "") value = defaultValue;
  203.                             if(value == null || s >= value.Length)
  204.                             {
  205.                                 wantedProperty += " ";
  206.                                 continue;
  207.                             }
  208.                              wantedProperty += value[s];
  209.                         }
  210.                    
  211.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  212.                         {
  213.  
  214.                             return inn.newError("Please Look at the table");
  215.                         }
  216.                     break;
  217.                 }
  218.             }
  219.            
  220.             else if(itemType == "Generic Label Item")
  221.             {
  222.  
  223.                 switch(infoType)
  224.                 {
  225.                     case "Property":
  226.                     if(labItemId != "")
  227.                     {
  228.                         Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", labItemId);
  229.                         value = ourLabItem.getProperty(information);
  230.                     }
  231.                     else value = " ";
  232.                     for(int s = 0; s < int.Parse(length); s++)
  233.                         {
  234.                             if(defaultValue == "") defaultValue = " ";
  235.                             if(value == "") value = defaultValue;
  236.                             if(value == null || s >= value.Length)
  237.                             {
  238.                                 wantedProperty += " ";
  239.                                 continue;
  240.                             }
  241.                              wantedProperty += value[s];
  242.                         }
  243.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  244.                         {
  245.                             return inn.newError("Please Look at the table");
  246.                         }
  247.                     break;
  248.                     case "RelatedProperty":
  249.                     System.Diagnostics.Debugger.Break();
  250.  
  251.                     if(labItemId != "")
  252.                     {
  253.                         Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", labItemId);
  254.                        
  255.                         ourLabItem.fetchRelationships("mrn_plm_label_item_property");
  256.                         Item getRels = ourLabItem.getRelationships("mrn_plm_label_item_property");
  257.                         //getRels.setAttribute("where", "[mrn_plm_label_item_property].mrn_propertysource='PLMLabelItem'");
  258.                         int getRelsCount = getRels.getItemCount();
  259.                         for(int sk = 0; sk < getRelsCount; sk++)
  260.                         {
  261.                             Item currentProperty = getRels.getItemByIndex(sk);
  262.                             string currProperty = currentProperty.getProperty("mrn_plm_label_name");
  263.                             if(information == currProperty)
  264.                             {
  265.                                 if(currentProperty.getProperty("mrn_propertysource") == "PLMLabelItem");
  266.                                 {
  267.                                     value = currentProperty.getProperty("mrn_plm_label_value");
  268.                                     break;
  269.                                 }
  270.                             }
  271.                         }
  272.                     }
  273.                     else value = "";
  274.                    
  275.                     for(int s = 0; s < int.Parse(length); s++)
  276.                         {
  277.                             if(defaultValue == "") defaultValue = " ";
  278.                             if(value == "") value = defaultValue;
  279.                             if(value == null || s >= value.Length)
  280.                             {
  281.                                 wantedProperty += " ";
  282.                                 continue;
  283.                             }
  284.                              wantedProperty += value[s];
  285.                         }
  286.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  287.                         {
  288.                             return inn.newError("Please Look at the table");
  289.                         }
  290.                    
  291.                     break;
  292.                     case "ItemPropertyItem":
  293.                         Item myStockPart = null;
  294.                         string myStockPartId = null;
  295.                         string cItem = finishedGood.getProperty("mrn_plm_label_item", "");
  296.                         Item ssd = null;
  297.                         if(cItem != "")
  298.                             ssd = inn.getItemById("mrn_plm_labeling_item", cItem);
  299.                        
  300.                         if(ssd != null)
  301.                             myStockPartId = ssd.getProperty(information);
  302.                        
  303.                         if(myStockPartId != null)
  304.                         {
  305.                             myStockPart = inn.getItemById("Part", myStockPartId);
  306.                             value = myStockPart.getProperty(itemInformation, "");
  307.                         }
  308.                        
  309.                         else value = "";
  310.                      
  311.                         for(int s = 0; s < int.Parse(length); s++)
  312.                         {
  313.                             if(defaultValue == "") defaultValue = " ";
  314.                             if(value == "") value = defaultValue;
  315.                             if(value == null || s >= value.Length)
  316.                             {
  317.                                 wantedProperty += " ";
  318.                                 continue;
  319.                             }
  320.                              wantedProperty += value[s];
  321.                         }
  322.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  323.                         {
  324.                             return inn.newError("Please Look at the table");
  325.                         }
  326.                     break;
  327.                     case "Document":
  328.  
  329.                         if(labItemId != "")
  330.                         {
  331.                             Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", labItemId);
  332.                            
  333.                             ourLabItem.fetchRelationships("mrn_plm_label_item_doc");
  334.                             Item docRelationships = ourLabItem.getRelationships("mrn_plm_label_item_doc");
  335.                            
  336.                             int docRelCount = docRelationships.getItemCount();
  337.                            
  338.                             for(int f = 0; f < docRelCount; f++)
  339.                             {
  340.                                 Item currDoc = docRelationships.getItemByIndex(f);
  341.                                 var docUsage = currDoc.getProperty("mrn_plm_usage");
  342.                                 if(docUsage == usage)
  343.                                 {
  344.                                     value = currDoc.getProperty(information);
  345.                                     break;
  346.                                 }
  347.                             }
  348.                            
  349.                             var nextItem = 0;
  350.                            
  351.                             if(value ==null)
  352.                             {
  353.                                  nextItem = IDENT6_LIST.Select(itm => itm.getProperty("mrn_plm_start_position") == startPosition && itm.getProperty("mrn_plm_priority") == "Alternative").Count();
  354.                             }
  355.                            
  356.                             if(nextItem >= 2 && priority == "Preminary") break;
  357.                             //else value = "";
  358.                            
  359.                             for(int s = 0; s < int.Parse(length); s++)
  360.                             {
  361.                                 if(defaultValue == "") defaultValue = " ";
  362.                                 if(value == "") value = defaultValue;
  363.                                 if(value == null || s >= value.Length)
  364.                                 {
  365.                                     wantedProperty += " ";
  366.                                     continue;
  367.                                 }
  368.                                 wantedProperty += value[s];
  369.                             }
  370.                             if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  371.                             {
  372.                                 return inn.newError("Please Look at the table");
  373.                             }
  374.                         }  
  375.  
  376.                         else
  377.                         {
  378.                             value = " ";
  379.                             for(int s = 0; s < int.Parse(length); s++)
  380.                             {
  381.                                 if(defaultValue == "") defaultValue = " ";
  382.                                 if(value == "") value = defaultValue;
  383.                                 if(value == null || s >= value.Length)
  384.                                 {
  385.                                     wantedProperty += " ";
  386.                                     continue;
  387.                                 }
  388.                                 wantedProperty += value[s];
  389.                             }
  390.                             if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  391.                             {
  392.                                 return inn.newError("Please Look at the table");
  393.                             }
  394.                         }
  395.                        
  396.                     break;
  397.                 }
  398.             }
  399.            
  400.             else if(itemType == "Product Label Item")
  401.             {
  402.                 switch(infoType)
  403.                 {
  404.                     case "Property":
  405.                         if(productLabItemId != "")
  406.                         {
  407.                             Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", labItemId);
  408.                             value = ourLabItem.getProperty(information, "");
  409.                         }
  410.                        
  411.                         else value = " ";
  412.                         for(int s = 0; s < int.Parse(length); s++)
  413.                         {
  414.                             if(defaultValue == "") defaultValue = " ";
  415.                             if(value == "") value = defaultValue;
  416.                             if(value == null || s >= value.Length)
  417.                             {
  418.                                 wantedProperty += " ";
  419.                                 continue;
  420.                             }
  421.                              wantedProperty += value[s];
  422.                         }
  423.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  424.                         {
  425.                             return inn.newError("Please Look at the table");
  426.                         }
  427.                     break;
  428.                      case "RelatedProperty":
  429.                     System.Diagnostics.Debugger.Break();
  430.  
  431.                     if(productLabItemId != "")
  432.                     {
  433.                         Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", productLabItemId);
  434.                        
  435.                         ourLabItem.fetchRelationships("mrn_plm_label_item_property");
  436.                         Item getRels = ourLabItem.getRelationships("mrn_plm_label_item_property");
  437.                         //getRels.setAttribute("where", "[mrn_plm_label_item_property].mrn_propertysource='PLMLabelItem'");
  438.                         int getRelsCount = getRels.getItemCount();
  439.                         for(int sk = 0; sk < getRelsCount; sk++)
  440.                         {
  441.                             Item currentProperty = getRels.getItemByIndex(sk);
  442.                             string currProperty = currentProperty.getProperty("mrn_plm_label_name");
  443.                             if(information == currProperty)
  444.                             {
  445.                                 if(currentProperty.getProperty("mrn_propertysource") == "PLMLabelItem");
  446.                                 {
  447.                                     value = currentProperty.getProperty("mrn_plm_label_value");
  448.                                     break;
  449.                                 }
  450.                             }
  451.                         }
  452.                     }
  453.                     else value = "";
  454.                    
  455.                     for(int s = 0; s < int.Parse(length); s++)
  456.                         {
  457.                             if(defaultValue == "") defaultValue = " ";
  458.                             if(value == "") value = defaultValue;
  459.                             if(value == null || s >= value.Length)
  460.                             {
  461.                                 wantedProperty += " ";
  462.                                 continue;
  463.                             }
  464.                              wantedProperty += value[s];
  465.                         }
  466.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  467.                         {
  468.                             return inn.newError("Please Look at the table");
  469.                         }
  470.                    
  471.                     break;
  472.                     case "ItemPropertyItem":
  473.                         Item myStockPart = null;
  474.                         string myStockPartId = null;
  475.                         string cItem = finishedGood.getProperty("mrn_plm_product_label_item", "");
  476.                         Item ssd = null;
  477.                         if(cItem != "")
  478.                             ssd = inn.getItemById("mrn_plm_labeling_item", cItem);
  479.                        
  480.                         if(ssd != null)
  481.                             myStockPartId = ssd.getProperty(information);
  482.                        
  483.                         if(myStockPartId != null)
  484.                         {
  485.                             myStockPart = inn.getItemById("Part", myStockPartId);
  486.                             value = myStockPart.getProperty(itemInformation, "");
  487.                         }
  488.                        
  489.                         else value = "";
  490.                        
  491.                         for(int s = 0; s < int.Parse(length); s++)
  492.                         {
  493.                             if(defaultValue == "") defaultValue = " ";
  494.                             if(value == "") value = defaultValue;
  495.                             if(value == null || s >= value.Length)
  496.                             {
  497.                                 wantedProperty += " ";
  498.                                 continue;
  499.                             }
  500.                              wantedProperty += value[s];
  501.                         }
  502.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  503.                         {
  504.                             return inn.newError("Please Look at the table");
  505.                         }
  506.                     break;
  507.                     case "Document":
  508.  
  509.                         if(labItemId != "")
  510.                         {
  511.                             Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", labItemId);
  512.                            
  513.                             ourLabItem.fetchRelationships("mrn_plm_label_item_doc");
  514.                             Item docRelationships = ourLabItem.getRelationships("mrn_plm_label_item_doc");
  515.                            
  516.                             int docRelCount = docRelationships.getItemCount();
  517.                            
  518.                             for(int f = 0; f < docRelCount; f++)
  519.                             {
  520.                                 Item currDoc = docRelationships.getItemByIndex(f);
  521.                                 var docUsage = currDoc.getProperty("mrn_plm_usage");
  522.                                 if(docUsage == usage)
  523.                                 {
  524.                                     value = currDoc.getProperty(information);
  525.                                     break;
  526.                                 }
  527.                             }
  528.                            
  529.                             var nextItem = 0;
  530.                            
  531.                             if(value == null)
  532.                             {
  533.                                  nextItem = IDENT6_LIST.Select(itm => itm.getProperty("mrn_plm_start_position") == startPosition && itm.getProperty("mrn_plm_priority") == "Alternative").Count();
  534.                             }
  535.                            
  536.                             if(nextItem >= 2 && priority == "Preminary") break;
  537.                             //else value = "";
  538.                            
  539.                             for(int s = 0; s < int.Parse(length); s++)
  540.                             {
  541.                                 if(defaultValue == "") defaultValue = " ";
  542.                                 if(value == "") value = defaultValue;
  543.                                 if(value == null || s >= value.Length)
  544.                                 {
  545.                                     wantedProperty += " ";
  546.                                     continue;
  547.                                 }
  548.                                 wantedProperty += value[s];
  549.                             }
  550.                             if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  551.                             {
  552.                                 return inn.newError("Please Look at the table");
  553.                             }
  554.                         }  
  555.  
  556.                         else
  557.                         {
  558.                             value = " ";
  559.                             for(int s = 0; s < int.Parse(length); s++)
  560.                             {
  561.                                 if(defaultValue == "") defaultValue = " ";
  562.                                 if(value == "") value = defaultValue;
  563.                                 if(value == null || s >= value.Length)
  564.                                 {
  565.                                     wantedProperty += " ";
  566.                                     continue;
  567.                                 }
  568.                                 wantedProperty += value[s];
  569.                             }
  570.                             if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  571.                             {
  572.                                 return inn.newError("Please Look at the table");
  573.                             }
  574.                         }
  575.                        
  576.                     break;
  577.                 }
  578.             }
  579.            
  580.             else if(itemType == "Certification")
  581.             {
  582.                 System.Diagnostics.Debugger.Break();
  583.  
  584.                 string pimId = finishedGood.getProperty("mrn_plm_pim_product", "");
  585.                 //Item pim = null;
  586.                 if(pimId != "")
  587.                 {
  588.                     switch(infoType)
  589.                     {
  590.                         case "Property":
  591.                         /*
  592.                         pim = inn.getItemById("MRN_Item", pimId);
  593.                        
  594.                         pim.fetchRelationships("MRN_PLM_Poly_CAD_Document");
  595.                        
  596.                         var relationshipsDocs = pim.getRelationships("MRN_PLM_Poly_CAD_Document");
  597.                         */
  598.                         Item relationshipsDocs = inn.newItem("MRN_Item_Document", "get");
  599.                         relationshipsDocs.setAttribute ("where", "[MRN_Item_Document].source_id='" + pimId + "'");
  600.                         relationshipsDocs = relationshipsDocs.apply();
  601.                        
  602.                         int countRelationships = relationshipsDocs.getItemCount();
  603.                        
  604.                         for(int f = 0; f < countRelationships; f++)
  605.                         {
  606.                             Item currDoc = relationshipsDocs.getItemByIndex(f);
  607.                             var docUsage = currDoc.getProperty("mrn_plm_usage");
  608.                             if(docUsage == usage)
  609.                             {
  610.                                 value = currDoc.getProperty(information, "");
  611.                                 break;
  612.                             }
  613.                         }
  614.                         break;
  615.                     }
  616.                 }  
  617.                 else value = "";
  618.                 for(int s = 0; s < int.Parse(length); s++)
  619.                 {
  620.                     if(defaultValue == "") defaultValue = " ";
  621.                     if(value == "") value = defaultValue;
  622.                     if(value == null || s >= value.Length)
  623.                     {
  624.                         wantedProperty += " ";
  625.                         continue;
  626.                     }
  627.                      wantedProperty += value[s];
  628.                 }
  629.                 System.Diagnostics.Debugger.Break();
  630.  
  631.                 if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  632.                 {
  633.                     return inn.newError("Please Look at the table");
  634.                 }
  635.             }
  636.            
  637.             else if(itemType == "Constitution")
  638.             {
  639.                 switch(infoType)
  640.                 {
  641.                     case "Property":
  642.                         string partConstId = finishedGood.getProperty("mrn_plm_constitution");
  643.                        
  644.                         Item someXProps = inn.newItem("xPropertyDefinition", "get");
  645.                         someXProps.setProperty("name", information);
  646.                         someXProps = someXProps.apply();
  647.                         try
  648.                         {
  649.                             string res = someXProps.getProperty("name");
  650.                        
  651.                             string sql = @"SELECT [" + res + "] FROM [xp].[XPROPERTYVALUES] WHERE item_id='" + partConstId +   "'";
  652.                             Item sqlResult = inn.applySQL(sql);
  653.                             value = sqlResult.getProperty(res);
  654.                         }
  655.                        
  656.                         catch(Exception){value = "";}
  657.                        
  658.                        
  659.                         for(int s = 0; s < int.Parse(length); s++)
  660.                                 {
  661.                                     if(defaultValue == "") defaultValue = " ";
  662.                                     if(value == "") value = defaultValue;
  663.                                     if(value == null || s >= value.Length)
  664.                                     {
  665.                                         wantedProperty += " ";
  666.                                         continue;
  667.                                     }
  668.                                      wantedProperty += value[s];
  669.                                 }
  670.                                 if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  671.                                 {
  672.                                     return inn.newError("Please Look at the table");
  673.                                 }
  674.                         break;
  675.                 }
  676.             }
  677.            
  678.             else if(itemType == "R35")
  679.             {
  680.                 Item r35Item = null;
  681.                 string r35 = finishedGood.getProperty("mrn_plm_r35", "");
  682.                
  683.                 if(r35 != "")
  684.                 {
  685.                     r35Item = inn.getItemById("mrn_plm_labeling_item", r35);
  686.                 }
  687.                
  688.                 switch(infoType)
  689.                 {
  690.                     case "Property":
  691.                         if(r35Item != null)
  692.                             value = r35Item.getProperty(information, "");
  693.                         else value = "";
  694.                         for(int s = 0; s < int.Parse(length); s++)
  695.                         {
  696.                             if(defaultValue == "") defaultValue = " ";
  697.                             if(value == "") value = defaultValue;
  698.                             if(value == null || s >= value.Length)
  699.                             {
  700.                                 wantedProperty += " ";
  701.                                 continue;
  702.                             }
  703.                              wantedProperty += value[s];
  704.                         }
  705.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  706.                         {
  707.                             return inn.newError("Please Look at the table");
  708.                         }
  709.                     break;
  710.                    
  711.                     case "ItemPropertyItem":
  712.                         string myStockPartId = null;
  713.                         Item myStockPart = null;
  714.                        
  715.                         if(r35Item != null)
  716.                         {
  717.                             myStockPartId = r35Item.getProperty(information, "");
  718.                            
  719.                             if(myStockPartId != "")
  720.                                 myStockPart = inn.getItemById("Part", myStockPartId);
  721.                         }
  722.                         if(myStockPart != null)
  723.                         {
  724.                             value = myStockPart.getProperty(itemInformation, "");
  725.                             //return inn.newError("There is stock Item");
  726.                         }
  727.                         else value = "";
  728.                        
  729.                         for(int s = 0; s < int.Parse(length); s++)
  730.                         {
  731.                             if(defaultValue == "") defaultValue = " ";
  732.                             if(value == "") value = defaultValue;
  733.                             if(value == null || s >= value.Length)
  734.                             {
  735.                                 wantedProperty += " ";
  736.                                 continue;
  737.                             }
  738.                              wantedProperty += value[s];
  739.                         }
  740.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  741.                         {
  742.                             return inn.newError("Please Look at the table");
  743.                         }
  744.                     break;
  745.                 }
  746.             }
  747.        
  748.         else if(itemType == "MSL")
  749.         {
  750.             string pimId = finishedGood.getProperty("mrn_plm_pim_product", "");
  751.             Item pim = null;
  752.             Item msl = null;
  753.             if(pimId != "")
  754.             {
  755.                 pim = inn.getItemById("MRN_Item", pimId);
  756.                
  757.                 string mslId = pim.getProperty("mrn_parent_msl", "");
  758.                
  759.                 if(mslId != "")
  760.                     msl = inn.getItemById("MRN_Item", mslId);        
  761.             }  
  762.            
  763.             switch(infoType)
  764.             {
  765.                 case "Property":
  766.                 if(msl != null)
  767.                     value = msl.getProperty(information, "");
  768.                     else value = "";
  769.                 for(int s = 0; s < int.Parse(length); s++)
  770.                     {
  771.                         if(defaultValue == "") defaultValue = " ";
  772.                         if(value == "") value = defaultValue;
  773.                         if(value == null || s >= value.Length)
  774.                         {
  775.                             wantedProperty += " ";
  776.                             continue;
  777.                         }
  778.                          wantedProperty += value[s];
  779.                     }
  780.                     if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  781.                     {
  782.                         return inn.newError("Please Look at the table");
  783.                     }
  784.                 break;
  785.             }
  786.         }
  787.  
  788.         else if(itemType == "Frame")
  789.         {
  790.             string pimId = finishedGood.getProperty("mrn_plm_pim_product", "");
  791.             Item pim = null;
  792.             Item frame = null;
  793.             if(pimId != "")
  794.             {
  795.                 pim = inn.getItemById("MRN_Item", pimId);
  796.                
  797.                 string frameId = pim.getProperty("mrn_frame", "");
  798.                
  799.                 if(frameId != "")
  800.                     frame = inn.getItemById("MRN_Item", frameId);        
  801.             }
  802.            
  803.             switch(infoType)
  804.             {
  805.                 case "Property":
  806.                 if(frame != null)
  807.                     value = frame.getProperty(information, "");
  808.                 else value = "";
  809.                 for(int s = 0; s < int.Parse(length); s++)
  810.                     {
  811.                         if(defaultValue == "") defaultValue = " ";
  812.                         if(value == "") value = defaultValue;
  813.                         if(value == null || s >= value.Length)
  814.                         {
  815.                             wantedProperty += " ";
  816.                             continue;
  817.                         }
  818.                          wantedProperty += value[s];
  819.                     }
  820.                     if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  821.                     {
  822.                         return inn.newError("Please Look at the table");
  823.                     }
  824.                 break;
  825.             }
  826.         }
  827.         System.Diagnostics.Debugger.Break();
  828.  
  829.        
  830.         if (itemItm.Equals(last))
  831.         {
  832.             System.Diagnostics.Debugger.Break();
  833.  
  834.             id.Write(wantedProperty);
  835.             id.Write("*");
  836.             id.WriteLine();
  837.         }
  838.     }
  839.    
  840.     wantedProperty = "";
  841.     foreach(Item itemItM in MEASURE_LIST)
  842.     {
  843.         itemType = itemItM.getProperty("mrn_plm_item_type");
  844.         infoType = itemItM.getProperty("mrn_plm_info_type");
  845.         information = itemItM.getProperty("mrn_plm_information");
  846.         defaultValue = itemItM.getProperty("mrn_plm_defaut_value");
  847.         itemInformation = itemItM.getProperty("mrn_plm_item_information");
  848.         startPosition = itemItM.getProperty("mrn_plm_start_position");
  849.         length = itemItM.getProperty("mrn_plm_length");
  850.         usage = itemItM.getProperty("mrn_plm_usage_doc", "");
  851.         priority = itemItM.getProperty("mrn_plm_priority", "");
  852.         string labItemId = finishedGood.getProperty("mrn_plm_label_item", "");
  853.         string productLabItemId = finishedGood.getProperty("mrn_plm_product_label_item", "");
  854.         string value = null;
  855.  
  856.        
  857.         if((itemType == "Item" || itemType == "Generic Label Item" || itemType == "Product Label Item" || itemType == "R35" || itemType == "MSL" ||  itemType == "Frame" || itemType == "Certification") && (infoType == "DateTime-YYMMDDhhmm" || infoType == "Date-MM/DD/YYYY"))
  858.             {
  859.                 if(infoType == "DateTime-YYMMDDhhmm")
  860.                 {
  861.                     DateTime dt = DateTime.Now;;
  862.                     if (information == "Today") {dt = DateTime.Now;}
  863.                     if (information == "Yesterday") {dt = dt.AddDays(-1);}
  864.                     if (information == "Tomorrow") {dt = dt.AddDays(1);}
  865.                     value = dt.ToString("yyMMddHHmm");
  866.                     for(int f = 0; f < int.Parse(length); f++)
  867.                     {
  868.                         if(defaultValue == "") defaultValue = " ";
  869.                         if(value == "") value = defaultValue;
  870.                         if(value == null || f >= value.Length)
  871.                         {
  872.                             wantedProperty += " ";
  873.                             continue;
  874.                         }
  875.                         wantedProperty += value[f];
  876.                     }
  877.                     if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  878.                     {
  879.                         return inn.newError("Please Look at the table");
  880.                     }
  881.                 }
  882.                 else if(infoType == "Date-MM/DD/YYYY")
  883.                 {
  884.                     DateTime dte = DateTime.Now;
  885.                     if (information == "Today") {dte = DateTime.Now;}
  886.                     if (information == "Yesterday") {dte = dte.AddDays(-1);}
  887.                     if (information == "Tomorrow") {dte = dte.AddDays(1);}
  888.                     value = dte.ToString(@"MM\/dd\/yyyy");
  889.                     for(int f = 0; f < int.Parse(length); f++)
  890.                     {
  891.                         if(defaultValue == "") defaultValue = " ";
  892.                         if(value == "") value = defaultValue;
  893.                         if(value == null || f >= value.Length)
  894.                         {
  895.                             wantedProperty += " ";
  896.                             continue;
  897.                         }
  898.                         wantedProperty += value[f];
  899.                     }
  900.                     if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  901.                     {
  902.                         return inn.newError("Please Look at the table");
  903.                     }
  904.                 }
  905.             }
  906.            
  907.             else if(itemType == "Item")
  908.             {
  909.                
  910.                 if(infoType == "Property")
  911.                 {
  912.                     value = finishedGood.getProperty(information, "");
  913.                     for(int s = 0; s < int.Parse(length); s++)
  914.                     {
  915.                         if(defaultValue == "") defaultValue = " ";
  916.                         if(value == "") value = defaultValue;
  917.                         if(value == null || s >= value.Length)
  918.                         {
  919.                             wantedProperty += " ";
  920.                             continue;
  921.                         }
  922.                          wantedProperty += value[s];
  923.                     }
  924.                     if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  925.                     {
  926.                         return inn.newError("Please Look at the table");
  927.                     }
  928.                 }
  929.             }
  930.        
  931.         else if(itemType == "Generic Label Item")
  932.             {
  933.                 switch(infoType)
  934.                 {
  935.                     case "Property":
  936.                         value = finishedGood.getProperty(information, "");
  937.                         for(int s = 0; s < int.Parse(length); s++)
  938.                         {
  939.                             if(defaultValue == "") defaultValue = " ";
  940.                             if(value == "") value = defaultValue;
  941.                             if(value == null || s >= value.Length)
  942.                             {
  943.                                 wantedProperty += " ";
  944.                                 continue;
  945.                             }
  946.                              wantedProperty += value[s];
  947.                         }
  948.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  949.                         {
  950.                             return inn.newError("Please Look at the table");
  951.                         }
  952.                     break;
  953.                     case "RelatedProperty":
  954.                     System.Diagnostics.Debugger.Break();
  955.  
  956.                     if(labItemId != "")
  957.                     {
  958.                         Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", labItemId);
  959.                        
  960.                         ourLabItem.fetchRelationships("mrn_plm_label_item_property");
  961.                         Item getRels = ourLabItem.getRelationships("mrn_plm_label_item_property");
  962.                         //getRels.setAttribute("where", "[mrn_plm_label_item_property].mrn_propertysource='PLMLabelItem'");
  963.                         int getRelsCount = getRels.getItemCount();
  964.                         for(int sk = 0; sk < getRelsCount; sk++)
  965.                         {
  966.                             Item currentProperty = getRels.getItemByIndex(sk);
  967.                             string currProperty = currentProperty.getProperty("mrn_plm_label_name");
  968.                             if(information == currProperty)
  969.                             {
  970.                                 if(currentProperty.getProperty("mrn_propertysource") == "PLMLabelItem");
  971.                                 {
  972.                                     value = currentProperty.getProperty("mrn_plm_label_value");
  973.                                     break;
  974.                                 }
  975.                             }
  976.                         }
  977.                     }
  978.                     else value = "";
  979.                    
  980.                     for(int s = 0; s < int.Parse(length); s++)
  981.                         {
  982.                             if(defaultValue == "") defaultValue = " ";
  983.                             if(value == "") value = defaultValue;
  984.                             if(value == null || s >= value.Length)
  985.                             {
  986.                                 wantedProperty += " ";
  987.                                 continue;
  988.                             }
  989.                              wantedProperty += value[s];
  990.                         }
  991.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  992.                         {
  993.                             return inn.newError("Please Look at the table");
  994.                         }
  995.                    
  996.                     break;
  997.                     case "ItemPropertyItem":
  998.                     value = "";
  999.                         Item myStockPart = null;
  1000.                         string myStockPartId = null;
  1001.                         string cItem = finishedGood.getPropertyItem("mrn_plm_label_item").getID();
  1002.                         Item ssd = inn.getItemById("mrn_plm_labeling_item", cItem);
  1003.                        
  1004.                         myStockPartId = ssd.getProperty(information);
  1005.                        
  1006.                         myStockPart = inn.getItemById("Part", myStockPartId);
  1007.                        
  1008.                         if(myStockPartId == null)
  1009.                         {
  1010.                             return inn.newError("There is stock Item");
  1011.                         }
  1012.                        
  1013.                         value = myStockPart.getProperty(itemInformation, "");
  1014.  
  1015.                         for(int s = 0; s < int.Parse(length); s++)
  1016.                         {
  1017.                             if(defaultValue == "") defaultValue = " ";
  1018.                             if(value == "") value = defaultValue;
  1019.                             if(value == null || s >= value.Length)
  1020.                             {
  1021.                                 wantedProperty += " ";
  1022.                                 continue;
  1023.                             }
  1024.                              wantedProperty += value[s];
  1025.                         }
  1026.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1027.                         {
  1028.                             return inn.newError("Please Look at the table");
  1029.                         }
  1030.                     break;
  1031.                     case "Document":
  1032.  
  1033.                         if(labItemId != "")
  1034.                         {
  1035.                             Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", labItemId);
  1036.                            
  1037.                             ourLabItem.fetchRelationships("mrn_plm_label_item_doc");
  1038.                             Item docRelationships = ourLabItem.getRelationships("mrn_plm_label_item_doc");
  1039.                            
  1040.                             int docRelCount = docRelationships.getItemCount();
  1041.                            
  1042.                             for(int f = 0; f < docRelCount; f++)
  1043.                             {
  1044.                                 Item currDoc = docRelationships.getItemByIndex(f);
  1045.                                 var docUsage = currDoc.getProperty("mrn_plm_usage");
  1046.                                 if(docUsage == usage)
  1047.                                 {
  1048.                                     value = currDoc.getProperty(information);
  1049.                                     break;
  1050.                                 }
  1051.                             }
  1052.                            
  1053.                             var nextItem = 0;
  1054.                            
  1055.                             if(value ==null)
  1056.                             {
  1057.                                  nextItem = IDENT6_LIST.Select(itm => itm.getProperty("mrn_plm_start_position") == startPosition && itm.getProperty("mrn_plm_priority") == "Alternative").Count();
  1058.                             }
  1059.                            
  1060.                             if(nextItem >= 2 && priority == "Preminary") break;
  1061.                             //else value = "";
  1062.                            
  1063.                             for(int s = 0; s < int.Parse(length); s++)
  1064.                             {
  1065.                                 if(defaultValue == "") defaultValue = " ";
  1066.                                 if(value == "") value = defaultValue;
  1067.                                 if(value == null || s >= value.Length)
  1068.                                 {
  1069.                                     wantedProperty += " ";
  1070.                                     continue;
  1071.                                 }
  1072.                                 wantedProperty += value[s];
  1073.                             }
  1074.                             if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1075.                             {
  1076.                                 return inn.newError("Please Look at the table");
  1077.                             }
  1078.                         }  
  1079.  
  1080.                         else
  1081.                         {
  1082.                             value = " ";
  1083.                             for(int s = 0; s < int.Parse(length); s++)
  1084.                             {
  1085.                                 if(defaultValue == "") defaultValue = " ";
  1086.                                 if(value == "") value = defaultValue;
  1087.                                 if(value == null || s >= value.Length)
  1088.                                 {
  1089.                                     wantedProperty += " ";
  1090.                                     continue;
  1091.                                 }
  1092.                                 wantedProperty += value[s];
  1093.                             }
  1094.                             if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1095.                             {
  1096.                                 return inn.newError("Please Look at the table");
  1097.                             }
  1098.                         }
  1099.                        
  1100.                     break;
  1101.                 }
  1102.             }
  1103.            
  1104.             else if(itemType == "Product Label Item")
  1105.             {
  1106.                 switch(infoType)
  1107.                 {
  1108.                     case "Property":
  1109.                         if(productLabItemId != "")
  1110.                         {
  1111.                             Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", labItemId);
  1112.                             value = ourLabItem.getProperty(information, "");
  1113.                         }
  1114.                        
  1115.                         else value = " ";
  1116.                         for(int s = 0; s < int.Parse(length); s++)
  1117.                         {
  1118.                             if(defaultValue == "") defaultValue = " ";
  1119.                             if(value == "") value = defaultValue;
  1120.                             if(value == null || s >= value.Length)
  1121.                             {
  1122.                                 wantedProperty += " ";
  1123.                                 continue;
  1124.                             }
  1125.                              wantedProperty += value[s];
  1126.                         }
  1127.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1128.                         {
  1129.                             return inn.newError("Please Look at the table");
  1130.                         }
  1131.                     break;
  1132.                      case "RelatedProperty":
  1133.                     System.Diagnostics.Debugger.Break();
  1134.  
  1135.                     if(productLabItemId != "")
  1136.                     {
  1137.                         Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", productLabItemId);
  1138.                        
  1139.                         ourLabItem.fetchRelationships("mrn_plm_label_item_property");
  1140.                         Item getRels = ourLabItem.getRelationships("mrn_plm_label_item_property");
  1141.                         //getRels.setAttribute("where", "[mrn_plm_label_item_property].mrn_propertysource='PLMLabelItem'");
  1142.                         int getRelsCount = getRels.getItemCount();
  1143.                         for(int sk = 0; sk < getRelsCount; sk++)
  1144.                         {
  1145.                             Item currentProperty = getRels.getItemByIndex(sk);
  1146.                             string currProperty = currentProperty.getProperty("mrn_plm_label_name");
  1147.                             if(information == currProperty)
  1148.                             {
  1149.                                 if(currentProperty.getProperty("mrn_propertysource") == "PLMLabelItem");
  1150.                                 {
  1151.                                     value = currentProperty.getProperty("mrn_plm_label_value");
  1152.                                     break;
  1153.                                 }
  1154.                             }
  1155.                         }
  1156.                     }
  1157.                     else value = "";
  1158.                    
  1159.                     for(int s = 0; s < int.Parse(length); s++)
  1160.                         {
  1161.                             if(defaultValue == "") defaultValue = " ";
  1162.                             if(value == "") value = defaultValue;
  1163.                             if(value == null || s >= value.Length)
  1164.                             {
  1165.                                 wantedProperty += " ";
  1166.                                 continue;
  1167.                             }
  1168.                              wantedProperty += value[s];
  1169.                         }
  1170.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1171.                         {
  1172.                             return inn.newError("Please Look at the table");
  1173.                         }
  1174.                    
  1175.                     break;
  1176.                     case "ItemPropertyItem":
  1177.                         Item myStockPart = null;
  1178.                         string myStockPartId = null;
  1179.                         string cItem = finishedGood.getProperty("mrn_plm_product_label_item", "");
  1180.                         Item ssd = null;
  1181.                         if(cItem != "")
  1182.                             ssd = inn.getItemById("mrn_plm_labeling_item", cItem);
  1183.                        
  1184.                         if(ssd != null)
  1185.                             myStockPartId = ssd.getProperty(information);
  1186.                        
  1187.                         if(myStockPartId != null)
  1188.                         {
  1189.                             myStockPart = inn.getItemById("Part", myStockPartId);
  1190.                             value = myStockPart.getProperty(itemInformation, "");
  1191.                         }
  1192.                        
  1193.                         else value = "";
  1194.                         //if(myStockPartId == ""null"") break;
  1195.                        
  1196.                         // value = myStockPart.getProperty(itemInformation, "");
  1197.                        
  1198.                         for(int s = 0; s < int.Parse(length); s++)
  1199.                         {
  1200.                             if(defaultValue == "") defaultValue = " ";
  1201.                             if(value == "") value = defaultValue;
  1202.                             if(value == null || s >= value.Length)
  1203.                             {
  1204.                                 wantedProperty += " ";
  1205.                                 continue;
  1206.                             }
  1207.                              wantedProperty += value[s];
  1208.                         }
  1209.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1210.                         {
  1211.                             return inn.newError("Please Look at the table");
  1212.                         }
  1213.                     break;
  1214.                     case "Document":
  1215.  
  1216.                         if(labItemId != "")
  1217.                         {
  1218.                             Item ourLabItem = inn.getItemById("mrn_plm_labeling_item", labItemId);
  1219.                            
  1220.                             ourLabItem.fetchRelationships("mrn_plm_label_item_doc");
  1221.                             Item docRelationships = ourLabItem.getRelationships("mrn_plm_label_item_doc");
  1222.                            
  1223.                             int docRelCount = docRelationships.getItemCount();
  1224.                            
  1225.                             for(int f = 0; f < docRelCount; f++)
  1226.                             {
  1227.                                 Item currDoc = docRelationships.getItemByIndex(f);
  1228.                                 var docUsage = currDoc.getProperty("mrn_plm_usage");
  1229.                                 if(docUsage == usage)
  1230.                                 {
  1231.                                     value = currDoc.getProperty(information);
  1232.                                     break;
  1233.                                 }
  1234.                             }
  1235.                            
  1236.                             var nextItem = 0;
  1237.                            
  1238.                             if(value ==null)
  1239.                             {
  1240.                                  nextItem = IDENT6_LIST.Select(itm => itm.getProperty("mrn_plm_start_position") == startPosition && itm.getProperty("mrn_plm_priority") == "Alternative").Count();
  1241.                             }
  1242.                            
  1243.                             if(nextItem >= 2 && priority == "Preminary") break;
  1244.                             //else value = "";
  1245.                            
  1246.                             for(int s = 0; s < int.Parse(length); s++)
  1247.                             {
  1248.                                 if(defaultValue == "") defaultValue = " ";
  1249.                                 if(value == "") value = defaultValue;
  1250.                                 if(value == null || s >= value.Length)
  1251.                                 {
  1252.                                     wantedProperty += " ";
  1253.                                     continue;
  1254.                                 }
  1255.                                 wantedProperty += value[s];
  1256.                             }
  1257.                             if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1258.                             {
  1259.                                 return inn.newError("Please Look at the table");
  1260.                             }
  1261.                         }  
  1262.  
  1263.                         else
  1264.                         {
  1265.                             value = " ";
  1266.                             for(int s = 0; s < int.Parse(length); s++)
  1267.                             {
  1268.                                 if(defaultValue == "") defaultValue = " ";
  1269.                                 if(value == "") value = defaultValue;
  1270.                                 if(value == null || s >= value.Length)
  1271.                                 {
  1272.                                     wantedProperty += " ";
  1273.                                     continue;
  1274.                                 }
  1275.                                 wantedProperty += value[s];
  1276.                             }
  1277.                             if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1278.                             {
  1279.                                 return inn.newError("Please Look at the table");
  1280.                             }
  1281.                         }
  1282.                        
  1283.                     break;
  1284.                 }
  1285.             }
  1286.            
  1287.             else if(itemType == "Certification")
  1288.             {
  1289.                 System.Diagnostics.Debugger.Break();
  1290.  
  1291.                 string pimId = finishedGood.getProperty("mrn_plm_pim_product", "");
  1292.                 //Item pim = null;
  1293.                 if(pimId != "")
  1294.                 {
  1295.                     switch(infoType)
  1296.                     {
  1297.                         case "Property":
  1298.                         Item relationshipsDocs = inn.newItem("MRN_Item_Document", "get");
  1299.                         relationshipsDocs.setAttribute ("where", "[MRN_Item_Document].source_id='" + pimId + "'");
  1300.                         relationshipsDocs = relationshipsDocs.apply();
  1301.                        
  1302.                         int countRelationships = relationshipsDocs.getItemCount();
  1303.                        
  1304.                         for(int f = 0; f < countRelationships; f++)
  1305.                         {
  1306.                             Item currDoc = relationshipsDocs.getItemByIndex(f);
  1307.                             var docUsage = currDoc.getProperty("mrn_plm_usage");
  1308.                             if(docUsage == usage)
  1309.                             {
  1310.                                 value = currDoc.getProperty(information, "");
  1311.                                 break;
  1312.                             }
  1313.                         }
  1314.                         break;
  1315.                     }
  1316.                 }  
  1317.                 else value = "";
  1318.                 for(int s = 0; s < int.Parse(length); s++)
  1319.                 {
  1320.                     if(defaultValue == "") defaultValue = " ";
  1321.                     if(value == "") value = defaultValue;
  1322.                     if(value == null || s >= value.Length)
  1323.                     {
  1324.                         wantedProperty += " ";
  1325.                         continue;
  1326.                     }
  1327.                      wantedProperty += value[s];
  1328.                 }
  1329.                 System.Diagnostics.Debugger.Break();
  1330.  
  1331.                 if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1332.                 {
  1333.                     return inn.newError("Please Look at the table");
  1334.                 }
  1335.             }
  1336.            
  1337.             else if(itemType == "Constitution")
  1338.             {
  1339.                 switch(infoType)
  1340.                 {
  1341.                     case "Property":
  1342.                         string partConstId = finishedGood.getProperty("mrn_plm_constitution");
  1343.                        
  1344.                         Item someXProps = inn.newItem("xPropertyDefinition", "get");
  1345.                         someXProps.setProperty("name", information);
  1346.                         someXProps = someXProps.apply();
  1347.                         try
  1348.                         {
  1349.                             string res = someXProps.getProperty("name");
  1350.                        
  1351.                             string sql = @"SELECT [" + res + "] FROM [xp].[XPROPERTYVALUES] WHERE item_id='" + partConstId +   "'";
  1352.                             Item sqlResult = inn.applySQL(sql);
  1353.                             value = sqlResult.getProperty(res);
  1354.                         }
  1355.                        
  1356.                         catch(Exception){value = "";}
  1357.                        
  1358.                        
  1359.                         for(int s = 0; s < int.Parse(length); s++)
  1360.                                 {
  1361.                                     if(defaultValue == "") defaultValue = " ";
  1362.                                     if(value == "") value = defaultValue;
  1363.                                     if(value == null || s >= value.Length)
  1364.                                     {
  1365.                                         wantedProperty += " ";
  1366.                                         continue;
  1367.                                     }
  1368.                                      wantedProperty += value[s];
  1369.                                 }
  1370.                                 if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1371.                                 {
  1372.                                     return inn.newError("Please Look at the table");
  1373.                                 }
  1374.                         break;
  1375.                 }
  1376.             }
  1377.            
  1378.            else if(itemType == "R35")
  1379.             {
  1380.                 Item r35Item = null;
  1381.                 string r35 = finishedGood.getProperty("mrn_plm_r35", "");
  1382.                
  1383.                 if(r35 != "")
  1384.                 {
  1385.                     r35Item = inn.getItemById("mrn_plm_labeling_item", r35);
  1386.                 }
  1387.                
  1388.                 switch(infoType)
  1389.                 {
  1390.                     case "Property":
  1391.                        
  1392.                         if(r35Item != null)
  1393.                             value = r35Item.getProperty(information, "");
  1394.                         else value = "";
  1395.                         for(int s = 0; s < int.Parse(length); s++)
  1396.                         {
  1397.                             if(defaultValue == "") defaultValue = " ";
  1398.                             if(value == "") value = defaultValue;
  1399.                             if(value == null || s >= value.Length)
  1400.                             {
  1401.                                 wantedProperty += " ";
  1402.                                 continue;
  1403.                             }
  1404.                              wantedProperty += value[s];
  1405.                         }
  1406.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1407.                         {
  1408.                             return inn.newError("Please Look at the table");
  1409.                         }
  1410.                     break;
  1411.                    
  1412.                     case "ItemPropertyItem":
  1413.                         string myStockPartId = null;
  1414.                         Item myStockPart = null;
  1415.                        
  1416.                         if(r35Item != null)
  1417.                         {
  1418.                             myStockPartId = r35Item.getProperty(information, "");
  1419.                            
  1420.                             if(myStockPartId != "")
  1421.                                 myStockPart = inn.getItemById("Part", myStockPartId);
  1422.                         }
  1423.                         if(myStockPart != null)
  1424.                         {
  1425.                             value = myStockPart.getProperty(itemInformation, "");
  1426.                             //return inn.newError("There is stock Item");
  1427.                         }
  1428.                         else value = "";
  1429.                
  1430.                         for(int s = 0; s < int.Parse(length); s++)
  1431.                         {
  1432.                             if(defaultValue == "") defaultValue = " ";
  1433.                             if(value == "") value = defaultValue;
  1434.                             if(value == null || s >= value.Length)
  1435.                             {
  1436.                                 wantedProperty += " ";
  1437.                                 continue;
  1438.                             }
  1439.                              wantedProperty += value[s];
  1440.                         }
  1441.                         if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1442.                         {
  1443.                             return inn.newError("Please Look at the table");
  1444.                         }
  1445.                     break;
  1446.                 }
  1447.             }
  1448.            
  1449.         else if(itemType == "MSL")
  1450.         {
  1451.             string pimId = finishedGood.getProperty("mrn_plm_pim_product", "");
  1452.             Item pim = null;
  1453.             Item msl = null;
  1454.             if(pimId != "")
  1455.             {
  1456.                 pim = inn.getItemById("MRN_Item", pimId);
  1457.                
  1458.                 string mslId = pim.getProperty("mrn_parent_msl", "");
  1459.                
  1460.                 if(mslId != "")
  1461.                     msl = inn.getItemById("MRN_Item", mslId);        
  1462.             }  
  1463.            
  1464.             switch(infoType)
  1465.             {
  1466.                 case "Property":
  1467.                 if(msl != null)
  1468.                     value = msl.getProperty(information, "");
  1469.                 else
  1470.                     value = "";
  1471.                 for(int s = 0; s < int.Parse(length); s++)
  1472.                     {
  1473.                         if(defaultValue == "") defaultValue = " ";
  1474.                         if(value == "") value = defaultValue;
  1475.                         if(value == null || s >= value.Length)
  1476.                         {
  1477.                             wantedProperty += " ";
  1478.                             continue;
  1479.                         }
  1480.                          wantedProperty += value[s];
  1481.                     }
  1482.                     if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1483.                     {
  1484.                         return inn.newError("Please Look at the table");
  1485.                     }
  1486.                 break;
  1487.             }
  1488.         }
  1489.  
  1490.         else if(itemType == "Frame")
  1491.         {
  1492.             string pimId = finishedGood.getProperty("mrn_plm_pim_product", "");
  1493.             Item pim = null;
  1494.             Item frame = null;
  1495.             if(pimId != "")
  1496.             {
  1497.                 pim = inn.getItemById("MRN_Item", pimId);
  1498.                
  1499.                 string frameId = pim.getProperty("mrn_frame", "");
  1500.                
  1501.                 if(frameId != "")
  1502.                     frame = inn.getItemById("MRN_Item", frameId);        
  1503.             }
  1504.            
  1505.             switch(infoType)
  1506.             {
  1507.                 case "Property":
  1508.                 if(frame != null)
  1509.                     value = frame.getProperty(information, "");
  1510.                 else value = "";
  1511.                 for(int s = 0; s < int.Parse(length); s++)
  1512.                     {
  1513.                         if(defaultValue == "") defaultValue = " ";
  1514.                         if(value == "") value = defaultValue;
  1515.                         if(value == null || s >= value.Length)
  1516.                         {
  1517.                             wantedProperty += " ";
  1518.                             continue;
  1519.                         }
  1520.                          wantedProperty += value[s];
  1521.                     }
  1522.                     if(wantedProperty.Length + 1 != int.Parse(startPosition) + int.Parse(length))
  1523.                     {
  1524.                         return inn.newError("Please Look at the table");
  1525.                     }
  1526.                 break;
  1527.             }
  1528.         }
  1529.        
  1530.             System.Diagnostics.Debugger.Break();
  1531.  
  1532.             if (itemItM.Equals(lastMeasure))
  1533.             {
  1534.                 System.Diagnostics.Debugger.Break();
  1535.                 me.Write(wantedProperty);
  1536.                 me.WriteLine();
  1537.             }  
  1538.     }
  1539. }
  1540. id.Close();
  1541. me.Close();
  1542.  
  1543. return this;
  1544. }
  1545.  
  1546. class CompareItem : IComparer<Item>
  1547. {
  1548.     public int Compare(Item x, Item y)
  1549.     {
  1550.         // CompareTo() method
  1551.         int positionx = Convert.ToInt32(x.getProperty("mrn_plm_exportposition", "0"));
  1552.         int positiony = Convert.ToInt32(y.getProperty("mrn_plm_exportposition", "0"));
  1553.        
  1554.         return positionx.CompareTo(positiony);
  1555.          
  1556.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top