refactor next code - "foreach (RunningMachineEF runingCheck in runingChecksToUpdateTwo)
                {
                    var dateTimeNow = DateTime.Parse(DateTime.Now.ToString().Replace("Z", ""));
                    _logger.LogDebug($"Текущая дата: {dateTimeNow}");
                    DateTime lastDone;
                    var part = "";
                    var period = "";

                    try
                    {
                        part = runingCheck.Part;
                        period = runingCheck.Period;
                        _logger.LogDebug($"Проверка {n} имеет издели: {part} и периодичность проверки {period}");
                        TimeSpan timeToAdd = ParseTimeStringToTimeSpan(period);

                        if (part == "DOWNTIME" || timeToAdd == TimeSpan.Zero || part == "" || part == null)
                        {
                            _logger.LogDebug($"Проверка {n} не просрочена");
                            result = "Нет";
                            //runingCheck.EFAttributes["Проверка просрочена"].Value = result;
                            runingCheck.IsExpired = result;
                            //runingCheckToLoad.Add(runingCheck);
                            n++;
                            continue;
                        }

                        try
                        {
                            lastDone = (DateTime.Parse(runingCheck.LastCheckTime.ToString()));
                        }
                        catch (Exception e)
                        {
                            _logger.LogDebug($"Проверка {n} просрочена, т.к. не удалось получить дату посленей проверки");
                            result = "Да";
                            //runingCheck.EFAttributes["Проверка просрочена"].Value = result;
                            runingCheck.IsExpired = result;
                            //runingCheckToLoad.Add(runingCheck);
                            _logger.LogError(e.Message);
                            n++;
                            continue;
                        }

                        DateTime nextCheckDate = lastDone.Add(timeToAdd);
                        _logger.LogDebug($"Дата следующей проверки {n}: {nextCheckDate}");
                        int compareDate = nextCheckDate.CompareTo(dateTimeNow);

                        var isExpired = compareDate < 0;

                        runingCheck.IsExpired = isExpired ? "Да" : "Нет";
                        _logger.LogDebug($"Проверка {n} {(isExpired ? "просрочена" : "не просрочена")}");

                    }
                    catch (Exception e) {
                        _logger.LogDebug($"Проверка {n} не просрочена, т.к. не удалось получить Изделие/Периодичность проверки или что-то пошло не так");
                        result = "Нет";
                        //runingCheck.EFAttributes["Проверка просрочена"].Value = result;
                        runingCheck.Attributes["Проверка просрочена"] = result;
                        runingCheckToLoad.Add(runingCheck);
                        _logger.LogError(e.Message);
                        n++;
                        continue;

                    }
                }"