示例#1
0
        private void PopulateDeviceList()
        {
            this.Device_List.Items.Clear();

            using (MuhasebeEntities m_Context = new MuhasebeEntities())
            {
                var m_Devices = m_Context.Devices.Where(q => q.OwnerID == Program.User.WorksAtID);

                m_Devices.All(delegate(Device device)
                {
                    ListViewItem m_Item = new ListViewItem();
                    m_Item.Tag          = device.ID;
                    m_Item.Text         = device.Type.Name;
                    m_Item.Group        = this.Device_List.Groups[0] as ListViewGroup;
                    var m_RawParam      = device.GetConnectionParameters();
                    string m_Details    = "";

                    if (m_RawParam is UsbConnectionParameters)
                    {
                        UsbConnectionParameters m_Parameters = m_RawParam as UsbConnectionParameters;
                        m_Details = string.Format("ProductID: {0}, VendorID: {1}", m_Parameters.ProductID, m_Parameters.VendorID);
                    }
                    else if (m_RawParam is SerialConnectionParameters)
                    {
                        SerialConnectionParameters m_Parameters = m_RawParam as SerialConnectionParameters;
                        m_Details = string.Format("Port: {0}, BaudRate: {1}", m_Parameters.Port, m_Parameters.BaudRate.ToString());
                    }
                    else if (m_RawParam is NetworkConnectionParameters)
                    {
                        NetworkConnectionParameters m_Parameters = m_RawParam as NetworkConnectionParameters;
                        m_Details = string.Format("Alias: {0}", m_Parameters.Alias);
                    }



                    switch (device.Type.Universal)
                    {
                    case "Barcode Scanner":
                        {
                            m_Item.ImageIndex = 0;
                            break;
                        }

                    case "Barcode Printer":
                        {
                            m_Item.ImageIndex = 2;
                            break;
                        }
                    }

                    m_Item.SubItems.Add(m_Details);
                    this.Device_List.Items.Add(m_Item);

                    return(true);
                });
            }
        }
示例#2
0
        private void PopulateView(bool showInitialValues = false)
        {
            ConnectionType m_Type = this.Connection_Type_Combo.SelectedItem as ConnectionType;

            switch (m_Type.Name)
            {
            case "USB":
            {
                this.RS232_Group.Visible   = false;
                this.NETWORK_Group.Visible = false;
                this.USB_Group.Visible     = true;

                if (showInitialValues)
                {
                    UsbConnectionParameters m_Parameters = this.Device.GetConnectionParameters() as UsbConnectionParameters;
                    this.VendorID_Box.Text  = m_Parameters.VendorID;
                    this.ProductID_Box.Text = m_Parameters.ProductID;
                }

                break;
            }

            case "RS-232":
            {
                this.RS232_Group.Visible   = true;
                this.NETWORK_Group.Visible = false;
                this.USB_Group.Visible     = false;

                if (showInitialValues)
                {
                    SerialConnectionParameters m_Parameters = this.Device.GetConnectionParameters() as SerialConnectionParameters;

                    this.Com_Port_Combo.SelectedItem  = m_Parameters.Port;
                    this.Baud_Rate_Combo.SelectedItem = m_Parameters.BaudRate.ToString();
                }


                break;
            }

            case "NETWORK":
            {
                this.RS232_Group.Visible   = false;
                this.NETWORK_Group.Visible = true;
                this.USB_Group.Visible     = false;

                if (showInitialValues)
                {
                    NetworkConnectionParameters m_Parameters = this.Device.GetConnectionParameters() as NetworkConnectionParameters;
                    this.Alias_Box.Text = m_Parameters.Alias;
                }

                break;
            }
            }
        }
示例#3
0
        private void Save_Button_Click(object sender, EventArgs e)
        {
            if (this.Device != null)
            {
                DeviceType     m_DeviceType     = this.Device_Type_Combo.SelectedItem as DeviceType;
                ConnectionType m_ConnectionType = this.Connection_Type_Combo.SelectedItem as ConnectionType;

                using (MuhasebeEntities m_Context = new MuhasebeEntities())
                {
                    Device m_Actual = m_Context.Devices.Where(q => q.ID == this.Device.ID).FirstOrDefault();
                    m_Actual.TypeID           = m_DeviceType.ID;
                    m_Actual.ConnectionTypeID = m_ConnectionType.ID;

                    m_Actual.OwnerID = Program.User.WorksAtID.Value;

                    switch (m_ConnectionType.Name)
                    {
                    case "USB":
                    {
                        UsbConnectionParameters m_Parameters = new UsbConnectionParameters();

                        if (this.ProductID_Box.Text == string.Empty || this.VendorID_Box.Text == string.Empty)
                        {
                            MessageBox.Show("Üretici ve ürün kimliği doğru girilmeli.", "Hata", MessageBoxButtons.OK);
                            return;
                        }


                        m_Parameters.ProductID = this.ProductID_Box.Text;
                        m_Parameters.VendorID  = this.VendorID_Box.Text;

                        m_Actual.Parameters = JsonConvert.SerializeObject(m_Parameters);

                        break;
                    }

                    case "RS-232":
                    {
                        SerialConnectionParameters m_Parameters = new SerialConnectionParameters();
                        m_Parameters.Port     = this.Com_Port_Combo.SelectedItem.ToString();
                        m_Parameters.BaudRate = Convert.ToInt32(this.Baud_Rate_Combo.SelectedItem.ToString());

                        m_Actual.Parameters = JsonConvert.SerializeObject(m_Parameters);

                        break;
                    }

                    case "NETWORK":
                    {
                        NetworkConnectionParameters m_Parameters = new NetworkConnectionParameters();

                        if (this.Alias_Box.Text == string.Empty)
                        {
                            MessageBox.Show("Ürünün ağdaki adı girilmeli.", "Hata", MessageBoxButtons.OK);
                            return;
                        }

                        m_Parameters.Alias  = this.Alias_Box.Text;
                        m_Actual.Parameters = JsonConvert.SerializeObject(m_Parameters);

                        break;
                    }
                    }

                    m_Context.SaveChanges();
                    InvokeItemEdited(m_Actual);

                    this.Close();
                }
            }
        }