Exemplo n.º 1
0
        public ActionResult Save(int plantid, PlantUnit plantunit)
        {
            //foreach (PlantUnit plantunit in plantunits)
            //{  //根据采集器名称和密码判断该采集器设否存在
            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;
                    plantUnitService.AddPlantUnit(plantunit); //添加电站单元
                    collector.isUsed = true;                  //如果采集器已经和单元绑定了就为已用状态
                    collectorInfoService.Save(collector);
                    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"] }));
            }
            //}
        }
Exemplo n.º 2
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"] }));
            }
        }