/// <summary>
        /// ---------新加
        /// 实时监控页面新增数据位置
        /// </summary>
        public ReturnItem <RetRealTimeMonitor> AddRealTimeRoot(RealTimeMonitorModel parameter)
        {
            ReturnItem <RetRealTimeMonitor> r = new ReturnItem <RetRealTimeMonitor>();

            using (UserEntities user = new UserEntities())
            {
                try
                {
                    var OrgID         = Convert.ToInt32(parameter.OrgID);
                    var DashBoardType = Convert.ToInt32(parameter.DashBoardType);// 3 实时查看的图
                    var addmonitor    = user.U_HomeConfiguration.Where(s => s.OrgID == OrgID && s.DashBoardType == DashBoardType).AsQueryable();
                    //0代表背景图,1代表建筑物的名字(只有建筑物会调用这个接口)
                    //查询位置是否存在
                    addmonitor = addmonitor.Where(s => s.DashBoardData == parameter.DashBoardData);
                    addmonitor = addmonitor.OrderByDescending(s => s.CreateTime);
                    if (addmonitor.ToList().Count != 0)
                    {
                        r.Data = null;
                        r.Code = -1;
                        r.Msg  = "该位置数据信息已存在";
                        return(r);
                    }
                    else if (addmonitor.ToList().Count == 0)
                    {
                        U_HomeConfiguration newChart = new U_HomeConfiguration()
                        {
                            DashBoardType = DashBoardType,                        // 2设备,3总览
                            ChartType     = Convert.ToInt32(parameter.ChartType), // 0 背景图信息 1建筑物信息
                            DashBoardData = parameter.DashBoardData,
                            Remark        = parameter.Remark,
                            CreateTime    = DateTime.Now,
                            CreateUserID  = Convert.ToInt32(parameter.CreateUserID),
                            OrgID         = Convert.ToInt32(parameter.OrgID)
                        };
                        user.U_HomeConfiguration.Add(newChart);
                        user.SaveChanges();
                        r.Msg  = "新增成功";
                        r.Code = 0;
                    }
                }
                catch (Exception e)
                {
                    r.Msg = "内部错误请重试";
                    log.ErrorFormat("内部错误:{0},{1}", e.Message, e.StackTrace);
                    r.Code = -1;
                }
            }
            return(r);
        }
        /// <summary>
        /// 新增/更新能源信息数据
        /// </summary>
        public ReturnItem <RetEquipmentEnergyList> AddChart(EquipmentEnergyModel parameter)
        {
            ReturnItem <RetEquipmentEnergyList> r = new ReturnItem <RetEquipmentEnergyList>();

            using (UserEntities user = new UserEntities())
            {
                try
                {
                    var OrgID         = Convert.ToInt32(parameter.OrgID);
                    var DashBoardType = Convert.ToInt32(parameter.DashBoardType);
                    var addchart      = user.U_HomeConfiguration.Where(s => s.OrgID == OrgID && s.DashBoardType == DashBoardType).FirstOrDefault();
                    if (addchart != null)
                    {
                        addchart.ChartConfig = parameter.ChartConfig;
                        user.SaveChanges();
                        r.Msg  = "能源报表配置信息更新成功";
                        r.Code = 0;
                    }
                    if (addchart == null)
                    {
                        U_HomeConfiguration newChart = new U_HomeConfiguration()
                        {
                            DashBoardType = Convert.ToInt32(parameter.DashBoardType),
                            ChartConfig   = parameter.ChartConfig,
                            SortID        = Convert.ToInt32(parameter.SortID),
                            CreateTime    = DateTime.Now,
                            CreateUserID  = Convert.ToInt32(parameter.CreateUserID),
                            OrgID         = Convert.ToInt32(parameter.OrgID)
                        };
                        user.U_HomeConfiguration.Add(newChart);
                        user.SaveChanges();
                        r.Msg  = "能源报表配置信息新增成功";
                        r.Code = 0;
                    }
                }
                catch (Exception e)
                {
                    r.Msg = "内部错误请重试";
                    log.ErrorFormat("内部错误:{0},{1}", e.Message, e.StackTrace);
                    r.Code = -1;
                }
            }
            return(r);
        }
        /// <summary>
        /// 实时监控页面新增数据位置
        /// </summary>
        public ReturnItem <RetRealTimeMonitor> AddRealTimeMonitor(RealTimeMonitorModel parameter)
        {
            ReturnItem <RetRealTimeMonitor> r = new ReturnItem <RetRealTimeMonitor>();

            using (UserEntities user = new UserEntities())
            {
                try
                {
                    var OrgID         = Convert.ToInt32(parameter.OrgID);
                    var DashBoardType = Convert.ToInt32(parameter.DashBoardType); // 2设备,3总览
                    var addmonitor    = user.U_HomeConfiguration.Where(s => s.OrgID == OrgID && s.DashBoardType == DashBoardType).AsQueryable();
                    if ("2".Equals(parameter.DashBoardType))                      // 设备
                    {
                        var DeviceID = Convert.ToInt32(parameter.DeviceID);
                        if ("0".Equals(parameter.ChartType))
                        {
                            addmonitor = addmonitor.Where(s => s.DeviceID == DeviceID && s.ChartType == 0);
                        }
                        else if ("1".Equals(parameter.ChartType) || "2".Equals(parameter.ChartType))
                        {
                            addmonitor = addmonitor.Where(s => s.DeviceID == DeviceID && s.DashBoardData == parameter.DashBoardData);
                        }
                    }
                    else if ("3".Equals(parameter.DashBoardType)) // 总览
                    {
                        if ("0".Equals(parameter.ChartType))
                        {
                            addmonitor = addmonitor.Where(s => s.ChartType == 0);
                        }
                        else if ("1".Equals(parameter.ChartType) || "2".Equals(parameter.ChartType))
                        {
                            addmonitor = addmonitor.Where(s => s.DashBoardData == parameter.DashBoardData);
                        }
                    }
                    addmonitor = addmonitor.OrderByDescending(s => s.CreateTime);

                    if (addmonitor.ToList().Count != 0)
                    {
                        if ("1".Equals(parameter.ChartType) || "2".Equals(parameter.ChartType))// 0 背景图信息 1 设备信息 2 设备属性信息
                        {
                            r.Data = null;
                            r.Code = -1;
                            r.Msg  = "该位置数据信息已存在";
                            return(r);
                        }
                        else if ("0".Equals(parameter.ChartType))
                        {
                            if ("2".Equals(parameter.DashBoardType)) // 设备
                            {
                                var DeviceID    = Convert.ToInt32(parameter.DeviceID);
                                var editmonitor = user.U_HomeConfiguration.Where(s => s.OrgID == OrgID && s.DashBoardType == DashBoardType && s.DeviceID == DeviceID && s.ChartType == 0).FirstOrDefault();
                                editmonitor.DashBoardData = parameter.DashBoardData;
                                editmonitor.Remark        = parameter.Remark;
                                user.SaveChanges();
                            }
                            else if ("3".Equals(parameter.DashBoardType)) // 总览
                            {
                                var editmonitor = user.U_HomeConfiguration.Where(s => s.OrgID == OrgID && s.DashBoardType == DashBoardType && s.ChartType == 0).FirstOrDefault();
                                editmonitor.DashBoardData = parameter.DashBoardData;
                                editmonitor.Remark        = parameter.Remark;
                                user.SaveChanges();
                            }

                            if (parameter.DelDeviceTags.Count != 0)
                            {
                                foreach (var deltags in parameter.DelDeviceTags)
                                {
                                    var delid       = Convert.ToInt32(deltags);
                                    var deletechart = user.U_HomeConfiguration.Where(s => s.ID == delid).FirstOrDefault();
                                    if (deletechart != null)
                                    {
                                        var entry = user.Entry(deletechart);
                                        //设置该对象的状态为删除
                                        entry.State = EntityState.Deleted;
                                        user.SaveChanges();
                                        //保存修改
                                    }
                                }
                            }

                            if (parameter.DelTags.Count != 0)
                            {
                                foreach (var deltags in parameter.DelTags)
                                {
                                    var delid       = Convert.ToInt32(deltags);
                                    var deletechart = user.U_HomeConfiguration.Where(s => s.ID == delid).FirstOrDefault();
                                    if (deletechart != null)
                                    {
                                        var entry = user.Entry(deletechart);
                                        //设置该对象的状态为删除
                                        entry.State = EntityState.Deleted;
                                        user.SaveChanges();
                                        //保存修改
                                    }
                                }
                            }

                            r.Msg  = "更新成功";
                            r.Code = 0;
                            return(r);
                        }
                    }
                    else if (addmonitor.ToList().Count == 0)
                    {
                        U_HomeConfiguration newChart = new U_HomeConfiguration()
                        {
                            DashBoardType = DashBoardType,                        // 2设备,3总览
                            ChartType     = Convert.ToInt32(parameter.ChartType), // 0 背景图信息 1 设备信息 2 设备属性信息
                            DashBoardData = parameter.DashBoardData,
                            Remark        = parameter.Remark,
                            CreateTime    = DateTime.Now,
                            CreateUserID  = Convert.ToInt32(parameter.CreateUserID),
                            OrgID         = Convert.ToInt32(parameter.OrgID)
                        };
                        if (parameter.DeviceID != "" && parameter.DeviceID != null)
                        {
                            newChart.DeviceID = Convert.ToInt32(parameter.DeviceID);
                        }
                        if (parameter.DeviceItemID != "" && parameter.DeviceItemID != null)
                        {
                            newChart.DeviceItemID = Convert.ToInt32(parameter.DeviceItemID);
                        }
                        if (parameter.GroupID != "" && parameter.GroupID != null)
                        {
                            newChart.GroupID = Convert.ToInt32(parameter.GroupID);
                        }
                        user.U_HomeConfiguration.Add(newChart);
                        user.SaveChanges();
                        r.Msg  = "新增成功";
                        r.Code = 0;
                    }
                }
                catch (Exception e)
                {
                    r.Msg = "内部错误请重试";
                    log.ErrorFormat("内部错误:{0},{1}", e.Message, e.StackTrace);
                    r.Code = -1;
                }
            }
            return(r);
        }
        /// <summary>
        /// 新增图表
        /// </summary>
        public ReturnItem <RetHomeConfiguration> AddChart(HomeConfigurationModel parameter)
        {
            ReturnItem <RetHomeConfiguration> r = new ReturnItem <RetHomeConfiguration>();

            using (UserEntities user = new UserEntities())
            {
                try
                {
                    var OrgID         = Convert.ToInt32(parameter.OrgID);
                    var DashBoardType = Convert.ToInt32(parameter.DashBoardType);
                    var addchart      = user.U_HomeConfiguration.Where(s => s.ChartName == parameter.ChartName && s.OrgID == OrgID && s.DashBoardType == DashBoardType).FirstOrDefault();
                    if (addchart != null)
                    {
                        r.Data = null;
                        r.Code = -1;
                        r.Msg  = "设备图表已存在";
                        return(r);
                    }
                    if (addchart == null)
                    {
                        U_HomeConfiguration newChart = new U_HomeConfiguration()
                        {
                            DashBoardType = Convert.ToInt32(parameter.DashBoardType),
                            ChartName     = parameter.ChartName,
                            ChartType     = Convert.ToInt32(parameter.ChartType),
                            ChartConfig   = parameter.ChartConfig,
                            DashBoardData = parameter.DashBoardData,
                            Remark        = parameter.Remark,
                            SortID        = Convert.ToInt32(parameter.SortID),
                            CreateTime    = DateTime.Now,
                            CreateUserID  = Convert.ToInt32(parameter.CreateUserID),
                            OrgID         = Convert.ToInt32(parameter.OrgID)
                        };
                        if (parameter.DeviceID != "" && parameter.DeviceID != null)
                        {
                            newChart.DeviceID = Convert.ToInt32(parameter.DeviceID);
                        }
                        user.U_HomeConfiguration.Add(newChart);
                        user.SaveChanges();

                        var getchart = user.U_HomeConfiguration.Where(s => s.ChartName == parameter.ChartName && s.OrgID == OrgID).FirstOrDefault();
                        if (getchart != null)
                        {
                            DashBoardDataListModel DashBoardData = new DashBoardDataListModel();
                            if (getchart.DashBoardData != "" && getchart.DashBoardData != null)
                            {
                                DashBoardData = JsonConvert.DeserializeObject <DashBoardDataListModel>(getchart.DashBoardData);
                            }
                            DashBoardData.i        = getchart.ID.ToString();
                            getchart.DashBoardData = JsonConvert.SerializeObject(DashBoardData);
                        }
                        user.SaveChanges();
                        r.Msg  = "设备信息新增成功";
                        r.Code = 0;
                    }
                }
                catch (Exception e)
                {
                    r.Msg = "内部错误请重试";
                    log.ErrorFormat("内部错误:{0},{1}", e.Message, e.StackTrace);
                    r.Code = -1;
                }
            }
            return(r);
        }