private StoreDay BuildStoreDay(long storeid, DateTime date) { bool feast = false; bool closed = false; StoreDay day = null; feast = _feast_manager.IsFeast(date); closed = _closeday_manager.IsClosedDay(date); List <StoreWorkingTime> lst = null; if (_diction.TryGetValue(storeid, out lst)) { if (lst != null) { foreach (StoreWorkingTime swt in lst) { if (swt.BeginTime <= date && date <= swt.EndTime) { day = new StoreDay(date); day.Feast = feast; day.ClosedDay = closed; if (swt.StoreWTWeekdays != null) { foreach (StoreWTWeekday weekday in swt.StoreWTWeekdays) { if (weekday.Weekday == (byte)date.DayOfWeek) { day.OpenTime = weekday.Opentime; day.CloseTime = weekday.Closetime; } } } } } } } return(day); }