Exemplo n.º 1
0
        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 }));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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"] }));
            }
        }