示例#1
0
            public void AddTaskFromFile(string content)
            {
                var nnParams = NnParam.NewParamsFromList(content);

                foreach (NnParam param in nnParams)
                {
                    Plan.AddTask(param);
                }
            }
示例#2
0
 public static bool AreSame(NnParam p1, NnParam p2)
 {
     if (!HasSameSignature(p1, p2))
     {
         return(false);
     }
     foreach (string key in p1.variables.Keys)
     {
         if (p1.variables[key] != p2.variables[key])
         {
             return(false);
         }
     }
     return(true);
 }
示例#3
0
        public NnTask?AddTask(
            NnParam param
            )
        {
            var tasks = AddTask(new List <NnParam> {
                param
            });

            if (tasks?.Count() > 0)
            {
                return(tasks[0]);
            }
            else
            {
                return(null);
            }
        }
示例#4
0
 void DeleteParamInCommonData(NnParam par)
 {
     if (paramDataStat == null)
     {
         return;
     }
     foreach (var vari in par.Variables)
     {
         if (paramDataStat.ContainsKey(vari.Key))
         {
             if (paramDataStat[vari.Key].ContainsKey(vari.Value))
             {
                 paramDataStat[vari.Key][vari.Value] -= 1;
                 if (paramDataStat[vari.Key][vari.Value] <= 0)
                 {
                     paramDataStat[vari.Key].Remove(vari.Value);
                 }
             }
         }
     }
 }
示例#5
0
 public static bool HasSameSignature(NnParam p1, NnParam p2) =>
 p1.variables.Keys.OrderBy(x => x).SequenceEqual(
     p2.variables.Keys.OrderBy(x => x));
示例#6
0
 public NnTaskData(NnTask task, NnParam param)
 {
     this.Task  = task;
     this.Param = param;
     Subscribe(task);
 }