Exemple #1
0
 public static void getClassUse(CheckSchedule objc)
 {
     //objc.Calculate(1);
     Console.WriteLine("Enter the room type as general or icu");
     room_Type = Console.ReadLine().ToLower();
     if (room_Type.Equals("general"))
     {
         Console.WriteLine("Enter the duration in only hours");
         duration = Convert.ToInt32(Console.ReadLine());
         total    = (total + 30) * duration;
         Console.WriteLine("Enter the proced name as p1 or p2 can select only one");
         proced_Name = Console.ReadLine().ToLower();
         if (proced_Name.Equals("p1"))
         {
             total = total + objc.proced1();
             objc.Calculate(total);
         }
         else if (proced_Name.Equals("p2"))
         {
             total = total + objc.proced2();
             objc.Calculate(total);
         }
         else
         {
             Console.WriteLine("No Procdure");
         }
     }
     else if (room_Type.Equals("icu"))
     {
         Console.WriteLine("Enter the duration in only hours");
         duration = Convert.ToInt32(Console.ReadLine());
         total    = (total + 50) * duration;
         Console.WriteLine("Enter the proced name as p1 or p2 can select only one");
         proced_Name = Console.ReadLine().ToLower();
         if (proced_Name.Equals("p1"))
         {
             total = total + objc.proced1();
             objc.Calculate(total);
         }
         else if (proced_Name.Equals("p2"))
         {
             total = total + objc.proced2();
             objc.Calculate(total);
         }
         else
         {
             Console.WriteLine("No Procdure");
         }
     }
     else
     {
         Console.WriteLine("Not a room Type");
     }
 }
 private TriggerKey GetTriggerKeyForSchedule(CheckSchedule schedule)
 {
     return(new TriggerKey($"schedule-{schedule.ID}"));
 }
Exemple #3
0
        public async Task Run(Check check, CheckSchedule schedule, ICheckLogger logger)
        {
            _check    = check;
            _schedule = schedule;
            _logger   = logger;

            var result = new CheckResult
            {
                CheckID = check.ID
            };

            try
            {
                await _helper.LoadResultStatuses();

                _settings = await _helper.GetSettings();

                if (_schedule?.SkipPublicHolidays ?? false)
                {
                    if (!Enum.TryParse <CountryCode>(_settings.Global.CountryCode, out var countryCode))
                    {
                        throw new Exception($"Please configure country code in global settings to use {nameof(schedule.SkipPublicHolidays)}");
                    }
                    if (DateSystem.IsPublicHoliday(DateTime.Now, countryCode))
                    {
                        logger.Info("Check cancelled as it is a public holiday");
                        return;
                    }
                }
                result.Status = _helper.GetResultStatus(ResultStatusEnum.Success);
                logger.Info($"Starting check using {GetType().Name}");
                result = await PerformCheck(result);
            }
            catch (SubCheckException e)
            {
                result.Status = _helper.GetResultStatus(ResultStatusEnum.SubCheckFailed);
                logger.Error("Failed to run check - sub-check failed");
                logger.Error(e.ToString());
            }
            catch (Exception e)
            {
                result.Status = _helper.GetResultStatus(ResultStatusEnum.Failed);
                logger.Error("Failed to run check");
                logger.Error(e.ToString());
            }
            Action <string> log = logger.Error;

            switch (result.Status?.Type.Identifier)
            {
            case nameof(ResultTypeEnum.Success):
                log = logger.Info;
                break;

            case nameof(ResultTypeEnum.Warning):
                log = logger.Warn;
                break;

            case nameof(ResultTypeEnum.Failed):
                log = logger.Error;
                break;
            }
            log($"Result: {result.Status?.Name ?? "Unknown"} (Type: {result.Status?.Type.Name ?? "Unknown"})");
            if (result.TimeMS > 0)
            {
                log($"TimeMS: {result.TimeMS}");
            }
            result.DTS = DateTime.UtcNow;

            try
            {
                await _helper.SaveResult(result);
            }
            catch (Exception e)
            {
                logger.Error("Failed to save check result");
                logger.Error(e.ToString());
            }

            try
            {
                await _helper.RunNotifiers(check, result, _settings, logger);
            }
            catch (Exception e)
            {
                logger.Error("Failed to run notifiers");
                logger.Error(e.ToString());
            }

            logger.Done("Check completed");
        }