123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- using Aitex.Core.RT.ConfigCenter;
- using Aitex.Core.RT.DataCenter;
- using Aitex.Core.RT.OperationCenter;
- using Aitex.Core.Util;
- using MECF.Framework.Common.CommonData;
- using MECF.Framework.Common.DBCore;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace MECF.Framework.Common.RecipeCenter
- {
- public class RecipeEditManager : Singleton<RecipeEditManager>
- {
- public string CurrentRecipeName { get; set; }
- public int CurrentStepID { get; set; }
- public string CurrentStepName { get; set; }
- public bool IsEnablePrevious { get; set; }
- public bool IsEnableNext { get; set; }
- public List<Tuple<string, int>> StepNames { get; set; }
- public void Initialize()
- {
- DATA.Subscribe("RecipeEdit", "CurrentRecipeName", () => CurrentRecipeName);
- DATA.Subscribe("RecipeEdit", "CurrentStepName", () => CurrentStepName);
- DATA.Subscribe("RecipeEdit", "CurrentStepID", () => CurrentStepID);
- DATA.Subscribe("RecipeEdit", "IsEnablePrevious", () => IsEnablePrevious);
- DATA.Subscribe("RecipeEdit", "IsEnableNext", () => IsEnableNext);
- DATA.Subscribe("RecipeEdit", "StepNames", () => StepNames);
- OP.Subscribe("SetCurrentRecipeName", SetCurrentRecipeName);
- OP.Subscribe("SetCurrentStepName", SetCurrentStepName);
- OP.Subscribe("SetRecipeSteps", SetRecipeSteps);
- OP.Subscribe("SetPreviousStep", SetPreviousStep);
- OP.Subscribe("SetNextStep", SetNextStep);
- OP.Subscribe("SetRecipeEditHistory", SetRecipeEditHistory);
- }
- private bool SetRecipeEditHistory(string arg1, object[] arg2)
- {
- if (arg2 != null && arg2.Count() > 0)
- {
- var recipeHistory = (RecipeHistory)arg2[0];
- RecipeEditHistoryRecorder.SaveRecipeHistory(recipeHistory);
- }
- return true;
- }
- private bool SetCurrentRecipeName(string arg1, object[] arg2)
- {
- if (arg2 != null && arg2.Count() > 0)
- {
- CurrentRecipeName = (string)arg2[0];
- }
- return true;
- }
- private bool SetCurrentStepName(string arg1, object[] arg2)
- {
- if (arg2 != null && arg2.Count() > 0)
- {
- var arg = arg2[0] as Tuple<string, int>;
- CurrentStepName = arg.Item1;
- CurrentStepID = arg.Item2;
- if (StepNames != null && StepNames.Count > 0)
- {
- if (StepNames.Count < 2)
- {
- IsEnablePrevious = false;
- IsEnableNext = false;
- }
- else if (StepNames[0].Item2 >= CurrentStepID)
- {
- IsEnablePrevious = false;
- IsEnableNext = true;
- }
- else if (StepNames[StepNames.Count - 1].Item2 <= CurrentStepID)
- {
- IsEnablePrevious = true;
- IsEnableNext = false;
- }
- else
- {
- IsEnablePrevious = true;
- IsEnableNext = true;
- }
- }
- }
- return true;
- }
- private bool SetRecipeSteps(string arg1, object[] arg2)
- {
- if (arg2 != null && arg2.Count() > 0)
- {
- StepNames = (List<Tuple<string, int>>)arg2[0];
- if (StepNames == null || StepNames.Count < 2)
- {
- IsEnablePrevious = false;
- IsEnableNext = false;
- }
- else
- {
- IsEnablePrevious = false;
- IsEnableNext = true;
- }
- }
- return true;
- }
- private bool SetPreviousStep(string arg1, object[] arg2)
- {
- if (StepNames == null && StepNames.Count < 2)
- {
- IsEnablePrevious = false;
- IsEnableNext = false;
- }
- else
- {
- int temp = CurrentStepID - 1;
- while (temp > -1)
- {
- Tuple<string, int> tuple = StepNames.Where(x => x.Item2 == temp).FirstOrDefault();
- if (tuple != null)
- {
- CurrentStepName = tuple.Item1;
- CurrentStepID = tuple.Item2;
- if (temp == 0)
- {
- IsEnablePrevious = false;
- }
- else
- {
- IsEnablePrevious = true;
- IsEnableNext = true;
- }
- break;
- }
- temp--;
- }
- }
- return true;
- }
- private bool SetNextStep(string arg1, object[] arg2)
- {
- if (StepNames == null && StepNames.Count < 2)
- {
- IsEnablePrevious = false;
- IsEnableNext = false;
- }
- else
- {
- int temp = CurrentStepID + 1;
- while (temp < StepNames.Count)
- {
- Tuple<string, int> tuple = StepNames.Where(x => x.Item2 == temp).FirstOrDefault();
- if (tuple != null)
- {
- CurrentStepName = tuple.Item1;
- CurrentStepID = tuple.Item2;
- if (temp == StepNames.Count)
- {
- IsEnableNext = false;
- }
- else
- {
- IsEnablePrevious = true;
- IsEnableNext = true;
- }
- break;
- }
- temp++;
- }
- }
- return true;
- }
- }
- }
|