using System;
using System.Collections.Generic;
using MECF.Framework.Common.Equipment;
using MECF.Framework.Common.RecipeCenter;

namespace Venus_MainPages.PMs
{
    class UiRecipeManager : IUiRecipeManager
    {
        public string LoadRecipe(string chamId, string receipeName)
        {
            return RecipeClient.Instance.Service.LoadRecipe(ModuleNameString.ToEnum(chamId), receipeName);
        }
        public string LoadRecipeByPath(string path)
        {
            return RecipeClient.Instance.Service.LoadRecipeByPath(path);
        }

        public Tuple<string, string> LoadRunTimeRecipeInfo(string chamId)
        {
            return RecipeClient.Instance.Service.LoadRunTimeRecipeInfo(ModuleNameString.ToEnum(chamId));
        }

        public IEnumerable<string> GetRecipes(string chamId, bool includeUsedRecipe)
        {
            return RecipeClient.Instance.Service.GetRecipes(ModuleNameString.ToEnum(chamId), includeUsedRecipe);
        }

        public bool DeleteRecipe(string chamId, string recipeName)
        {
            return RecipeClient.Instance.Service.DeleteRecipe(ModuleNameString.ToEnum(chamId), recipeName);
        }

        public bool SaveAsRecipe(string chamId, string recipeName, string recipeContent)
        {
            return RecipeClient.Instance.Service.SaveAsRecipe(ModuleNameString.ToEnum(chamId), recipeName, recipeContent);
        }
        public bool SaveAsRecipeWithType(string chamId,string type, string recipeName, string recipeContent)
        {
            return RecipeClient.Instance.Service.SaveAsRecipeWithType(ModuleNameString.ToEnum(chamId),type, recipeName, recipeContent);
        }

        public bool SaveRecipe(string chamId, string recipeName, string recipeContent)
        {
            return RecipeClient.Instance.Service.SaveRecipe(ModuleNameString.ToEnum(chamId), recipeName, recipeContent);
        }
        public bool SaveRecipeWithType(string chamId, string type, string recipeName, string recipeContent)
        {
            return RecipeClient.Instance.Service.SaveRecipeWithType(ModuleNameString.ToEnum(chamId),type, recipeName, recipeContent);
        }
        public bool RenameRecipe(string chamId, string oldName, string newName)
        {
            return RecipeClient.Instance.Service.RenameRecipe(ModuleNameString.ToEnum(chamId), oldName, newName);
        }

        public bool CreateFolder(string chamId, string folderName)
        {
            return RecipeClient.Instance.Service.CreateFolder(ModuleNameString.ToEnum(chamId), folderName);
        }

        public bool MoveRecipeFile(string chamId, string folderName, string tragetFolderName)
        {
            return RecipeClient.Instance.Service.MoveRecipeFile(ModuleNameString.ToEnum(chamId), folderName, tragetFolderName);
        }

        public bool DeleteFolder(string chamId, string foldName)
        {
            return RecipeClient.Instance.Service.DeleteFolder(ModuleNameString.ToEnum(chamId), foldName);
        }

        public string GetXmlRecipeList(string chamId, bool includingUsedRecipe)
        {
            return RecipeClient.Instance.Service.GetXmlRecipeList(ModuleNameString.ToEnum(chamId), includingUsedRecipe);
        }

        public bool RenameFolder(string chamId, string oldName, string newName)
        {
            return RecipeClient.Instance.Service.RenameFolder(ModuleNameString.ToEnum(chamId), oldName, newName);
        }

        public string GetRecipeFormatXml(string chamId)
        {
            return RecipeClient.Instance.Service.GetRecipeFormatXml(ModuleNameString.ToEnum(chamId));
        }

        public string GetRecipeTemplate(string chamId)
        {
            return RecipeClient.Instance.Service.GetRecipeTemplate(ModuleNameString.ToEnum(chamId));
        }
    }
}