public IQueryable<ViewModels.SubAreaViewModel> SubAreaRead()
        {
            List<SubAreaViewModel> ret = new List<SubAreaViewModel>();
            var qry = db.SubArea;
            foreach (SubArea o in qry)
            {
                SubAreaViewModel a = new SubAreaViewModel();

                a.SubAreaID = o.SubAreaID;
                a.Name = o.Name;
                a.ResponsibleID = o.ResponsibleID;
                a.ResponsibleID2 = o.ResponsibleID2.GetValueOrDefault();
                a.ResponsibleStr = o.ResponsibleClass.Name + "-" + o.ResponsibleClass.UserData2.UserName;
                a.ResponsibleStr2 = o.ResponsibleClass1.Name + "-" + o.ResponsibleClass1.UserData2.UserName;
                a.AreaID = o.AreaID;
                a.AreaName = o.Area.Name;
                a.MidAreaID = o.MidAreaID;
                a.MidAreaName = o.MidArea.Name;
                ret.Add(a);
            }
            return ret.AsQueryable();
        }
        public IQueryable<ViewModels.SubAreaViewModel> SubAreaReadByMidArea(string midAreaID)
        {
            List<SubAreaViewModel> ret = new List<SubAreaViewModel>();
            var qry = db.SubArea.Where(q => q.MidAreaID == midAreaID);
            foreach (SubArea o in qry)
            {
                SubAreaViewModel a = new SubAreaViewModel();

                a.SubAreaID = o.SubAreaID;
                a.Name = o.Name;
                a.ResponsibleID = o.ResponsibleID;
                a.ResponsibleID2 = o.ResponsibleID2.GetValueOrDefault();
                a.AreaID = o.AreaID;
                a.AreaName = o.Area.Name;
                a.MidAreaID = o.MidAreaID;
                a.MidAreaName = o.MidArea.Name;
                ret.Add(a);
            }
            return ret.AsQueryable();
        }