public bool FertilizerSetting_Update(string SN, FertilizerSetting FertilizerSetting) { var Result = false; int rowsAffected = 0; Connector.GetProcedureResultInt32("config.FertilizerSetting_Update", new IDataParameter[] { Connector.CreateParameter("SN", SN), Connector.CreateParameter("ContinuousFert", FertilizerSetting.ContinuousFert), Connector.CreateParameter("FerlizerFaillureTime", FertilizerSetting.FerlizerFaillureTime), Connector.CreateParameter("FlowTypeID", FertilizerSetting.FlowTypeID), Connector.CreateParameter("IsEnabled", FertilizerSetting.IsEnabled), Connector.CreateParameter("Leakage", FertilizerSetting.Leakage), Connector.CreateParameter("NominalFlow", FertilizerSetting.NominalFlow), Connector.CreateParameter("OutputNumber", FertilizerSetting.OutputNumber), Connector.CreateParameter("PulseSize", FertilizerSetting.PulseSize), Connector.CreateParameter("PulseTime", FertilizerSetting.PulseTime), Connector.CreateParameter("PulseTypeID", FertilizerSetting.PulseTypeID), Connector.CreateParameter("TypeID", FertilizerSetting.TypeID), }, out rowsAffected, out Result); return(Result); }
public DeviceSettingTitleView(FertilizerSetting fert, WaterMeterSetting waterMeter, GeneralSettings setting, MainPipeSettings MainPipe, ZoneSetting[] zonelist) { if (setting != null) { LandTypeID = (LandType)setting.LandTypeID; IsAdvancedFert = setting.Flag_AdvancedFert; } if (zonelist != null) { Zones = zonelist.Select(z => new ZoneInfoView() { Color = z.ZoneColor, Name = z.Name, ZoneNum = z.OutputNumber, Precipitation_AllowDuration = z.PrecipitationRate != null && z.PrecipitationRate > 0, Precipitation_AllowQuantity = z.IrrigrationArea != null && z.IrrigrationArea > 0 } ).ToArray(); } Fertilizer = new FertilizerSettingView(fert); WaterMeter = new WaterMeterSettingView(waterMeter); ValidDays = new ValidDaysView(MainPipe); }
public FertilizerSettingView(FertilizerSetting f) { if (f == null) { return; } OutputNumber = f.OutputNumber; ContinuousFert = f.ContinuousFert; PulseSize = f.PulseSize; PulseTime = f.PulseTime; FerlizerFaillureTime = f.FerlizerFaillureTime; Leakage = f.Leakage; FertilizerType = (FertilizerType)f.TypeID; PulseTypeID = (Fertilizer_PulseType)f.PulseTypeID; FlowTypeID = (Fertilizer_FlowType)f.FlowTypeID; IsEnabled = f.IsEnabled; NominalFlow = f.NominalFlow; }
public bool SaveSettings(string SN, SettingsView setting) { var result = false; #region GeneralSettings if (setting.AdvancedSettings != null && setting.DeviceInfo != null && setting.GeneralSetting != null) { var gSetting = new GeneralSettings() { IsMetric = setting.AdvancedSettings.IsMetric, LandTypeID = (byte)setting.AdvancedSettings.LandType, Name = setting.DeviceInfo.Name, Status = (byte)setting.GeneralSetting.Status, CustomTimeZoneID = setting.GeneralSetting.TimeZoneID }; result = _AdminRepository.GeneralSettings_Update(SN, gSetting); if (!result) { return(result); } } #endregion #region MainPipe if (setting.RainSensor != null && setting.IrrgationSetting != null && setting.GeneralSetting != null) { var mainpSetting = new MainPipeSettings() { RainDetectorEnabled = setting.RainSensor.Active, RainyDaysStopper = setting.RainSensor.SuspendDays, RainDetectorNC = setting.RainSensor.NC, IsLocalSequenceActive = setting.IrrgationSetting.IsLocalSequenceActive, ProgramsAsQueue = setting.IrrgationSetting.ProgramsAsQueue, UseMaster = setting.GeneralSetting.UseMaster }; var days = setting.GeneralSetting.ValidDays; if (days != null && days.Days != null) { mainpSetting.DSundayState = days.Days[0].IsEnabled; mainpSetting.DMondayState = days.Days[1].IsEnabled; mainpSetting.DTuesdayState = days.Days[2].IsEnabled; mainpSetting.DWednesdayState = days.Days[3].IsEnabled; mainpSetting.DThursdayState = days.Days[4].IsEnabled; mainpSetting.DFridayState = days.Days[5].IsEnabled; mainpSetting.DSaturdayState = days.Days[6].IsEnabled; } result = _AdminRepository.MainPipeSettings_Update(SN, mainpSetting); if (!result) { return(result); } } #endregion #region Fertilizer if (setting.Fertilizer != null) { var fertSetting = new FertilizerSetting() { OutputNumber = setting.Fertilizer.OutputNumber, TypeID = (byte)setting.Fertilizer.FertilizerType, ContinuousFert = setting.Fertilizer.ContinuousFert, PulseSize = setting.Fertilizer.PulseSize, PulseTime = setting.Fertilizer.PulseTime, FerlizerFaillureTime = setting.Fertilizer.FerlizerFaillureTime, Leakage = setting.Fertilizer.Leakage, PulseTypeID = (byte)setting.Fertilizer.PulseTypeID, FlowTypeID = (byte)setting.Fertilizer.FlowTypeID, IsEnabled = setting.Fertilizer.IsEnabled, NominalFlow = setting.Fertilizer.NominalFlow }; result = _AdminRepository.FertilizerSetting_Update(SN, fertSetting); if (!result) { return(result); } } #endregion #region WaterMeter if (setting.WaterMeter != null) { var wMeterSetting = new WaterMeterSetting() { MeterTypeID = (byte)setting.WaterMeter.MeterType, PulseSize = setting.WaterMeter.PulseSize, IsEnabled = setting.WaterMeter.IsEnabled, PulseTypeID = (byte)setting.WaterMeter.PulseTypeID, FlowTypeID = (byte)setting.WaterMeter.FlowTypeID, NoWaterPulseDelay = setting.WaterMeter.NoWaterPulseDelay, LeakageLimit = setting.WaterMeter.LeakageLimit }; result = _AdminRepository.WaterMeterSetting_Update(SN, wMeterSetting); if (!result) { return(result); } } #endregion #region IrrExceptionDates if (setting.IrrgationSetting.RestrictedDates != null) { RestrictedDates[] IrrExceptionDates = setting.IrrgationSetting.RestrictedDates.Select(d => new RestrictedDates() { ExceptionDate = d }).ToArray(); result = _AdminRepository.IrrExceptionDates_Update(SN, IrrExceptionDates); if (!result) { return(result); } } #endregion return(result); }
public void TestAllSetting() { var device = CreateDevice(); #region GeneralSettings { var setting = new GeneralSettings() { IsMetric = true, LandTypeID = 1, CustomTimeZoneID = 150, ModelID = 1, Name = "device00", Status = 0, Flag_AdvancedFert = true }; Assert.IsTrue(Repository.GeneralSettings_Update(device.SN, setting)); var s_db = Repository.GeneralSettings_Get(device.SN); Assert.IsTrue(s_db != null); Assert.IsTrue(s_db.IsMetric == setting.IsMetric); Assert.IsTrue(s_db.CustomTimeZoneID == setting.CustomTimeZoneID); Assert.IsTrue(s_db.LandTypeID == setting.LandTypeID); Assert.IsTrue(s_db.Flag_AdvancedFert == setting.Flag_AdvancedFert); Assert.IsTrue(s_db.Status == setting.Status); Assert.IsTrue(s_db.ModelID == setting.ModelID); Assert.IsTrue(s_db.Name == setting.Name); } #endregion #region MainPipeSettings { var setting = new MainPipeSettings() { UseMaster = false, RainyDaysStopper = 10, RainDetectorNC = true, IsLocalSequenceActive = true, ProgramsAsQueue = false, RainDetectorEnabled = true, OverlapTime = 13, DSundayState = true, DMondayState = false, DTuesdayState = true, DWednesdayState = false, DThursdayState = true, DFridayState = false, DSaturdayState = true, WaterFactor = 99 }; for (int i = 0; i < 2; i++) { Assert.IsTrue(Repository.MainPipeSettings_Update(device.SN, setting)); var s_db = Repository.MainPipeSettings_Get(device.SN); Assert.IsTrue(s_db != null); Assert.IsTrue(s_db.UseMaster == setting.UseMaster); Assert.IsTrue(s_db.WaterFactor == setting.WaterFactor); Assert.IsTrue(s_db.RainyDaysStopper == setting.RainyDaysStopper); Assert.IsTrue(s_db.RainDetectorNC == setting.RainDetectorNC); Assert.IsTrue(s_db.RainDetectorEnabled == setting.RainDetectorEnabled); Assert.IsTrue(s_db.ProgramsAsQueue == setting.ProgramsAsQueue); Assert.IsTrue(s_db.OverlapTime == setting.OverlapTime); Assert.IsTrue(s_db.IsLocalSequenceActive == setting.IsLocalSequenceActive); Assert.IsTrue(s_db.DSundayState == setting.DSundayState); Assert.IsTrue(s_db.DMondayState == setting.DMondayState); Assert.IsTrue(s_db.DTuesdayState == setting.DTuesdayState); Assert.IsTrue(s_db.DWednesdayState == setting.DWednesdayState); Assert.IsTrue(s_db.DThursdayState == setting.DThursdayState); Assert.IsTrue(s_db.DFridayState == setting.DFridayState); Assert.IsTrue(s_db.DSaturdayState == setting.DSaturdayState); setting = new MainPipeSettings() { UseMaster = true, RainyDaysStopper = 11, RainDetectorNC = false, IsLocalSequenceActive = true, ProgramsAsQueue = false, RainDetectorEnabled = true, OverlapTime = 13, DSundayState = true, DMondayState = false, DTuesdayState = true, DWednesdayState = false, DThursdayState = false, DFridayState = true, DSaturdayState = false, WaterFactor = 33 }; } } #endregion #region IrrExceptionDates { var now = DateTime.Now; var setting = new RestrictedDates[] { new RestrictedDates { ExceptionDate = now }, new RestrictedDates { ExceptionDate = now.AddDays(1) }, new RestrictedDates { ExceptionDate = now.AddMonths(1) } }; for (int i = 0; i < 3; i++) { Assert.IsTrue(Repository.IrrExceptionDates_Update(device.SN, setting)); var s_db = Repository.IrrExceptionDates_Get(device.SN); Assert.IsTrue(s_db != null); Assert.IsTrue(s_db.Length == setting.Length); for (int j = 0; j < s_db.Length; j++) { EqualsDate(s_db[j].ExceptionDate, setting[j].ExceptionDate); } now = DateTime.Now.AddMonths(i); setting = new RestrictedDates[] { new RestrictedDates { ExceptionDate = now }, new RestrictedDates { ExceptionDate = now.AddDays(1) }, new RestrictedDates { ExceptionDate = now.AddMonths(1) } }; } } #endregion #region FertilizerSetting { var setting = new FertilizerSetting() { ContinuousFert = true, FerlizerFaillureTime = 11, FlowTypeID = 2, IsEnabled = true, Leakage = 33, NominalFlow = 2, OutputNumber = 1, PulseSize = 2, PulseTime = 3, PulseTypeID = 1, TypeID = 1 }; for (int i = 0; i < 2; i++) { Assert.IsTrue(Repository.FertilizerSetting_Update(device.SN, setting)); var s_db = Repository.FertilizerSetting_Get(device.SN); Assert.IsTrue(s_db != null); Assert.IsTrue(s_db.ContinuousFert == setting.ContinuousFert); Assert.IsTrue(s_db.FerlizerFaillureTime == setting.FerlizerFaillureTime); Assert.IsTrue(s_db.FlowTypeID == setting.FlowTypeID); Assert.IsTrue(s_db.IsEnabled == setting.IsEnabled); Assert.IsTrue(s_db.Leakage == setting.Leakage); Assert.IsTrue(s_db.NominalFlow == setting.NominalFlow); Assert.IsTrue(s_db.OutputNumber == setting.OutputNumber); Assert.IsTrue(s_db.PulseSize == setting.PulseSize); Assert.IsTrue(s_db.PulseTime == setting.PulseTime); Assert.IsTrue(s_db.PulseTypeID == setting.PulseTypeID); Assert.IsTrue(s_db.TypeID == setting.TypeID); setting = new FertilizerSetting() { ContinuousFert = false, FerlizerFaillureTime = 12, FlowTypeID = 1, IsEnabled = false, Leakage = 22, NominalFlow = 3, OutputNumber = 0, PulseSize = 1, PulseTime = 2, PulseTypeID = 0, TypeID = 2 }; } } #endregion #region WaterMeterSetting { var setting = new WaterMeterSetting() { FlowTypeID = 1, IsEnabled = true, LeakageLimit = 1, MeterTypeID = 0, NoWaterPulseDelay = 11, PulseSize = 10, PulseTypeID = 1 }; for (int i = 0; i < 2; i++) { Assert.IsTrue(Repository.WaterMeterSetting_Update(device.SN, setting)); var s_db = Repository.WaterMeterSetting_Get(device.SN); Assert.IsTrue(s_db != null); Assert.IsTrue(s_db.FlowTypeID == setting.FlowTypeID); Assert.IsTrue(s_db.IsEnabled == setting.IsEnabled); Assert.IsTrue(s_db.LeakageLimit == setting.LeakageLimit); Assert.IsTrue(s_db.MeterTypeID == setting.MeterTypeID); Assert.IsTrue(s_db.NoWaterPulseDelay == setting.NoWaterPulseDelay); Assert.IsTrue(s_db.PulseSize == setting.PulseSize); Assert.IsTrue(s_db.PulseTypeID == setting.PulseTypeID); setting = new WaterMeterSetting() { FlowTypeID = 2, IsEnabled = false, LeakageLimit = 11, MeterTypeID = 1, NoWaterPulseDelay = 22, PulseSize = 1, PulseTypeID = 2 }; } } #endregion }