コード例 #1
0
ファイル: frmDeviceItem.cs プロジェクト: hkiaipc/yh
        /// <summary>
        /// 
        /// </summary>
        /// <param name="device"></param>
        public frmDeviceItem(Device device)
            : this()
        {
            if (device == null)
            {
                throw new ArgumentNullException("device");
            }
            this._device = device;
            this.DeviceType = device.DeviceType;
            //this._station = (CZGRStation)device.Station;
            this.Station = device.Station;

            this.txtOwnerStatoin.Text = this._device.Station.Name;
            this.txtDeviceType.Text = this._device.Text;
            this.txtName.Text = this._device.Name;
            this.txtRemark.Text = this._device.Remark;
            //this.cmbDeviceType.Text = CZGRCommon.DeviceTypes.GetText(_device.DeviceType);
            this.numDeviceAddress.Value = _device.Address;
            this._adeState = ADEState.Edit;

            //
            //
            FormulaCollection fs= YeHeCommuniServerApp.Default.DevieFormaulCollectionMapCollection.GetFormulaCollection(device.ID);
            foreach (Formula f in fs)
            {
                AddFormulaListViewItem(f);
            }
        }
コード例 #2
0
ファイル: CSDBI.cs プロジェクト: hkiaipc/hunb
        /// <summary>
        /// 
        /// </summary>
        /// <param name="device"></param>
        /// <returns></returns>
        public object AddDevice(int StationID, Device device)
        {
            string sql = "insert into tblDevice(StationID, Name, DeviceType, Address, Remark) values(@stationID, @n, @deviceType, @address, @r)";
            SqlCommand cmd = new SqlCommand(sql);
            SqlParameter p =null ;
            p = new SqlParameter("stationID", StationID);
            cmd.Parameters.Add(p);

            p = new SqlParameter("n", device.Name);
            cmd.Parameters.Add(p);

            p = new SqlParameter("deviceType", device.DeviceType);
            cmd.Parameters.Add(p);

            p = new SqlParameter("address", device.Address);
            cmd.Parameters.Add(p);

            p = new SqlParameter("r", device.Remark);
            cmd.Parameters.Add(p);

            object obj = this.ExecuteScalar(cmd);

            device.ID = this.GetIdentity();
            return obj;
        }
コード例 #3
0
ファイル: Task.cs プロジェクト: hkiaipc/c2
 /// <summary>
 /// 
 /// </summary>
 /// <param name="opera"></param>
 public Task(Device device, Opera opera, Strategy strategy, TimeSpan timeout)
 {
     this.Device = device;
     this.Opera = opera;
     this.Strategy = strategy;
     this.Timeout = timeout;
 }
コード例 #4
0
ファイル: frmMain.cs プロジェクト: hkiaipc/lx
 /// <summary>
 /// 
 /// </summary>
 /// <param name="stationTreeNode"></param>
 /// <param name="device"></param>
 private static void AddDeviceToStationTreeNode(TreeNode stationTreeNode, Device device)
 {
     string deviceType = device.DeviceType;
     TreeNode deviceTreeNode = stationTreeNode.Nodes.Add(deviceType);
     deviceTreeNode.ImageKey = "Device";
     deviceTreeNode.SelectedImageKey = "device";
     deviceTreeNode.Tag = device;
 }
コード例 #5
0
ファイル: DBHardwareBuilder.cs プロジェクト: hkiaipc/c2
        /// <summary>
        /// 
        /// </summary>
        /// <param name="newDevice"></param>
        public override void AddDevice(Device newDevice)
        {
            string sql = "insert into tblDevice(DeviceName, DeviceAddress, DeviceType, DeviceDeleted, StationID, DeviceRemark) "
            + " values(@name, @address, @type, @deleted, @stationID, @remark)";

            SqlCommand cmd = new SqlCommand(sql);
            DBIBase.AddSqlParameter(cmd, "name", newDevice.Name);
            DBIBase.AddSqlParameter(cmd, "address", newDevice.Address);
            DBIBase.AddSqlParameter(cmd, "type", newDevice.DeviceDefine.DeviceType);
            DBIBase.AddSqlParameter(cmd, "deleted", 0);
            DBIBase.AddSqlParameter(cmd, "StationID", newDevice.Station.ID);
            DBIBase.AddSqlParameter(cmd, "remark", newDevice.Remark);
            DBI.ExecuteScalar(cmd);

            newDevice.ID = DBI.GetIdentity();
        }
