Beispiel #1
0
        /// <summary>
        /// add:增加nodemap和station实体
        /// update:只替换实体
        /// </summary>
        /// <param name="station"></param>
        /// <returns></returns>
        public async Task <bool> UpdateOrAddStation(TStation station)
        {
            var nd = NdList.Find(n => n.OrgiData.ID == station.ID);

            if (nd == null)
            {
                var ndMap = nodemap.Find(n => n.objId == nd.OrgiData.ID);
                if (ndMap == null)
                {
                    return(false);
                }
                nd = new SuperBStation(station, ndMap.nodeIsid);

                try
                {
                    await _db.tStation.AddAsync(nd.DbData);

                    await _db.SaveChangesAsync();

                    NdList.Add(nd);
                }
                catch (Exception ex)
                {
                    LogHelper.Error(ex);
                    return(false);
                }
            }
            else
            {
                if (nd.Update(station))
                {
                    try
                    {
                        _db.tStation.Update(nd.DbData);
                        await _db.SaveChangesAsync();
                    }
                    catch (Exception ex)
                    {
                        LogHelper.Error(ex);
                        return(false);
                    }
                }
            }

            return(true);
        }
Beispiel #2
0
        public async Task SynchronizeDb()
        {
            var db = _db;

            subplateformres = await db.subplateformres.ToListAsync();

            var tStation = await db.tStation.ToListAsync();

            nodemap = await db.nodemap.ToListAsync();

            foreach (var st in tStation)
            {
                var ndMap = nodemap.Find(n => n.objId == st.objId);
                if (ndMap == null)
                {
                    continue;
                }
                NdList.Add(new SuperBStation(new TStation()
                {
                    ID        = st.objId,
                    Name      = st.objName,
                    Des       = st.objDesc,
                    Type      = (EnumType)st.objTypeId,
                    ParentID  = st.parentId ?? 0,
                    Latitude  = st.latitude,
                    Longitude = st.longitude
                },
                                             ndMap.nodeIsid));
            }

            var tDevice = await db.tDevice.ToListAsync();

            foreach (var dev in tDevice)
            {
                var ndMap = NdList.Find(n => n.OrgiData.ID == dev.parentId);
                if (ndMap == null)
                {
                    continue;
                }
                DevList.Add(new SuperBDevice(new TDevice()
                {
                    ID           = dev.objId,
                    Name         = dev.objName,
                    Des          = dev.objDesc,
                    Type         = (EnumType)dev.objTypeId,
                    ParentID     = dev.parentId ?? 0,
                    BeginRunTime = dev.beginRunTime.HasValue ?
                                   SuperBTagBase.Transfer(dev.beginRunTime.Value) :
                                   SuperBTagBase.Transfer(DateTime.Now),
                    DeviceType = (EnumDeviceType)dev.devTypeId,
                    Productor  = dev.productor,
                    Version    = dev.version,
                },
                                             ndMap.NodeIsid));
            }

            tagmap = await db.tagmap.ToListAsync();

            devicemap = await db.devicemap.ToListAsync();

            alarmmap = await db.alarmmap.ToListAsync();

            var taic = await db.taic.ToListAsync();

            foreach (var aic in taic)
            {
                var devMap = DevList.Find(n => n.OrgiData.ID == aic.parentId);
                var tagMap = tagmap.Find(t => t.objId == aic.objId);
                if (devMap == null || tagMap == null)
                {
                    continue;
                }
                TagList.Add(new SuperB_Taic(new TAIC()
                {
                    ID          = aic.objId,
                    Name        = aic.objName,
                    Des         = aic.objDesc,
                    Type        = (EnumType)aic.objTypeId,
                    ParentID    = aic.parentId ?? 0,
                    AlarmEnable = (EnumEnable)aic.alarmEnable,
                    AlarmLevel  = (EnumAlarmLevel)aic.alarmLevel,
                    HiLimit1    = aic.hiLimit1,
                    HiLimit2    = aic.hiLimit2,
                    HiLimit3    = aic.hiLimit3,
                    LoLimit1    = aic.loLimit1,
                    LoLimit2    = aic.loLimit2,
                    LoLimit3    = aic.loLimit3,
                },
                                            tagMap.tagIsid, alarmmap.ToArray()));
            }
            var taoc = await db.taoc.ToListAsync();

            foreach (var aic in taoc)
            {
                var devMap = DevList.Find(n => n.OrgiData.ID == aic.parentId);
                var tagMap = tagmap.Find(t => t.objId == aic.objId);
                if (devMap == null || tagMap == null)
                {
                    continue;
                }
                TagList.Add(new SuperB_Taoc(new TAOC()
                {
                    ID            = aic.objId,
                    Name          = aic.objName,
                    Des           = aic.objDesc,
                    Type          = (EnumType)aic.objTypeId,
                    ParentID      = aic.parentId ?? 0,
                    ControlEnable = (EnumEnable)aic.controlEnable,
                    MaxVal        = aic.maxVal,
                    MinVal        = aic.minVal,
                    Percision     = aic.percision,
                    Saved         = (EnumEnable)aic.saved,
                    Stander       = aic.stander,
                    Unit          = aic.unit,
                },
                                            tagMap.tagIsid, alarmmap.ToArray()));
            }
            var tdic = await db.tdic.ToListAsync();

            foreach (var aic in tdic)
            {
                var devMap = DevList.Find(n => n.OrgiData.ID == aic.parentId);
                var tagMap = tagmap.Find(t => t.objId == aic.objId);
                if (devMap == null || tagMap == null)
                {
                    continue;
                }
                TagList.Add(new SuperB_Tdic(new TDIC()
                {
                    ID              = aic.objId,
                    Name            = aic.objName,
                    Des             = aic.objDesc,
                    Type            = (EnumType)aic.objTypeId,
                    ParentID        = aic.parentId ?? 0,
                    Saved           = (EnumEnable)aic.saved,
                    AlarmEnable     = (EnumEnable)aic.alarmEnable,
                    AlarmLevel      = (EnumAlarmLevel)aic.alarmLevel,
                    AlarmThresbhold = (EnumEnable)aic.alarmThresbhold,
                    Desc0           = aic.desc0,
                    Desc1           = aic.desc1,
                },
                                            tagMap.tagIsid, alarmmap.ToArray()));
            }
            var tdoc = await db.tdoc.ToListAsync();

            foreach (var aic in tdoc)
            {
                var devMap = DevList.Find(n => n.OrgiData.ID == aic.parentId);
                var tagMap = tagmap.Find(t => t.objId == aic.objId);
                if (devMap == null || tagMap == null)
                {
                    continue;
                }
                TagList.Add(new SuperB_Tdoc(new TDOC()
                {
                    ID            = aic.objId,
                    Name          = aic.objName,
                    Des           = aic.objDesc,
                    Type          = (EnumType)aic.objTypeId,
                    ParentID      = aic.parentId ?? 0,
                    ControlEnable = (EnumEnable)aic.controlEnable,
                    Saved         = (EnumEnable)aic.saved,
                    Desc0         = aic.desc0,
                    Desc1         = aic.desc1,
                },
                                            tagMap.tagIsid, alarmmap.ToArray()));
            }
            var tdsc = await db.tdsc.ToListAsync();

            foreach (var aic in tdsc)
            {
                var devMap = DevList.Find(n => n.OrgiData.ID == aic.parentId);
                var tagMap = tagmap.Find(t => t.objId == aic.objId);
                if (devMap == null || tagMap == null)
                {
                    continue;
                }
                TagList.Add(new SuperB_Tdsc(new TDSC()
                {
                    ID          = aic.objId,
                    Name        = aic.objName,
                    Des         = aic.objDesc,
                    Type        = (EnumType)aic.objTypeId,
                    ParentID    = aic.parentId ?? 0,
                    Saved       = (EnumEnable)aic.saved,
                    AlarmEnable = (EnumEnable)aic.alarmEnable,
                },
                                            tagMap.tagIsid, alarmmap.ToArray()));
            }
        }