public void UpdateListValues(List <ListsValue> list, int taskID, int listID)
        {
            var oldVal = ListsValues.Where(lv => lv.ListID == listID && lv.TaskID == taskID).ToList();

            ChangeTracker.DetectChanges();
            oldVal = oldVal.Except(list).ToList();
            if (oldVal.Count > 0)
            {
                ListsValues.RemoveRange(oldVal);
            }
            ListsValues.AddOrUpdate(list.ToArray());
            SaveChanges();
        }
        //public int GetTimeRangeID(DateTime startTime, DateTime endTime)
        //{
        //    var rng = WorkTimeRanges.FirstOrDefault(r => r.StartTime == startTime && r.EndTime == endTime);
        //    if (rng == null)
        //    {
        //        rng = new WorkTimeRange();
        //        rng.StartTime = startTime;
        //        rng.EndTime = endTime;
        //        WorkTimeRanges.Add(rng);
        //        SaveChanges();
        //    }
        //    return rng.ID;
        //}

        #endregion


        #region IListWork
        public List <ListsValue> GetListValues(int taskID, int listID)
        {
            return(ListsValues.Where(lv => lv.TaskID == taskID && lv.ListID == listID).ToList());
        }