/// <summary>
 /// 增加区域
 /// </summary>
 /// <param name="areaName"></param>
 /// <param name="schoolID"></param>
 /// <param name="remark"></param>
 /// <returns></returns>
 public bool AddSchoolAreaPart(string areaName, int schoolID, string remark)
 {
     try
     {
         SchoolAreaInfo schoolArea = new SchoolAreaInfo();
         schoolArea.SAI_Name   = areaName;
         schoolArea.SI_ID      = schoolID;
         schoolArea.SAI_Remark = remark;
         _dataContext.SchoolAreaInfos.InsertOnSubmit(schoolArea);
         _dataContext.SubmitChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
        /// <summary>
        /// 修改区域
        /// </summary>
        /// <param name="areaID"></param>
        /// <param name="schoolID"></param>
        /// <param name="areaName"></param>
        /// <param name="remark"></param>
        /// <returns></returns>
        public bool ModifySchoolAreaPartInfo(int areaID, int schoolID, string areaName, string remark)
        {
            try
            {
                SchoolAreaInfo schoolArea = _dataContext.SchoolAreaInfos.Single(x => x.SAI_ID == areaID);
                if (schoolID > 0 && schoolID != schoolArea.SI_ID)
                {
                    schoolArea.SI_ID = schoolID;
                    // 修改AMP表中对应的区域校区
                    if (_dataContext.AnalogMeasurePoints.Where(x => x.AMP_SAreaID == areaID).Count() > 0)
                    {
                        _dataContext.ExecuteCommand("update AnalogMeasurePoint set AMP_SchooldID={0} where AMP_SAreaID={1}", schoolID, areaID);
                        // 修改父测点编号
                        var modifiedAMPs = _dataContext.AnalogMeasurePoints.Where(x => x.AMP_SAreaID == areaID && x.AMP_BuildingID == 0 && x.AMP_ParentNo > 1).ToList();
                        foreach (var item in modifiedAMPs)
                        {
                            var parentPoint = _dataContext.AnalogMeasurePoints.Where(x => x.AMP_CptFlag == 0 && x.AMP_Statistic == 1 && x.AMP_SchooldID == schoolID && x.AMP_SAreaID == 0 && x.AMP_PowerType == item.AMP_PowerType).SingleOrDefault();
                            if (parentPoint != null)
                            {
                                item.AMP_ParentNo = parentPoint.AMP_AnalogNo;
                            }
                            else
                            {
                                item.AMP_ParentNo = 0;
                            }
                        }
                    }
                }
                schoolArea.SAI_Name   = areaName;
                schoolArea.SAI_Remark = remark;

                _dataContext.SubmitChanges();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }