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
}
}