using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.ServiceModel; using Aitex.Core.RT.RecipeCenter; using MECF.Framework.Common.Equipment; namespace MECF.Framework.Common.RecipeCenter { [ServiceContract] public interface IRecipeService { [OperationContract] string LoadRecipe(ModuleName chamId, string recipeName); /// /// /// /// /// recipeName + recipeContent [OperationContract] Tuple LoadRunTimeRecipeInfo(ModuleName chamId); [OperationContract] IEnumerable GetRecipes(ModuleName chamId, bool includeUsedRecipe); [OperationContract] IEnumerable GetAllRecipes(string chamId); [OperationContract] ObservableCollection GetRecipesByType(string recipeType); /// /// 获取工程指定类型的Recipe /// /// /// [OperationContract] ObservableCollection GetEngineeringRecipesByType(string recipeType); /// /// 获取目录集合节点 /// /// /// [OperationContract] ObservableCollection GetRecipeByDirectoryList(List directories); /// /// 加载 Recipe /// /// /// [OperationContract] string LoadGenericityRecipe(string type, string recipeFullName); /// /// 保存 recipe /// /// /// /// [OperationContract] void SaveRecipeTypeRecipe(string root, string recipeName, string recipeType, string recipe, string dataType); [OperationContract] string GetXmlRecipeList(ModuleName chamId, bool includeUsedRecipe); [OperationContract] bool DeleteRecipe(ModuleName chamId, string recipeName); [OperationContract] bool DeleteFolder(ModuleName chamId, string folderName); [OperationContract] bool SaveAsRecipe(ModuleName chamId, string recipeName, string recipeContent); [OperationContract] bool SaveAsRecipe2(ModuleName chamId,string type, string recipeName, string recipeContent); [OperationContract] bool SaveRecipe(ModuleName chamId, string recipeName, string recipeContent); [OperationContract] bool CreateFolder(ModuleName chamId, string folderName); [OperationContract] bool MoveRecipeFile(ModuleName chamId, string folderName, string tragetFolderName); [OperationContract] bool RenameRecipe(ModuleName chamId, string oldName, string newName); [OperationContract] bool RenameFolder(ModuleName chamId, string oldName, string newName); [OperationContract] string GetRecipeFormatXml(ModuleName chamId); [OperationContract] string GetRecipeTemplate(ModuleName chamId); [OperationContract] string GetRecipeByBarcode(ModuleName chamId, string barcode); [OperationContract] bool DeleteRecipeByFullPath(string fullPath); [OperationContract] bool PromoteRecipe(List FilePaths); #region Sequence [OperationContract] string GetXmlSequenceList(ModuleName chamId); [OperationContract] string GetSequence(string sequenceName); [OperationContract] List GetSequenceNameList(); [OperationContract] bool DeleteSequence(string sequenceName); [OperationContract] bool SaveSequence(string sequenceName, string sequenceContent); [OperationContract] bool SaveAsSequence(string sequenceName, string sequenceContent); [OperationContract] bool RenameSequence(string oldName, string newName); [OperationContract] string GetSequenceFormatXml(); [OperationContract] bool RenameSequenceFolder(string oldName, string newName); [OperationContract] bool CreateSequenceFolder(string folderName); [OperationContract] bool DeleteSequenceFolder(string folderName); #endregion #region extended recipe interface [OperationContract] string LoadRecipeByPath(string path); [OperationContract] Tuple LoadRunTimeRecipeInfoByPath(string pathName); [OperationContract] IEnumerable GetRecipesByPath(string pathName, bool includeUsedRecipe); [OperationContract] string GetXmlRecipeListByPath(string pathName, bool includeUsedRecipe); [OperationContract] bool DeleteRecipeByPath(string pathName, string recipeName); [OperationContract] bool DeleteFolderByPath(string pathName, string folderName); [OperationContract] bool SaveAsRecipeByPath(string pathName, string recipeName, string recipeContent); [OperationContract] bool SaveRecipeByPath(string pathName, string recipeName, string recipeContent); [OperationContract] bool CreateFolderByPath(string pathName, string folderName); [OperationContract] bool RenameRecipeByPath(string pathName, string oldName, string newName); [OperationContract] bool RenameFolderByPath(string pathName, string oldName, string newName); [OperationContract] string GetRecipeFormatXmlByPath(string pathName); [OperationContract] string GetRecipeTemplateByPath(string pathName); [OperationContract] string GetRecipeByBarcodeByPath(string pathName, string barcode); [OperationContract] List GetSequenceList(string recipeType, string sequenceType); #endregion } }