Exemplo n.º 1
0
        private async Task <bool> UpdateNodeMap(SuperBStation st)
        {
            if (!nodemap.Exists(n => n.nodeIsid == st.NodeIsid && n.objId == st.OrgiData.ID))
            {
                var map = new SqlNodeMap()
                {
                    nodeIsid = st.NodeIsid, objId = st.OrgiData.ID
                };
                try
                {
                    await _db.nodemap.AddAsync(map);

                    await _db.SaveChangesAsync();

                    nodemap.Add(map);
                }
                catch (Exception ex)
                {
                    LogHelper.Error(ex);
                    return(false);
                }
            }

            return(true);
        }
Exemplo n.º 2
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);
        }