C# Консольное приложение. Реализована связка Topshelf+Quartz. Каждые n - секунд выполняется метод, в котором нужно сравнить старое и новое значение из БД MySQl. Если значение изменилось, запоминаем и опять сравниваем. Вроде как ничего такого, но появилась проблема.
Описал в HostFaktory - Сервис
x.Service<ServDB>(s =>
{
s.WhenStarted(service => service.OnStart());
s.WhenStopped(service => service.OnStop());
s.ConstructUsing(() => new ServDB());
s.ScheduleQuartzJob(q =>
q.WithJob(() =>
JobBuilder.Create<CheckDB>().Build())
.AddTrigger(() => TriggerBuilder.Create()
.WithSimpleSchedule(b => b
.WithIntervalInSeconds(10)
.RepeatForever())
.Build()));
});
Далее в самом Джобе
public class CheckDB: IJob
{
private int id;
public int ID //Свойство ввел для анализа
{
get
{
return id;
}
set
{
id = value;
}
}
public void Execute(IJobExecutionContext context)
{
MySqlConnection conn = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MainDatabaseConnection"].ConnectionString);
MySqlCommand comm = new MySqlCommand("select max(id) as 'k' from event", conn);
try
{
conn.Open();
if (ID < Convert.ToInt32(comm.ExecuteScalar()))
{
//что-то делаю
ID = Convert.ToInt32(comm.ExecuteScalar()); // обновляю ID
}
conn.Close();
}
catch (Exception) { }
}
}
Но получается так,что ID меняется в If, но при следующем срабатывании таймера, ID=0 и я опять попадаю в IF. Или при выполнении Job'а переменная обнуляется?
В приложении имеется главное окно и множество userControlНа главном окне расположены все кнопки управления (такие как: добавление данных, редактирование...
Надо выводить текущее время на экран, чтобы оно менялось в реальном времениЕдинственный способ реализации, который я вижу — реализация через...
У меня есть модель DealModel в которой есть кастомные свойства по типу CustomInt, CustomDate, CustomDecimal ит
Как в Bitmap оставить только необходимые цвета пикселей, а остальные превратить, например, в чёрный цвет?