public void TimeConversionDaysToMinutes_TestSuccess() { TimeConvertor timeConvert = new TimeConvertor(); int result2 = timeConvert.DaysToMinutes(2535); // nije presao na sledeci test zato sto je nasao gresku u prvom i samim tim ne gleda Assert.Less(result2, 2523535); }
public void TimeConversionDaysToSeconds_TestSuccess() { TimeConvertor timeConvert = new TimeConvertor(); // Treba praviti celu klasu za jednu metodu koju testiramo int result3 = timeConvert.DaysToSeconds(3600); Assert.True(true, "Istina!~!!!", null); }
public void TimeConversion_TestSuccess() { TimeConvertor timeConvert = new TimeConvertor(); // Treba praviti celu klasu za jednu metodu koju testiramo int result = timeConvert.DaysToHours(1); Assert.IsTrue(false, "If false test will fail!"); }
private void DrawConfig(Graphics g) { Font font = new Font(_fontName, 8); StringFormat drawFormat = new StringFormat(); drawFormat.Trimming = StringTrimming.EllipsisCharacter; drawFormat.FormatFlags = StringFormatFlags.NoWrap; int i = 0; int x = _configTextAreaLeftTopPoint.X; int y = _configTextAreaLeftTopPoint.Y; for (; i < _appConfig.MinerInfo.PoolInfos.Length && i < 3; i++) { // url RectangleF rect = new RectangleF(x, y, _configTextAreaWidthArray[0], _configTextAreaHeight); g.DrawString(_appConfig.MinerInfo.PoolInfos[i].PoolURL, font, Brushes.Black, rect, drawFormat); x += _configTextAreaWidthArray[0] + _configTextAreaHGaps[0]; rect = new RectangleF(x, y, _configTextAreaWidthArray[1], _configTextAreaHeight); g.DrawString(_appConfig.MinerInfo.PoolInfos[i].WorkerName, font, Brushes.Black, rect, drawFormat); x += _configTextAreaWidthArray[1] + _configTextAreaHGaps[1]; rect = new RectangleF(x, y, _configTextAreaWidthArray[2], _configTextAreaHeight); g.DrawString(_appConfig.MinerInfo.PoolInfos[i].PoolPort, font, Brushes.Black, rect, drawFormat); //_currentPoolResult bool active = false; x += _configTextAreaWidthArray[2] + _configTextAreaHGaps[2]; string timeString = TimeConvertor.GetTimeString(0); if (_currentPoolResult != null && i < _currentPoolResult.Pools.Length) { timeString = TimeConvertor.GetTimeString(_currentPoolResult.Pools[i].Last_Share_Time * 1000); if (_currentPoolResult.Pools[i].Status.Equals("Alive", StringComparison.InvariantCultureIgnoreCase)) { active = true; } } rect = new RectangleF(x, y, _configTextAreaWidthArray[2], _configTextAreaHeight); g.DrawString(timeString, font, Brushes.Black, rect, drawFormat); if (active) { g.DrawImage(Resources.online, x - 20 - 20, y - 5); } else { g.DrawImage(Resources.offline, x - 20 - 20, y - 5); } x = _configTextAreaLeftTopPoint.X; y += _configTextAreaVGap; } }
public CyclicDayProgramView(CyclicDayProgram setting) { if (setting == null) { return; } StartDate = TimeConvertor.GetTicks(setting.StartDate); DaysInterval = setting.DaysInterval; }
public ColorEntity toEntity(ColorCreateRequest request) { ColorEntity entity = new ColorEntity(); var item = request.Item; entity.ColorId = item.ColorId; entity.ColorName = item.ColorName; entity.DataStatus = 1; entity.CreateTime = TimeConvertor.FromMilliTicks(TimeConvertor.ToMilliTicks(DateTime.Now)); entity.LastUpdateTime = TimeConvertor.FromMilliTicks(TimeConvertor.ToMilliTicks(DateTime.Now)); return(entity); }
public CategoryEntity toEntity(CategoryCreateRequest request) { CategoryEntity entity = new CategoryEntity(); var item = request.Item; entity.Name = item.Name; entity.Description = item.Description; entity.DataStatus = 1; entity.CreateTime = TimeConvertor.FromMilliTicks(TimeConvertor.ToMilliTicks(DateTime.Now)); entity.LastUpdateTime = TimeConvertor.FromMilliTicks(TimeConvertor.ToMilliTicks(DateTime.Now)); return(entity); }
public NoticeCategoryEntity ToEntity(NoticeCategoryCreateRequest request) { NoticeCategoryEntity entity = new NoticeCategoryEntity(); var item = request.Item; entity.Name = item.Name; entity.Title = item.Title; entity.Remark = item.Remark; entity.DataStatus = 1; entity.CreateTime = TimeConvertor.FromMilliTicks(TimeConvertor.ToMilliTicks(DateTime.Now)); entity.LastUpdateTime = TimeConvertor.FromMilliTicks(TimeConvertor.ToMilliTicks(DateTime.Now)); return(entity); }
public TheBookEntity toEntity(TheBookCreateRequest request) { TheBookEntity entity = new TheBookEntity(); var item = request.Item; entity.Title = item.Title; entity.CategoryIds = item.CategoryIds != null?string.Join(";", item.CategoryIds) : null; entity.ColorId = item.ColorId; entity.DataStatus = 1; entity.CreateTime = TimeConvertor.FromMilliTicks(TimeConvertor.ToMilliTicks(DateTime.Now)); entity.LastUpdateTime = TimeConvertor.FromMilliTicks(TimeConvertor.ToMilliTicks(DateTime.Now)); return(entity); }
public NoticeEntity ToEntity(NoticeUpdateRequest request, NoticeEntity oldEntity) { NoticeEntity entity = new NoticeEntity(); var item = request.Item; entity.Id = request.Id; entity.Title = item.Title; entity.Body = item.Body; entity.Category = item.Category; entity.DataStatus = oldEntity.DataStatus; entity.CreateTime = oldEntity.CreateTime; entity.LastUpdateTime = TimeConvertor.FromMilliTicks(TimeConvertor.ToMilliTicks(DateTime.Now)); return(entity); }
public ProgramSettingView(ProgramSetting setting, WeeklyProgramSetting Weeklysetting, CyclicDayProgram cSetting, ExecutionHours[] executionHours, ZoneInProgram[] zones) { Name = setting.Name; ProgramType = (WaterProgramType)setting.WaterUnitID; ProgramID = setting.ProgramID; ProgramNumber = setting.ProgramNumber; Priority = setting.Priority; ConfigID = setting.ConfigID; IsFertilizerON = setting.IsFertilizerON; Status = (StatusType)setting.StatusID; FertExecutionType = (FertExecutionType)setting.FertUnitID; WaterFactor = setting.WaterFactor; HoursExecution = (HoursExecutionType)setting.HoursExecutionsTypeID; DaysExecutionType = (DaysExecutionType)setting.DaysExecutionsTypeID; Advanced = new AdvancedProgramSettingView() { FinalEndDateLimit = setting.FinalEndDateLimit.HasValue ? (long?)TimeConvertor.GetTicks(setting.FinalEndDateLimit.Value) : null, FinalStartDateLimit = setting.FinalStartDateLimit.HasValue ? (long?)TimeConvertor.GetTicks(setting.FinalStartDateLimit.Value) : null, FinalStartHoursLimit = setting.FinalStartHoursLimit, FinalStopHoursLimit = setting.FinalStopHoursLimit }; HourlyCycle = new HourlyCycleView() { HourlyCyclesPerDay = setting.HourlyCyclesPerDay, HourlyCyclesStartTime = setting.HourlyCyclesStartTime, HourlyCycleTime = setting.HourlyCycleTime, HourlyCyclesStopTime = setting.FinalStopHoursLimit }; WeeklyDaysProgram = new ValidDaysView(Weeklysetting); CyclicDayProgram = new CyclicDayProgramView(cSetting); ExecutionHours = executionHours.Select(e => e.ExecTime).ToArray(); ZoneInProgram = zones.Select(z => new ZoneInProgramView(z)).ToArray(); }
public bool SaveSettings(string sN, long programID, ProgramSettingView setting) { var result = false; #region ProgramSetting var psetting = new ProgramSetting() { Name = setting.Name, WaterUnitID = (byte)setting.ProgramType, ProgramID = programID, ProgramNumber = setting.ProgramNumber, Priority = setting.Priority, IsFertilizerON = setting.IsFertilizerON, StatusID = (byte)setting.Status, FertUnitID = (byte)setting.FertExecutionType, WaterFactor = setting.WaterFactor, HoursExecutionsTypeID = (byte)setting.HoursExecution, DaysExecutionsTypeID = (byte)setting.DaysExecutionType, FinalEndDateLimit = setting.Advanced.FinalEndDateLimit.HasValue ? (DateTime?)TimeConvertor.GetDateTime(setting.Advanced.FinalEndDateLimit.Value) : null, FinalStartDateLimit = setting.Advanced.FinalStartDateLimit.HasValue ? (DateTime?)TimeConvertor.GetDateTime(setting.Advanced.FinalStartDateLimit.Value) : null, FinalStartHoursLimit = setting.Advanced.FinalStartHoursLimit, FinalStopHoursLimit = setting.Advanced.FinalStopHoursLimit, HourlyCyclesPerDay = setting.HourlyCycle.HourlyCyclesPerDay, HourlyCyclesStartTime = setting.HourlyCycle.HourlyCyclesStartTime, HourlyCyclesStopTime = setting.HourlyCycle.HourlyCycleTime, HourlyCycleTime = setting.HourlyCycle.HourlyCyclesStopTime }; result = _AdminRepository.ProgramSetting_Update(psetting); if (!result) { return(result); } #endregion #region cyclicsetting var cyclicsetting = new CyclicDayProgram() { ProgramID = programID, DaysInterval = setting.CyclicDayProgram.DaysInterval, StartDate = TimeConvertor.GetDateTime(setting.CyclicDayProgram.StartDate) }; result = _AdminRepository.CyclicDayProgram_Update(cyclicsetting); if (!result) { return(result); } #endregion #region ExecutionHours var ExecutionHours = setting.ExecutionHours.Select(e => new ExecutionHours { ExecTime = e }).ToArray(); result = _AdminRepository.ExecutionHoursProgram_Update(programID, ExecutionHours); if (!result) { return(result); } #endregion #region WeeklyDaysProgram var w_days = setting.WeeklyDaysProgram.Days; var WeeklyDaysProgram = new WeeklyProgramSetting() { ProgramID = programID, Sunday = w_days[0].IsEnabled, Monday = w_days[1].IsEnabled, Tuesday = w_days[2].IsEnabled, Wednesday = w_days[3].IsEnabled, Thursday = w_days[4].IsEnabled, Friday = w_days[5].IsEnabled, Saturday = w_days[6].IsEnabled }; result = _AdminRepository.WeeklyProgramSetting_Update(WeeklyDaysProgram); if (!result) { return(result); } #endregion #region ZoneInProgram //GET All zone in program from DB var zone_dbList = _AdminRepository.ZonesInProgram_Get(programID).ToList(); for (int i = 0; i < setting.ZoneInProgram.Length; i++) { var zone = setting.ZoneInProgram[i]; zone_dbList.RemoveAll(s => s.ZoneNumber == zone.ZoneNumber); var zone_db = new ZoneInProgram() { FertQuant = zone.FertQuant, FertTime = zone.FertTime, OrderNumber = zone.OrderNumber, ProgramID = programID, WaterAfter = zone.WaterAfter, WaterBefore = zone.WaterBefore, WaterDuration = zone.WaterDuration, WaterPrecipitation_Duration = zone.Precipitation_Duration, WaterPrecipitation_Quantity = zone.Precipitation_Quantity, WaterQuantity = zone.WaterQuantity, ZoneNumber = zone.ZoneNumber }; result = _AdminRepository.ZoneInProgram_Update(zone_db); if (!result) { return(result); } } if (zone_dbList.Count > 0) { foreach (var item in zone_dbList) { result = _AdminRepository.ZoneInProgram_Delete(item.ZoneNumber, programID); if (!result) { return(result); } } } #endregion return(true); }
public ScheduledIrrigationView[] GetScheduled(string sN, long StartTicks, long EndTicks) { var sDate = TimeConvertor.GetDateTime(StartTicks); DateTime Start = new DateTime(sDate.Year, sDate.Month, sDate.Day, 0, 0, 0); var eDate = TimeConvertor.GetDateTime(EndTicks); DateTime End = new DateTime(eDate.Year, eDate.Month, eDate.Day, 23, 59, 59); var ScheduledIrrigation = new List <ScheduledIrrigationView>(); var ProgramList = _AdminRepository.DevicePrograms_Get(sN).Where(p => (!p.FinalEndDateLimit.HasValue || p.FinalEndDateLimit.Value > End) && (!p.FinalStartDateLimit.HasValue || p.FinalStartDateLimit.Value < Start) && (StatusType)p.StatusID == StatusType.Active).ToArray(); var MainPipe = _AdminRepository.MainPipeSettings_Get(sN); var device_WaterFactor = MainPipe != null ? MainPipe.WaterFactor : 100; var ZoneSetting = _AdminRepository.DeviceZoneSetting_Get(sN); foreach (var program in ProgramList) { var PeriodDate = new List <DateTime>(); var ExecutionTimes = new List <ExecutionTime>(); decimal WaterFactor = (program.WaterFactor != 100 ? program.WaterFactor : device_WaterFactor) * 0.01m; #region Weekly - Get the allow watering days if ((DaysExecutionType)program.DaysExecutionsTypeID == DaysExecutionType.Weekly) { var weeklyDays = _AdminRepository.WeeklyProgramSetting_Get(program.ProgramID); var tempStart = Start; while (tempStart < End) { switch (tempStart.DayOfWeek) { case DayOfWeek.Sunday: if (weeklyDays.Sunday) { PeriodDate.Add(tempStart); } break; case DayOfWeek.Monday: if (weeklyDays.Monday) { PeriodDate.Add(tempStart); } break; case DayOfWeek.Tuesday: if (weeklyDays.Tuesday) { PeriodDate.Add(tempStart); } break; case DayOfWeek.Wednesday: if (weeklyDays.Wednesday) { PeriodDate.Add(tempStart); } break; case DayOfWeek.Thursday: if (weeklyDays.Thursday) { PeriodDate.Add(tempStart); } break; case DayOfWeek.Friday: if (weeklyDays.Friday) { PeriodDate.Add(tempStart); } break; case DayOfWeek.Saturday: if (weeklyDays.Saturday) { PeriodDate.Add(tempStart); } break; } tempStart = tempStart.AddDays(1); } } #endregion #region CyclicDayProgram -StartDate and DaysInterval else if ((DaysExecutionType)program.DaysExecutionsTypeID == DaysExecutionType.Cyclic) { var CyclicSetting = _AdminRepository.CyclicDayProgram_Get(program.ProgramID); var tempStart = CyclicSetting.StartDate > Start ? CyclicSetting.StartDate : Start; tempStart = new DateTime(tempStart.Year, tempStart.Month, tempStart.Day, 0, 0, 0); while (tempStart < End) { PeriodDate.Add(tempStart); tempStart = tempStart.AddDays(CyclicSetting.DaysInterval); } } #endregion #region Fixed Time - By Execution Hours if ((HoursExecutionType)program.HoursExecutionsTypeID == HoursExecutionType.Fixed) { var ExecuTimes = _AdminRepository.ExecutionHoursProgram_Get(program.ProgramID); foreach (var item_Date in PeriodDate) { foreach (var startTime in ExecuTimes) { var initialStart = item_Date.AddSeconds(startTime.ExecTime); ExecutionTimes.Add(new ExecutionTime() { StartDate = initialStart }); } } } #endregion #region Interval time - StartTime ,Cycl and Interval Spent time else if ((HoursExecutionType)program.HoursExecutionsTypeID == HoursExecutionType.Interval) { foreach (var item_Date in PeriodDate) { var CyclesPerDay = program.HourlyCyclesPerDay; var Counter = 0; var StartTime = program.HourlyCyclesStartTime; while (Counter < CyclesPerDay) { var item_Date1 = item_Date.AddSeconds(StartTime + Counter * program.HourlyCycleTime); ExecutionTimes.Add(new ExecutionTime() { StartDate = item_Date1, Interval = Counter }); Counter++; } } } #endregion #region ExecutionTimes over ZoneInProgram var ZoneInProgram = _AdminRepository.ZonesInProgram_Get(program.ProgramID); foreach (var item_time in ExecutionTimes) { ScheduledIrrigationView item_Scheduled = new ScheduledIrrigationView() { ProgramID = program.ProgramID, StartDate = item_time.StartDate, Interval = item_time.Interval, Zones = new List <ZoneScheduledItemView>(), Name = program.Name, IsFertilizerON = program.IsFertilizerON, }; ScheduledIrrigation.Add(item_Scheduled); var startTime = item_time.StartDate; DateTime endTime = new DateTime(); var midnightTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, 0, 0, 0).AddDays(1); var totalTime = 0; foreach (var Zoneitem in ZoneInProgram) { var zoneSetting = ZoneSetting.Where(z => z.OutputNumber == Zoneitem.ZoneNumber).FirstOrDefault(); if (zoneSetting != null) { zoneSetting = new GSI.DAL.DataAccessLayer.Models.Zone.ZoneSetting() { ZoneColor = 15658734, OutputNumber = Zoneitem.ZoneNumber, Name = "Name" + Zoneitem.ZoneNumber }; } var WaterMeterSetting = _AdminRepository.WaterMeterSetting_Get(sN); var FlowTypeID = WaterMeterSetting != null ? (WaterMeter_FlowType?)WaterMeterSetting.FlowTypeID : null; var FlowValue = zoneSetting.SetupNominalFlow != null ? zoneSetting.SetupNominalFlow : zoneSetting.LastFlow; var PulseTypeID = WaterMeterSetting != null ? (WaterMeter_PulseType)WaterMeterSetting.PulseTypeID : WaterMeter_PulseType.LITER_AS_LITER; int WaterDuration_Seconds = GetDurationTime(FlowTypeID, FlowValue, PulseTypeID, (WaterProgramType)program.WaterUnitID, zoneSetting, Zoneitem); WaterDuration_Seconds = (int)(WaterDuration_Seconds * WaterFactor); endTime = startTime.AddSeconds(WaterDuration_Seconds); totalTime += WaterDuration_Seconds; if (midnightTime < endTime) { item_Scheduled = new ScheduledIrrigationView() { StartDate = midnightTime, ProgramID = item_Scheduled.ProgramID, Interval = item_time.Interval, Zones = new List <ZoneScheduledItemView>(), Name = program.Name, IsFertilizerON = program.IsFertilizerON, }; midnightTime = new DateTime(endTime.Year, endTime.Month, endTime.Day, 0, 0, 0).AddDays(1); ScheduledIrrigation.Add(item_Scheduled); } item_Scheduled.Zones.Add(new ZoneScheduledItemView() { Duration = Zoneitem.WaterDuration, FertQuant = Zoneitem.FertQuant, FertTime = Zoneitem.FertTime, WaterAfter = Zoneitem.WaterAfter, WaterBefore = Zoneitem.WaterBefore, Zone = new ZoneScheduledInfoView() { Color = zoneSetting.ZoneColor, ZoneNum = zoneSetting.OutputNumber, Name = zoneSetting.Name }, StartTime = startTime, EndTime = endTime }); startTime = endTime; } item_Scheduled.EndDate = endTime; } #endregion } return(ScheduledIrrigation.ToArray()); }