В общем коллеги по работе подсказали, как лучше сделать. Расписываю, может кому пригодится.
Создал в базе табличку, на три колонки(Name, Type, Value, все значения типа nvarchar)
Потом создаем сущность :
public class SystemVariable : BaseEntity
{
public string Name { get; set; }
public string Type { get; set; }
public string Value { get; set; }
}
Потом прописываем в Сервисе.
На контроллере это в конце выглядело вот так:
public ActionResult Menu()
{
var var = _systemService.GetSystemVariableByName("DateMenuUpdate");
if (var != null)
{
var type = Type.GetType(var.Type);
var menuUpdate = (DateTime)Convert.ChangeType(var.Value, type);
var dayCount = DateTime.Now.DayOfWeek == DayOfWeek.Monday ? -3 : -1;
if (DateTime.Now.DayOfWeek != DayOfWeek.Saturday && DateTime.Now.DayOfWeek != DayOfWeek.Sunday &&
(menuUpdate.Day != DateTime.Now.Day && DateTime.Now.Hour >= 14) || (menuUpdate.Day < DateTime.Now.AddDays(dayCount).Day) && DateTime.Now.Hour < 14)
{
var.Value = DateTime.Now.ToString();
var foods = _canteenService.GetCanteenFoods();
foreach (var food in foods)
{
if (!food.Block)
{
var menu = _canteenService.GetCanteenMenubyId(food.MenuID);
if (menu.StatusID != 2)
{
food.StatusID = 3;
_canteenService.UpdateCanteenFood(food);
}
}
}
_systemService.UpdateSystemVariable(var);
}
}
return View();
}