コード例 #6
0
ファイル: frmCommuniFail.cs プロジェクト: hkiaipc/yh
        /// <summary>
        /// 
        /// </summary>
        /// <param name="communiFailDetails"></param>
        public frmCommuniFail( Device device,
            CommuniFailDetailCollection communiFailDetails )
        {
            InitializeComponent();

            if (communiFailDetails == null)
                throw new ArgumentNullException("communiFailDetails");

            if (device == null)
                throw new ArgumentNullException("device");

            this._communiFailDetails = communiFailDetails;
            this._device = device;
            this.Text = string.Format(strings.CommuniLogTitle,
                device.Station.Name,
                device.DeviceDefine.Text);
        }
コード例 #7
0
ファイル: frmDeviceItem.cs プロジェクト: hkiaipc/lx
        /// <summary>
        /// 
        /// </summary>
        /// <param name="device"></param>
        public frmDeviceItem(Device device)
            : this()
        {
            if (device == null)
            {
                throw new ArgumentNullException("device");
            }
            this._device = device;
            this.DeviceType = device.DeviceType;
            //this._station = (CZGRStation)device.Station;
            this.Station = device.Station;

            this.txtOwnerStatoin.Text = this._device.Station.Name;
            this.txtDeviceType.Text = this._device.Text;
            this.txtName.Text = this._device.Name;
            this.txtRemark.Text = this._device.Remark;
            //this.cmbDeviceType.Text = CZGRCommon.DeviceTypes.GetText(_device.DeviceType);
            this.numDeviceAddress.Value = _device.Address;
            this._adeState = ADEStatus.Edit;
        }
コード例 #8
0
ファイル: frmCommuniDetails.cs プロジェクト: hkiaipc/yh
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="communiFailDetails"></param>
        //public frmCommuniFail( Device device,
        //    CommuniFailDetailCollection communiFailDetails )
        //{
        //    InitializeComponent();
        //    if (communiFailDetails == null)
        //        throw new ArgumentNullException("communiFailDetails");
        //    if (device == null)
        //        throw new ArgumentNullException("device");
        //    this._communiFailDetails = communiFailDetails;
        //    this._device = device;
        //    this.Text = string.Format(strings.CommuniLogTitle,
        //        device.Station.Name,
        //        device.DeviceDefine.Text);
        //}
        /// <summary>
        /// 
        /// </summary>
        /// <param name="device"></param>
        /// <param name="communiDetailQueue"></param>
        public frmCommuniDetails(Device device,
            CommuniDetailQueue communiDetailQueue)
        {
            InitializeComponent();
            if (communiDetailQueue == null)
                throw new ArgumentNullException("communiDetailQueue");

            if (device == null)
                throw new ArgumentNullException("device");

            this._device = device;
            this._communiDetailQueue = communiDetailQueue;

            this.Text = string.Format(
                strings.CommuniLogTitle,
                device.Station.Name,
                device.DeviceDefine.Text
                );

            FillComboBox();
            Fill();
        }
コード例 #9
0
ファイル: TaskManager.cs プロジェクト: hkiaipc/c2
 /// <summary>
 /// 
 /// </summary>
 public void RemoveTaskByDevice(Device device)
 {
     this.Tasks.RemoveByDevice(device);
     this.ExecutingTasks.RemoveByDevice(device);
 }
コード例 #10
0
ファイル: TaskManager.cs プロジェクト: hkiaipc/c2
        /// <summary>
        /// 
        /// </summary>
        /// <param name="device"></param>
        /// <returns></returns>
        public Task[] GetTasks(Device device)
        {
            List<Task> list = new List<Task>();
            this._executingTasks.GetTasks(device, list);
            this._taskCollection.GetTasks(device, list);

            return list.ToArray();
        }
