RecipeServiceClient.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.ObjectModel;
  4. using Aitex.Core.Util;
  5. using Aitex.Core.WCF;
  6. using MECF.Framework.Common.Equipment;
  7. namespace MECF.Framework.Common.RecipeCenter
  8. {
  9. public class RecipeClient : Singleton<RecipeClient>
  10. {
  11. public bool InProcess { get; set; }
  12. private IRecipeService _service;
  13. public IRecipeService Service
  14. {
  15. get
  16. {
  17. if (_service == null)
  18. {
  19. if (InProcess)
  20. _service = new RecipeService();
  21. else
  22. _service = new RecipeServiceClient();
  23. }
  24. return _service;
  25. }
  26. }
  27. }
  28. public class RecipeServiceClient : ServiceClientWrapper<IRecipeService>, IRecipeService
  29. {
  30. public RecipeServiceClient()
  31. : base("Client_IRecipeService", "RecipeService")
  32. {
  33. }
  34. public string LoadRecipe(ModuleName chamId, string recipeName)
  35. {
  36. string result = null;
  37. Invoke(svc => { result = svc.LoadRecipe(chamId, recipeName); });
  38. return result;
  39. }
  40. public Tuple<string, string> LoadRunTimeRecipeInfo(ModuleName chamId)
  41. {
  42. Tuple<string, string> result = null;
  43. Invoke(svc => { result = svc.LoadRunTimeRecipeInfo(chamId); });
  44. return result;
  45. }
  46. public IEnumerable<string> GetRecipes(ModuleName chamId, bool includeUsedRecipe)
  47. {
  48. IEnumerable<string> result = null;
  49. Invoke(svc => { result = svc.GetRecipes(chamId, includeUsedRecipe); });
  50. return result;
  51. }
  52. public string GetXmlRecipeList(ModuleName chamId, bool includeUsedRecipe)
  53. {
  54. string result = null;
  55. Invoke(svc => { result = svc.GetXmlRecipeList(chamId, includeUsedRecipe); });
  56. return result;
  57. }
  58. public bool DeleteRecipe(ModuleName chamId, string recipeName)
  59. {
  60. bool result = false;
  61. Invoke(svc => { result = svc.DeleteRecipe(chamId, recipeName); });
  62. return result;
  63. }
  64. public bool DeleteFolder(ModuleName chamId, string folderName)
  65. {
  66. bool result = false;
  67. Invoke(svc => { result = svc.DeleteFolder(chamId, folderName); });
  68. return result;
  69. }
  70. public bool SaveAsRecipe(ModuleName chamId, string recipeName, string recipeContent)
  71. {
  72. bool result = false;
  73. Invoke(svc => { result = svc.SaveAsRecipe(chamId, recipeName, recipeContent); });
  74. return result;
  75. }
  76. public bool SaveRecipe(ModuleName chamId, string recipeName, string recipeContent)
  77. {
  78. bool result = false;
  79. Invoke(svc => { result = svc.SaveRecipe(chamId, recipeName, recipeContent); });
  80. return result;
  81. }
  82. public bool CreateFolder(ModuleName chamId, string folderName)
  83. {
  84. bool result = false;
  85. Invoke(svc => { result = svc.CreateFolder(chamId, folderName); });
  86. return result;
  87. }
  88. public bool RenameRecipe(ModuleName chamId, string oldName, string newName)
  89. {
  90. bool result = false;
  91. Invoke(svc => { result = svc.RenameRecipe(chamId, oldName, newName); });
  92. return result;
  93. }
  94. public bool BackupRecipe(string fileOriginalPath, string fileDestinationPath, bool isSaveLinkRecipe, List<string> recipeNames)
  95. {
  96. bool result = false;
  97. Invoke(svc => { result = svc.BackupRecipe(fileOriginalPath, fileDestinationPath, isSaveLinkRecipe,recipeNames); });
  98. return result;
  99. }
  100. public bool CheckBackRecipeIsLinkRecipe(string fileOriginalPath, List<string> recipeNames)
  101. {
  102. bool result = false;
  103. Invoke(svc => { result = svc.CheckBackRecipeIsLinkRecipe(fileOriginalPath, recipeNames); });
  104. return result;
  105. }
  106. public List<string> RestoreRecipeFolderList()
  107. {
  108. List<string> result = new List<string>();
  109. Invoke(svc => { result = svc.RestoreRecipeFolderList(); });
  110. return result;
  111. }
  112. public string GetXmlRestoreRecipeList(string fileType, bool includeUsedRecipe)
  113. {
  114. string result = null;
  115. Invoke(svc => { result = svc.GetXmlRestoreRecipeList(fileType, includeUsedRecipe); });
  116. return result;
  117. }
  118. public string LoadRestoreRecipe(string pathName, string recipeName)
  119. {
  120. string result = null;
  121. Invoke(svc => { result = svc.LoadRestoreRecipe(pathName, recipeName); });
  122. return result;
  123. }
  124. public bool RestoreRecipe(string chamId,bool isSaveLink, List<string> recipeNames)
  125. {
  126. bool result = false;
  127. Invoke(svc => { result = svc.RestoreRecipe(chamId, isSaveLink,recipeNames); });
  128. return result;
  129. }
  130. public bool SigRestoreRecipe(string chamId, List<string> recipeNames)
  131. {
  132. bool result = false;
  133. Invoke(svc => { result = svc.SigRestoreRecipe(chamId, recipeNames); });
  134. return result;
  135. }
  136. public bool RenameFolder(ModuleName chamId, string oldName, string newName)
  137. {
  138. bool result = false;
  139. Invoke(svc => { result = svc.RenameFolder(chamId, oldName, newName); });
  140. return result;
  141. }
  142. public string GetRecipeFormatXml(ModuleName chamId)
  143. {
  144. string result = null;
  145. Invoke(svc => { result = svc.GetRecipeFormatXml(chamId); });
  146. return result;
  147. }
  148. public Dictionary<string, ObservableCollection<RecipeTemplateColumnBase>> GetGroupRecipeTemplate()
  149. {
  150. Dictionary<string, ObservableCollection<RecipeTemplateColumnBase>> result = null;
  151. Invoke(svc => { result = svc.GetGroupRecipeTemplate(); });
  152. return result;
  153. }
  154. public string GetRecipeTemplate(ModuleName chamId)
  155. {
  156. string result = string.Empty;
  157. Invoke(svc => { result = svc.GetRecipeTemplate(chamId); });
  158. return result;
  159. }
  160. public string GetRecipeByBarcode(ModuleName chamId, string barcode)
  161. {
  162. string result = string.Empty;
  163. Invoke(svc => { result = svc.GetRecipeByBarcode(chamId, barcode); });
  164. return result;
  165. }
  166. public string GetXmlSequenceList(ModuleName chamId)
  167. {
  168. string result = null;
  169. Invoke(svc => { result = svc.GetXmlSequenceList(chamId); });
  170. return result;
  171. }
  172. public string GetSequence(string sequenceName)
  173. {
  174. string result = string.Empty;
  175. Invoke(svc => { result = svc.GetSequence(sequenceName); });
  176. return result;
  177. }
  178. public List<string> GetSequenceNameList()
  179. {
  180. List<string> result = null;
  181. Invoke(svc => { result = svc.GetSequenceNameList(); });
  182. return result;
  183. }
  184. public bool DeleteSequence(string sequenceName)
  185. {
  186. bool result = false;
  187. Invoke(svc => { result = svc.DeleteSequence(sequenceName); });
  188. return result;
  189. }
  190. public bool SaveSequence(string sequenceName, string sequenceContent)
  191. {
  192. bool result = false;
  193. Invoke(svc => { result = svc.SaveSequence(sequenceName, sequenceContent); });
  194. return result;
  195. }
  196. public bool SaveAsSequence(string sequenceName, string sequenceContent)
  197. {
  198. bool result = false;
  199. Invoke(svc => { result = svc.SaveAsSequence(sequenceName, sequenceContent); });
  200. return result;
  201. }
  202. public bool RenameSequence(string oldName, string newName)
  203. {
  204. bool result = false;
  205. Invoke(svc => { result = svc.RenameSequence(oldName, newName); });
  206. return result;
  207. }
  208. public string GetSequenceFormatXml()
  209. {
  210. string result = string.Empty;
  211. Invoke(svc => { result = svc.GetSequenceFormatXml(); });
  212. return result;
  213. }
  214. public bool RenameSequenceFolder(string oldName, string newName)
  215. {
  216. bool result = false;
  217. Invoke(svc => { result = svc.RenameSequenceFolder(oldName, newName); });
  218. return result;
  219. }
  220. public bool CreateSequenceFolder(string folderName)
  221. {
  222. bool result = false;
  223. Invoke(svc => { result = svc.CreateSequenceFolder(folderName); });
  224. return result;
  225. }
  226. public bool DeleteSequenceFolder(string folderName)
  227. {
  228. bool result = false;
  229. Invoke(svc => { result = svc.DeleteSequenceFolder(folderName); });
  230. return result;
  231. }
  232. #region extended recipe interface
  233. public string LoadRecipeByPath(string pathName, string recipeName)
  234. {
  235. string result = null;
  236. Invoke(svc => { result = svc.LoadRecipeByPath(pathName, recipeName); });
  237. return result;
  238. }
  239. public string LoadRecipeByFullPath(string fullPath)
  240. {
  241. string result = null;
  242. Invoke(svc => { result = svc.LoadRecipeByFullPath(fullPath); });
  243. return result;
  244. }
  245. public Tuple<string, string> LoadRunTimeRecipeInfoByPath(string pathName)
  246. {
  247. Tuple<string, string> result = null;
  248. Invoke(svc => { result = svc.LoadRunTimeRecipeInfoByPath(pathName); });
  249. return result;
  250. }
  251. public IEnumerable<string> GetRecipesByPath(string pathName, bool includeUsedRecipe)
  252. {
  253. IEnumerable<string> result = null;
  254. Invoke(svc => { result = svc.GetRecipesByPath(pathName, includeUsedRecipe); });
  255. return result;
  256. }
  257. public string GetXmlRecipeListByPath(string pathName, bool includeUsedRecipe)
  258. {
  259. string result = null;
  260. Invoke(svc => { result = svc.GetXmlRecipeListByPath(pathName, includeUsedRecipe); });
  261. return result;
  262. }
  263. public bool DeleteRecipeByPath(string pathName, string recipeName)
  264. {
  265. bool result = false;
  266. Invoke(svc => { result = svc.DeleteRecipeByPath(pathName, recipeName); });
  267. return result;
  268. }
  269. public bool DeleteFolderByPath(string pathName, string folderName)
  270. {
  271. bool result = false;
  272. Invoke(svc => { result = svc.DeleteFolderByPath(pathName, folderName); });
  273. return result;
  274. }
  275. public bool SaveAsRecipeByPath(string pathName, string recipeName, string recipeContent)
  276. {
  277. bool result = false;
  278. Invoke(svc => { result = svc.SaveAsRecipeByPath(pathName, recipeName, recipeContent); });
  279. return result;
  280. }
  281. public bool SaveRecipeByPath(string pathName, string recipeName, string recipeContent)
  282. {
  283. bool result = false;
  284. Invoke(svc => { result = svc.SaveRecipeByPath(pathName, recipeName, recipeContent); });
  285. return result;
  286. }
  287. public bool CreateFolderByPath(string pathName, string folderName)
  288. {
  289. bool result = false;
  290. Invoke(svc => { result = svc.CreateFolderByPath(pathName, folderName); });
  291. return result;
  292. }
  293. public bool RenameRecipeByPath(string pathName, string oldName, string newName)
  294. {
  295. bool result = false;
  296. Invoke(svc => { result = svc.RenameRecipeByPath(pathName, oldName, newName); });
  297. return result;
  298. }
  299. public bool RenameFolderByPath(string pathName, string oldName, string newName)
  300. {
  301. bool result = false;
  302. Invoke(svc => { result = svc.RenameFolderByPath(pathName, oldName, newName); });
  303. return result;
  304. }
  305. public string GetRecipeFormatXmlByPath(string pathName)
  306. {
  307. string result = null;
  308. Invoke(svc => { result = svc.GetRecipeFormatXmlByPath(pathName); });
  309. return result;
  310. }
  311. public string GetRecipeTemplateByPath(string pathName)
  312. {
  313. string result = string.Empty;
  314. Invoke(svc => { result = svc.GetRecipeTemplateByPath(pathName); });
  315. return result;
  316. }
  317. public string GetRecipeByBarcodeByPath(string pathName, string barcode)
  318. {
  319. string result = string.Empty;
  320. Invoke(svc => { result = svc.GetRecipeByBarcodeByPath(pathName, barcode); });
  321. return result;
  322. }
  323. public List<string> CheckRecipe(string prefix, string recipeName)
  324. {
  325. List<string> result = null;
  326. Invoke(svc => { result = svc.CheckRecipe(prefix, recipeName); });
  327. return result;
  328. }
  329. #endregion
  330. }
  331. }