public ActionResult DeleteUnit(string plantId, string unitId) { try { //根据电站id和电站单元Id查询该电站是否有该单元 PlantUnit plantUnit = plantUnitService.GetPlantUnitByPlantIdPlantUnitId(int.Parse(plantId), Convert.ToInt32(unitId)); if (plantUnit == null) { return(RedirectToAction("list", "unit", new { @id = plantId })); } else { plantUnitService.DeletePlantUnit(int.Parse(plantId), int.Parse(unitId)); //根据电站Id和电站单元Id删除电站单元 Collector collector = collectorInfoService.GetClollectorByCodePass(plantUnit.collector.code, plantUnit.collector.password); PlantUnit plantunit = plantUnitService.GetPlantUnitByCollectorId(collector.id); //查找在单元表里是否绑定了该采集器 if (plantunit != null) { collector.isUsed = true;//如果采集器已经和单元绑定了就为已用状态 } else { collector.isUsed = false; } collectorInfoService.Save(collector); } } catch (Exception e) { Console.WriteLine(e.Message); } return(RedirectToAction("list", "unit", new { @id = plantId })); }
public ActionResult Index() { CollectorInfoService collectorInfoService = CollectorInfoService.GetInstance(); IList <Collector> collectorInfos = collectorInfoService.GetColloectorInfos(); foreach (Collector collector in collectorInfos) { PlantUnit plantunit = plantUnieService.GetPlantUnitByCollectorId(collector.id);//查找在单元表里是否绑定了该采集器 if (plantunit != null) { collector.isUsed = true;//如果采集器已经和单元绑定了就为已用状态 } else { collector.isUsed = false; } } return(View(collectorInfos)); }
public ActionResult Save(int plantid, PlantUnit plantunit) { //根据采集器名称和密码判断该采集器设否存在 Collector collector = collectorInfoService.GetClollectorByCodePass(plantunit.collector.code, plantunit.collector.password); if (collector != null && (collector.userId == 0 || collector.userId == UserUtil.getCurUser().id)) { PlantUnit plantUnit = plantUnitService.GetPlantUnitByCollectorId(collector.id);//根据collectorID去查询,该采集器是否已经绑定了电站 if (plantUnit == null) { plantunit.collector.id = collector.id; plantunit.collectorID = collector.id; plantunit.collector = collector; int plantUnitId = plantUnitService.AddPlantUnit(plantunit); //添加电站单元 collector.isUsed = true; //如果采集器已经和单元绑定了就为已用状态 collectorInfoService.Save(collector); //绑定采集器要更新没有plantunitid的设备的plantunitid parenid PlantUnit tmpPU = null; foreach (Device device in collector.devices) { //判断原有属主是否存在,如果不存在,并且不是自己 if (device.plantUnitId != null && device.plantUnitId.Value > 0 && device.plantUnitId.Value != plantUnitId) { tmpPU = plantUnitService.GetPlantUnitById(device.plantUnitId.Value); //根据unitid去查询,判断是否存在 if (tmpPU != null) //已有属主并且属主不是当前单元则不纳入该单元 { continue; } } device.parentId = 0; device.plantUnitId = plantUnitId; if (device.deviceModel == null) { device.deviceModel = new DeviceModel(); } DeviceService.GetInstance().Save(device); } if (Request["fromurl"] == null || Request["fromurl"].Equals("")) { return(RedirectToAction("list", "unit", new { @id = plantid })); } else { return(Redirect(Request["fromurl"])); } } else { collector.isUsed = true;//如果采集器已经和单元绑定了就为已用状态 collectorInfoService.Save(collector); TempData["error"] = Resources.SunResource.PLANT_UNIT_BIND_COLLECTOR_BINDED; return(RedirectToAction("bind", "unit", new { @id = plantid, @name = plantunit.displayname, @code = plantunit.collector.code, @fromurl = Request["fromurl"] })); } } else { TempData["error"] = Resources.SunResource.PLANT_UNIT_BIND_COLLECTOR_ERROR + "!"; return(RedirectToAction("bind", "unit", new { @id = plantid, @name = plantunit.displayname, @code = plantunit.collector.code, @fromurl = Request["fromurl"] })); } }