SequenceDataProvider.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System.Collections.Generic;
  2. using System.Collections.ObjectModel;
  3. using System.Linq;
  4. using System.Xml;
  5. using MECF.Framework.Common.Equipment;
  6. using MECF.Framework.Common.RecipeCenter;
  7. using OpenSEMI.ClientBase.ServiceProvider;
  8. using RecipeEditorLib.DGExtension.CustomColumn;
  9. namespace MECF.Framework.UI.Client.CenterViews.Editors.Sequence
  10. {
  11. public class SequenceDataProvider : IProvider
  12. {
  13. private static SequenceDataProvider _Instance = null;
  14. public static SequenceDataProvider Instance
  15. {
  16. get
  17. {
  18. if (_Instance == null)
  19. _Instance = new SequenceDataProvider();
  20. return _Instance;
  21. }
  22. }
  23. public void Create()
  24. {
  25. }
  26. public bool CreateSequenceFolder(string foldername)
  27. {
  28. return RecipeClient.Instance.Service.CreateSequenceFolder(foldername);
  29. }
  30. public bool DeleteSequenceFolder(string foldername)
  31. {
  32. return RecipeClient.Instance.Service.DeleteSequenceFolder(foldername);
  33. }
  34. public bool Save(SequenceData seq)
  35. {
  36. return RecipeClient.Instance.Service.SaveSequence(seq.Name, seq.ToXml());
  37. }
  38. public List<string> GetSequences()
  39. {
  40. return RecipeClient.Instance.Service.GetSequenceNameList();
  41. }
  42. public List<string> GetRecipes(ModuleName modulename)
  43. {
  44. return RecipeClient.Instance.Service.GetRecipes(modulename, true).ToList();
  45. }
  46. public SequenceData GetSequenceByName(ObservableCollection<EditorDataGridTemplateColumnBase> _columns, string name)
  47. {
  48. string content = RecipeClient.Instance.Service.GetSequence(name);
  49. SequenceData seq = new SequenceData();
  50. XmlDocument doc = new XmlDocument();
  51. doc.LoadXml(content);
  52. seq.Name = name;
  53. seq.Load(_columns, doc);
  54. return seq;
  55. }
  56. public bool Rename(string beforename, string currentname)
  57. {
  58. return RecipeClient.Instance.Service.RenameSequence(beforename, currentname);
  59. }
  60. public bool Delete(string name)
  61. {
  62. return RecipeClient.Instance.Service.DeleteSequence(name);
  63. }
  64. public bool SaveAs(string name, SequenceData seq)
  65. {
  66. return RecipeClient.Instance.Service.SaveAsSequence(name, seq.ToXml());
  67. }
  68. public string GetSequenceFromXml()
  69. {
  70. string template = RecipeClient.Instance.Service.GetSequenceFormatXml();
  71. return template;
  72. }
  73. }
  74. }