コード例 #11
0
ファイル: frmDeviceItem.cs プロジェクト: hkiaipc/lx
 /// <summary>
 /// 检查集合中是否已经存在相同地址
 /// </summary>
 /// <param name="deviceType"></param>
 /// <param name="address"></param>
 /// <returns></returns>
 public bool ExistAddress(string deviceType, int address, Device ignore)
 {
     return this.Station.Devices.ExistAddress(deviceType, address, ignore);
 }
コード例 #12
0
 /// <summary>
 /// 
 /// </summary>
 public frmModbusParameterSetting(Device device)
 {
     InitializeComponent();
     this._device = device;
     BindParamName();
 }
コード例 #13
0
ファイル: frmMain.cs プロジェクト: hkiaipc/lx
 /// <summary>
 /// 
 /// </summary>
 private void ShowDevice(Device device)
 {
 }
コード例 #14
0
ファイル: HardwareManager.cs プロジェクト: hkiaipc/yh
 /// <summary>
 /// ��ȡdevice��ص�station
 /// </summary>
 /// <param name="device"></param>
 /// <returns></returns>
 public Station GetStation(Device device)
 {
     //foreach (Station st in this.Stations)
     //{
     //    if( st.Devices.Contains(device) )
     //    {
     //        return st;
     //    }
     //}
     //return null;
     return device.Station;
 }
コード例 #15
0
ファイル: HardwareUI.cs プロジェクト: hkiaipc/c2
 /// <summary>
 /// 
 /// </summary>
 /// <param name="device"></param>
 /// <returns></returns>
 public DialogResult DeleteDevice(Device device)
 {
     DialogResult dr = NUnit.UiKit.UserMessage.Ask("delete device?");
     if (dr == DialogResult.OK)
     {
         // TODO: delete device
         //
         HardwareManager.HardwareChanged(HardwareType.Device, device, HardwareChangedType.Delete);
     }
     return dr;
 }
コード例 #16
0
ファイル: DBHardwareBuilder.cs プロジェクト: hkiaipc/c2
 /// <summary>
 /// 
 /// </summary>
 /// <param name="device"></param>
 public override void EditDevice(Device device)
 {
     string sql = "update tblDevice set DeviceName = @name, DeviceAddress = @address, DeviceType = @type, " +
         "DeviceRemark = @remark where deviceID = @id";
     SqlCommand cmd = new SqlCommand(sql);
     DBIBase.AddSqlParameter(cmd, "name", device.Name);
     DBIBase.AddSqlParameter(cmd, "address", device.Address);
     DBIBase.AddSqlParameter(cmd, "type", device.DeviceDefine.DeviceType);
     DBIBase.AddSqlParameter(cmd, "remark", device.Remark);
     DBIBase.AddSqlParameter(cmd, "id", device.ID);
     DBI.ExecuteScalar(cmd);
 }
コード例 #17
0
ファイル: DBHardwareBuilder.cs プロジェクト: hkiaipc/c2
 /// <summary>
 /// 
 /// </summary>
 /// <param name="device"></param>
 public void DeleteDevice(Device device)
 {
     string sql = "update tblDevice set Devicedeleted = 1 where deviceid = " + device.ID;
     DBI.ExecuteScalar(sql);
 }
