public ActionResult AddOrEditDevice(Device dev)
 {
     using (var db = new MbContext())
     {
         DeviceContract infp = new DeviceContract();
         if (dev.DeviceId == 0)
         {
             infp = new DeviceContract
             {
                 DeviceId         = dev.DeviceId,
                 ServiceCompanyId = CurrentUser.User.ServiceCompanyId,
                 Sort             = 0
             };
         }
         db.Device.AddOrUpdate(dev);
         if (infp != null)
         {
             db.DeviceContract.AddOrUpdate(infp);
         }
         return(db.SaveChanges() > 0 ? ResultSuccess("操作成功!") : ResultError("操作异常!"));
     }
 }
        /// <summary>
        /// 添加保存设备信息
        /// </summary>
        /// <param name="device"></param>
        /// <returns></returns>

        public ActionResult SaveDeviceInfo(Device device)
        {
            try
            {
                using (var db = new MbContext())
                {
                    #region 判断厂家
                    var m = new Manufacturer();
                    if (!string.IsNullOrEmpty(device.ManufacturerName))
                    {
                        m = db.Manufacturer.FirstOrDefault(t => t.Name == device.ManufacturerName);
                        if (m == null)
                        {
                            m = db.Manufacturer.Add(new Manufacturer
                            {
                                Name       = device.ManufacturerName,
                                CreateTime = DateTime.Now
                            });
                        }
                    }
                    #endregion
                    #region 判断品牌
                    var b = new Brand();
                    if (!string.IsNullOrEmpty(device.BrandName))
                    {
                        b = db.Brand.FirstOrDefault(t => t.Name == device.BrandName);
                        if (b == null)
                        {
                            b = db.Brand.Add(new Brand
                            {
                                ManufacturerId = m.ManufacturerId,
                                Name           = device.BrandName,
                                CreateTime     = DateTime.Now
                            });
                        }
                        device.BrandId = b.BrandId;
                    }
                    #endregion
                    #region 判断区域
                    var a = new Area();
                    if (!string.IsNullOrEmpty(device.AreaName))
                    {
                        a = db.Area.FirstOrDefault(t => t.Name == device.AreaName);
                        if (a == null)
                        {
                            a = db.Area.Add(new Area
                            {
                                LevelDeep  = 0,
                                Name       = device.AreaName,
                                Code       = "0",
                                CreateTime = DateTime.Now
                            });
                        }
                        device.AreaId = a.AreaId;
                    }
                    #endregion
                    #region 类目
                    var c = new Category();
                    if (!string.IsNullOrEmpty(device.CategoryName))
                    {
                        c = db.Category.FirstOrDefault(t => t.Name == device.CategoryName);
                        if (c == null)
                        {
                            c = db.Category.Add(new Category
                            {
                                LevelDeep  = 0,
                                Name       = device.CategoryName,
                                SortField  = 999,
                                CreateTime = DateTime.Now
                            });
                        }
                        device.CategoryId = c.CategoryId;
                    }
                    #endregion
                    device.LastUpdateTime = DateTime.Now;

                    device.CreateTime = DateTime.Now;
                    if (device.QRCode != null && device.QRCode != "")
                    {
                        //判断二维码是否已经存在
                        var dInfo = db.Device.Where(t => t.QRCode == device.QRCode).FirstOrDefault();
                        if (dInfo != null && device.DeviceId != dInfo.DeviceId)
                        {
                            return(Json(new { success = "该二维码已经存在", deviceId = device.DeviceId }));
                        }
                    }

                    db.Device.AddOrUpdate(device);


                    int result = db.SaveChanges();
                    if (device.pictureId != null && device.pictureId.Length > 0)
                    {
                        new PictureService().EditPicture(device.pictureId, device.DeviceId.ToString());
                    }


                    if (device.ServiceCompanyId != null && device.ServiceCompanyId.Length > 0)
                    {
                        //往ServiceBinding里面插数据

                        for (int i = 0; i < device.ServiceCompanyId.Length; i++)
                        {
                            var category = new ServiceBinding
                            {
                                BindingType      = BindingServiceType.Equipment,
                                Content          = device.DeviceId.ToString(),
                                OutNote          = string.Empty,
                                ServiceCompanyId = device.ServiceCompanyId[i],
                                UseCompanyId     = (device.UseCompanyId ?? ""),
                                CreateTime       = DateTime.Now
                            };
                            db.ServiceBinding.AddOrUpdate(category);
                            var deviceContract = new DeviceContract
                            {
                                DeviceId         = device.DeviceId,
                                Sort             = i,
                                ServiceCompanyId = device.ServiceCompanyId[i]
                            };
                            db.DeviceContract.AddOrUpdate(deviceContract);
                        }
                        result = db.SaveChanges();
                    }
                    if (result > 0)
                    {
                        return(Json(new { success = "操作成功", deviceId = device.DeviceId }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new { error = "操作失败,请稍后重试" }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error("添加设备异常", ex);
                return(Json(new { error = "添加设备异常" }, JsonRequestBehavior.AllowGet));
            }
        }