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)); } }