コード例 #18
0
ファイル: DBHardWareBuilder.cs プロジェクト: leadscloud/lx
        /// <summary>
        ///
        /// </summary>
        /// <param name="soft"></param>
        public override void Build(CommuniSoft soft)
        {
            System.Collections.Hashtable idStationMap = new System.Collections.Hashtable();
            // build station
            //
            foreach (DataRow stationDR in _stationDataTable.Rows)
            {
                bool isStationDeleted = false;
                if (stationDR["Deleted"] != DBNull.Value)
                {
                    isStationDeleted = Convert.ToBoolean(stationDR["Deleted"]);
                }

                if (!isStationDeleted)
                {
                    string stationName    = stationDR["Name"].ToString();
                    bool   isExistStation = soft.HardwareManager.Stations.ExistName(stationName, null);
                    if (!isExistStation)
                    {
                        string xml = stationDR["CommuniTypeContent"].ToString().Trim();
                        if (xml.Length == 0)
                        {
                            // TODO: 2010-09-17
                            // log error info
                            //
                            continue;
                        }

                        int stationID = (int)stationDR["StationID"];

                        XmlDataDocument doc = new XmlDataDocument();
                        doc.LoadXml(xml);
                        XmlNode     node        = doc.SelectSingleNode("socketcommunitype");
                        CommuniType communiType = Xdgk.Communi.XmlBuilder.XmlSocketCommuniBuilder.Build(node);

                        Station station = new Station(stationName, communiType);
                        station.ID = stationID;
                        idStationMap.Add(stationID, station);
                        soft.HardwareManager.Stations.Add(station);
                    }
                }
            }

            // build device
            //
            foreach (DataRow deviceDR in _deviceDataTable.Rows)
            {
                bool isDeviceDeleted = false;
                if (deviceDR["deleted"] != DBNull.Value)
                {
                    isDeviceDeleted = Convert.ToBoolean(deviceDR["Deleted"]);
                }

                if (isDeviceDeleted)
                {
                    continue;
                }

                int    stationID     = (int)deviceDR["StationID"];
                int    deviceID      = (int)deviceDR["DeviceID"];
                string deviceType    = deviceDR["DeviceType"].ToString();
                string addressString = deviceDR["Address"].ToString().Trim();

                if (addressString.Length == 0)
                {
                    continue;
                }

                int address = Convert.ToInt32(addressString);

                Station st = idStationMap[stationID] as Station;
                if (st == null)
                {
                    continue;
                }

                //DeviceDefine dd = soft.DeviceDefineCollection.FindDeviceDefine(deviceType);
                DeviceDefine dd = soft.DeviceDefineManager.DeviceDefineCollection.FindDeviceDefine(deviceType);
                if (dd == null)
                {
                    bool exist = soft.UnDefineDeviceType.Exist(deviceType);
                    if (!exist)
                    {
                        soft.UnDefineDeviceType.Add(deviceType);
                        string msg = string.Format(strings.UnDefineDeviceType, deviceType);
                        NUnit.UiKit.UserMessage.Display(msg);
                    }
                    continue;
                }

                //Xdgk.Communi.Device device = new Device(dd, "", address);
                Xdgk.Communi.Device device = DeviceFactory.Create(dd, "", address);

                //Xdgk.Communi.Device device = new Device(deviceType, address);
                //string t = soft.OperaFactory.DeviceDefineCollection.GetDeviceText(deviceType);
                //device.Text = t;
                device.ID = deviceID;

                //Station st = soft.HardwareManager.GetStation(stationName);
                st.Devices.Add(device);
            }

            //
            //
            StationCollection rainStations = this.CreateRainStations(soft);

            foreach (Station item in rainStations)
            {
                soft.HardwareManager.Stations.Add(item);
            }
        }
