예제 #1
0
        public Dictionary <int, List <ChannelGroupInfo> > GetAllChannelGroups()
        {
            var allDict = new Dictionary <int, List <ChannelGroupInfo> >();

            var sqlString =
                $"SELECT GroupName, SiteId, Taxis, Description FROM {TableName} ORDER BY Taxis DESC, GroupName";

            using (var rdr = ExecuteReader(sqlString))
            {
                while (rdr.Read())
                {
                    var i     = 0;
                    var group = new ChannelGroupInfo(GetString(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++),
                                                     GetString(rdr, i));

                    List <ChannelGroupInfo> list;
                    allDict.TryGetValue(group.SiteId, out list);

                    if (list == null)
                    {
                        list = new List <ChannelGroupInfo>();
                    }

                    list.Add(group);

                    allDict[group.SiteId] = list;
                }
                rdr.Close();
            }

            return(allDict);
        }
예제 #2
0
파일: ChannelGroup.cs 프로젝트: desla/AS
        /// <summary>
        /// Конструктор группы каналов.
        /// </summary>
        /// <param name="aGroupInfo">Ссылка на конфигурацию.</param>
        public ChannelGroup(ChannelGroupInfo aGroupInfo)
        {
            if (aGroupInfo == null) {
                throw new ArgumentNullException("aGroupInfo");
            }

            groupInfo = aGroupInfo;
        }
예제 #3
0
 /// <summary>
 /// Конструктор по умолчанию.
 /// </summary>
 public OutChannelInfoImpl()
 {
     device = null;
      channelNumber = 0;
      group = null;
      deviceId = 0;
      groupId = 0;
 }
예제 #4
0
        public void Update(ChannelGroupInfo groupInfo)
        {
            var sqlString = $"UPDATE {TableName} SET Description = @Description WHERE GroupName = @GroupName AND SiteId = @SiteId";

            var updateParms = new IDataParameter[]
            {
                GetParameter(ParmDescription, DataType.Text, groupInfo.Description),
                GetParameter(ParmGroupName, DataType.VarChar, 255, groupInfo.GroupName),
                GetParameter(ParmSiteId, DataType.Integer, groupInfo.SiteId)
            };

            ExecuteNonQuery(sqlString, updateParms);
        }
예제 #5
0
        public static AtomEntry Export(ChannelGroupInfo groupInfo)
        {
            var entry = AtomUtility.GetEmptyEntry();

            AtomUtility.AddDcElement(entry.AdditionalElements, "IsNodeGroup", true.ToString());
            AtomUtility.AddDcElement(entry.AdditionalElements, new List <string> {
                nameof(ChannelGroupInfo.GroupName), "NodeGroupName"
            }, groupInfo.GroupName);
            AtomUtility.AddDcElement(entry.AdditionalElements, nameof(ChannelGroupInfo.Taxis), groupInfo.Taxis.ToString());
            AtomUtility.AddDcElement(entry.AdditionalElements, nameof(ChannelGroupInfo.Description), groupInfo.Description);

            return(entry);
        }
예제 #6
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            var isChanged = false;

            var nodeGroupInfo = new ChannelGroupInfo
            {
                GroupName   = TbNodeGroupName.Text,
                SiteId      = SiteId,
                Description = TbDescription.Text
            };

            if (AuthRequest.IsQueryExists("GroupName"))
            {
                try
                {
                    DataProvider.ChannelGroupDao.Update(nodeGroupInfo);
                    AuthRequest.AddSiteLog(SiteId, "修改栏目组", $"栏目组:{nodeGroupInfo.GroupName}");
                    isChanged = true;
                }
                catch (Exception ex)
                {
                    FailMessage(ex, "栏目组修改失败!");
                }
            }
            else
            {
                var nodeGroupNameList = DataProvider.ChannelGroupDao.GetGroupNameList(SiteId);
                if (nodeGroupNameList.IndexOf(TbNodeGroupName.Text) != -1)
                {
                    FailMessage("栏目组添加失败,栏目组名称已存在!");
                }
                else
                {
                    try
                    {
                        DataProvider.ChannelGroupDao.Insert(nodeGroupInfo);
                        AuthRequest.AddSiteLog(SiteId, "添加栏目组", $"栏目组:{nodeGroupInfo.GroupName}");
                        isChanged = true;
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, "栏目组添加失败!");
                    }
                }
            }

            if (isChanged)
            {
                LayerUtils.Close(Page);
            }
        }
예제 #7
0
        public void Insert(ChannelGroupInfo groupInfo)
        {
            var maxTaxis = GetMaxTaxis(groupInfo.SiteId);

            groupInfo.Taxis = maxTaxis + 1;

            var sqlString = $"INSERT INTO {TableName} (GroupName, SiteId, Taxis, Description) VALUES (@GroupName, @SiteId, @Taxis, @Description)";

            var insertParms = new IDataParameter[]
            {
                GetParameter(ParmGroupName, DataType.VarChar, 255, groupInfo.GroupName),
                GetParameter(ParmSiteId, DataType.Integer, groupInfo.SiteId),
                GetParameter(ParmTaxis, DataType.Integer, groupInfo.Taxis),
                GetParameter(ParmDescription, DataType.Text, groupInfo.Description)
            };

            ExecuteNonQuery(sqlString, insertParms);
        }
예제 #8
0
        public ChannelGroupInfo GetGroupInfo(int siteId, string groupName)
        {
            ChannelGroupInfo group = null;

            const string sqlString = "SELECT GroupName, SiteId, Taxis, Description FROM siteserver_ChannelGroup WHERE GroupName = @GroupName AND SiteId = @SiteId";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmGroupName, DataType.VarChar, 255, groupName),
                GetParameter(ParmSiteId, DataType.Integer, siteId)
            };

            using (var rdr = ExecuteReader(sqlString, parms))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    group = new ChannelGroupInfo(GetString(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i));
                }
                rdr.Close();
            }

            return(group);
        }
예제 #9
0
 /// <summary>
 /// Изменяет группу каналов.
 /// </summary>
 /// <param name="aGroup">Группа каналов.</param>
 public void SetGroup( ChannelGroupInfo aGroup )
 {
     group = aGroup;
 }