private bool CheckIfHoursAreCorrect(AlarmProfilerDayDefinition day) { if (day.AlwaysSend) { return(true); } else if (day.NeverSend) { return(false); } else if (day.SendBetween) { int hour = DateTime.Now.Hour; //if current hour is greather or equal to lower hour limit and less than upper hour limit if (hour >= day.LowerHour && hour < day.UpperHour) { return(true); } else { return(false); } } else { return(false); } }
//writing single day data to DB private bool WriteSingleDayToDB(AlarmProfilerDayDefinition day, int profileID) { try { _realm.Write(() => { _realm.Add(new AlarmProfilerDayDefinition() { Identity = GetNewIdentity(new AlarmProfilerDayDefinition()), ProfileForeignKey = profileID, DayNumber = day.DayNumber, AlwaysSend = day.AlwaysSend, NeverSend = day.NeverSend, SendBetween = day.SendBetween, LowerHour = day.LowerHour, UpperHour = day.UpperHour, }); }); return(true); } catch (Exception ex) { _logger.Error($"Error while trying to add single day of alarm profile definition: {ex.Message}."); return(false); } }
public bool CheckSendingPermissions() { List <AlarmProfilerDayDefinition> days = GetListOfAlarmDefinitions(); AlarmProfilerDayDefinition day = GetProperDay(days); return(CheckIfHoursAreCorrect(day)); }
//assigning new instances to days private void AssignInstancesToDays() { _monday = new AlarmProfilerDayDefinition(); _tuesday = new AlarmProfilerDayDefinition(); _wednesday = new AlarmProfilerDayDefinition(); _thursday = new AlarmProfilerDayDefinition(); _friday = new AlarmProfilerDayDefinition(); _saturday = new AlarmProfilerDayDefinition(); _sunday = new AlarmProfilerDayDefinition(); }
private void SaveProfileToDB(AlarmProfileCreator creator, FullAlarmProfileDefinition definition) { //convert models of alarms profile export into realm DB class List <AlarmProfilerDayDefinition> realmDaysList = new List <AlarmProfilerDayDefinition>(); foreach (var item in definition.DaysList) { AlarmProfilerDayDefinition realmDay = new AlarmProfilerDayDefinition() { Identity = item.Identity, DayNumber = item.DayNumber, AlwaysSend = item.AlwaysSend, NeverSend = item.NeverSend, SendBetween = item.SendBetween, UpperHour = item.UpperHour, LowerHour = item.LowerHour, ProfileForeignKey = item.ProfileForeignKey, }; realmDaysList.Add(realmDay); } bool added = creator.SaveNewProfile(definition.AlarmProfileDefinition.CreatedBy, definition.AlarmProfileDefinition.ProfileName, definition.AlarmProfileDefinition.ProfileComment, realmDaysList); string message; if (added) { message = $"Alarm urgency profile successfully added to database."; } else { message = $"Alarm urgency profile NOT ADDED to Database."; } OnSingleImportDone(added, definition.AlarmProfileDefinition.ProfileName, message, false); }
//method for modifying one day definition private bool ModifyOneDayDefinition(int profileID, AlarmProfilerDayDefinition day) { try { AlarmProfilerDayDefinition definition = _realm.All <AlarmProfilerDayDefinition>().Single(x => x.ProfileForeignKey == profileID && x.DayNumber == day.DayNumber); using (var trans = _realm.BeginWrite()) { definition.AlwaysSend = day.AlwaysSend; definition.NeverSend = day.NeverSend; definition.SendBetween = day.SendBetween; definition.LowerHour = day.LowerHour; definition.UpperHour = day.UpperHour; trans.Commit(); } return(true); } catch (Exception ex) { _logger.Error($"Error while trying to modify one day definition of alarm profile: {profileID} : {ex.Message}."); return(false); } }
//assigning values to days properties private void AssignDayStartValues(AlarmProfilerDayDefinition day, int dayNumber) { switch (dayNumber) { case 0: if (day != null) { SundayDayNumber = 0; SundayAlwaysSend = day.AlwaysSend; SundayNeverSend = day.NeverSend; SundaySendBetween = day.SendBetween; SundayLowerHour = day.LowerHour; SundayUpperHour = day.UpperHour; break; } else { SundayDayNumber = 0; SundayAlwaysSend = true; SundayNeverSend = false; SundaySendBetween = false; SundayLowerHour = 0; SundayUpperHour = 24; break; } case 1: if (day != null) { MondayDayNumber = 1; MondayAlwaysSend = day.AlwaysSend; MondayNeverSend = day.NeverSend; MondaySendBetween = day.SendBetween; MondayLowerHour = day.LowerHour; MondayUpperHour = day.UpperHour; break; } else { MondayDayNumber = 1; MondayAlwaysSend = true; MondayNeverSend = false; MondaySendBetween = false; MondayLowerHour = 0; MondayUpperHour = 24; break; } case 2: if (day != null) { TuesdayDayNumber = 2; TuesdayAlwaysSend = day.AlwaysSend; TuesdayNeverSend = day.NeverSend; TuesdaySendBetween = day.SendBetween; TuesdayLowerHour = day.LowerHour; TuesdayUpperHour = day.UpperHour; break; } else { TuesdayDayNumber = 2; TuesdayAlwaysSend = true; TuesdayNeverSend = false; TuesdaySendBetween = false; TuesdayLowerHour = 0; TuesdayUpperHour = 24; break; } case 3: if (day != null) { WednesdayDayNumber = 3; WednesdayAlwaysSend = day.AlwaysSend; WednesdayNeverSend = day.NeverSend; WednesdaySendBetween = day.SendBetween; WednesdayLowerHour = day.LowerHour; WednesdayUpperHour = day.UpperHour; break; } else { WednesdayDayNumber = 3; WednesdayAlwaysSend = true; WednesdayNeverSend = false; WednesdaySendBetween = false; WednesdayLowerHour = 0; WednesdayUpperHour = 24; break; } case 4: if (day != null) { ThursdayDayNumber = 4; ThursdayAlwaysSend = day.AlwaysSend; ThursdayNeverSend = day.NeverSend; ThursdaySendBetween = day.SendBetween; ThursdayLowerHour = day.LowerHour; ThursdayUpperHour = day.UpperHour; break; } else { ThursdayDayNumber = 4; ThursdayAlwaysSend = true; ThursdayNeverSend = false; ThursdaySendBetween = false; ThursdayLowerHour = 0; ThursdayUpperHour = 24; break; } case 5: if (day != null) { FridayDayNumber = 5; FridayAlwaysSend = day.AlwaysSend; FridayNeverSend = day.NeverSend; FridaySendBetween = day.SendBetween; FridayLowerHour = day.LowerHour; FridayUpperHour = day.UpperHour; break; } else { FridayDayNumber = 5; FridayAlwaysSend = true; FridayNeverSend = false; FridaySendBetween = false; FridayLowerHour = 0; FridayUpperHour = 24; break; } case 6: if (day != null) { SaturdayDayNumber = 6; SaturdayAlwaysSend = day.AlwaysSend; SaturdayNeverSend = day.NeverSend; SaturdaySendBetween = day.SendBetween; SaturdayLowerHour = day.LowerHour; SaturdayUpperHour = day.UpperHour; break; } else { SaturdayDayNumber = 6; SaturdayAlwaysSend = true; SaturdayNeverSend = false; SaturdaySendBetween = false; SaturdayLowerHour = 0; SaturdayUpperHour = 24; break; } } }