コード例 #19
0
ファイル: frmDeviceItem.cs プロジェクト: hkiaipc/c2
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void okButton_Click(object sender, EventArgs e)
        {
            if (VerifyAddress())
            {
                if (ADEState == ADEState.Edit)
                {
                    EditDevice();
                }
                else
                {
                    Device newDevice = new Device(this.DeviceDefine, this.txtName.Text, this.Address);
                    newDevice.Remark = this.Remark;
                    _device = newDevice;

                    this.Station.Devices.Add(newDevice);
                }
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
            else
            {
                NUnit.UiKit.UserMessage.DisplayFailure("已经存在相同地址");
            }
        }
コード例 #20
0
ファイル: frmDeviceItem.cs プロジェクト: hkiaipc/c2
 /// <summary>
 /// 
 /// </summary>
 /// <param name="device"></param>
 public void InitForEdit(Device device)
 {
     this.Device = device;
     this._adeState = ADEState.Edit;
 }
コード例 #21
0
ファイル: TaskManager.cs プロジェクト: hkiaipc/c2
        /// <summary>
        /// return communiPort or null
        /// </summary>
        /// <param name="device"></param>
        /// <returns></returns>
        private CommuniPort GetCommPort(Device device)
        {
            if (device == null)
                throw new ArgumentNullException("device");

            Station station = CommuniSoft.HardwareManager.GetStation(device);
            Debug.Assert(station != null, "station == null");

            //return this.CommuniSoft.CommuniPortManager.FindCommuniPort(station.CommuniType);
            return station.CommuniPort;
        }
コード例 #22
0
ファイル: GRDeviceGraph.cs プロジェクト: hkiaipc/C3
 /// <summary>
 /// 
 /// </summary>
 /// <param name="soft"></param>
 /// <param name="task"></param>
 private void AddTask(CommuniSoft soft, Device device, Opera op)
 {
     Task task = new Task(device, op, new ImmediateStrategy());
     soft.TaskManager.Tasks.AddToHead(task);
     NUnit.UiKit.UserMessage.DisplayInfo(strings.CommandSubmit);
 }
コード例 #23
0
ファイル: Task.cs プロジェクト: hkiaipc/c2
 public Task(Device device, Opera opera, Strategy strategy)
     : this(device, opera, strategy, TaskDefine.DefaultTaskTimeout)
 {
 }
コード例 #24
0
ファイル: Task.cs プロジェクト: hkiaipc/yh
 /// <summary>
 /// 
 /// </summary>
 /// <param name="opera"></param>
 public Task(Device device, Opera opera, Strategy strategy)
 {
     this.Device = device;
     this.Opera = opera;
     this.Strategy = strategy;
 }
コード例 #25
0
ファイル: CSDBI.cs プロジェクト: hkiaipc/hunb
        /// <summary>
        /// 
        /// </summary>
        /// <param name="device"></param>
        /// <returns></returns>
        public object EditDevice(Device device)
        {
            string sql = "update tblDevice set Name = @n, DeviceType = @deviceType, Address = @address, Remark = @r where DeviceID = @deviceID";

            SqlCommand cmd = new SqlCommand(sql);
            SqlParameter p =null ;
            p = new SqlParameter("deviceID", device.ID);
            cmd.Parameters.Add(p);

            p = new SqlParameter("n", device.Name);
            cmd.Parameters.Add(p);

            p = new SqlParameter("deviceType", device.DeviceType);
            cmd.Parameters.Add(p);

            p = new SqlParameter("address", device.Address);
            cmd.Parameters.Add(p);

            p = new SqlParameter("r", device.Remark);
            cmd.Parameters.Add(p);

            return this.ExecuteScalar(cmd);
        }
コード例 #26
0
ファイル: DBHardwareBuilder.cs プロジェクト: hkiaipc/c2
 /// <summary>
 /// 
 /// </summary>
 /// <param name="dd"></param>
 /// <param name="name"></param>
 /// <param name="address"></param>
 /// <param name="remark"></param>
 /// <param name="id"></param>
 /// <param name="source"></param>
 /// <returns></returns>
 public virtual Device OnBuildDevice(DeviceDefine dd, string name, Int64 address, string remark, int id, object source)
 {
     Device d = new Device(dd, name, address);
     d.ID = id;
     d.Remark = remark;
     return d;
 }
コード例 #27
0
ファイル: DevicePage.cs プロジェクト: hkiaipc/C3
 public DevicePage(Device device)
 {
     _device = device;
 }
コード例 #28
0
ファイル: HardwareUI.cs プロジェクト: hkiaipc/c2
        /// <summary>
        /// 
        /// </summary>
        /// <param name="device"></param>
        /// <returns></returns>
        public DialogResult EditDevice(Device device)
        {
            if (device == null)
            {
                throw new ArgumentNullException("device");
            }

            DeviceDefine dd = device.DeviceDefine;
            IDeviceForm f = GetDeviceForm(dd);
            f.InitForEdit(device);
            DialogResult dr = f.ShowDialog();
            if (dr == DialogResult.OK)
            {
                HardwareManager.HardwareChanged(HardwareType.Device,
                    device, HardwareChangedType.Edit);
            }
            return dr;
        }
コード例 #29
0
ファイル: Class1.cs プロジェクト: hkiaipc/c2
 public void Update(Device device)
 {
     throw new NotImplementedException();
 }