private static BaseCultivation ConvertCultivation(string content) { var obj = JObject.Parse(content); ProcessModeEnum mode; Enum.TryParse(obj["ProcessMode"].ToString(), out mode); BaseCultivation cultivation = null; switch (mode) { case ProcessModeEnum.SingleMode: cultivation = JsonConvert.DeserializeObject <SingleCultivation>(content); break; case ProcessModeEnum.FixedVolumeMode: cultivation = JsonConvert.DeserializeObject <FixedCultivation>(content); break; case ProcessModeEnum.VariantVolumeMode: cultivation = JsonConvert.DeserializeObject <VariantCultivation>(content); break; default: break; } return(cultivation); }
public PumpController(ControlCenter center, PumpDevice device, Pump pump) : base(center, device) { if (pump == null) { //CustomErrorEvent(new CustomException($"pump{PumpCultivation.PumpId} 的时间表排期为空", this.GetType().FullName, ExceptionPriority.Unrecoverable)); return; } PumpCultivation = CultivationFactory.GetCultivation(pump); PumpCultivation.CalcSchedules(); LogFactory.Create().Info($"pump{PumpCultivation.Device.DeviceId} {PumpCultivation.Device.ProcessMode} startTime is {PumpCultivation.Device.StartTime:yyyy-MM-dd HH:mm:ss}"); }