예제 #1
0
        /* =============================================
         *  공장 콤보박스를 선택했을경우 발생하는 이벤트
         * =============================================== */
        private void cboFactory_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                if (cboFactory.SelectedIndex > 0)
                {
                    // 공장리스트에서 공장타입번호가 같은것만 찾아서 공정 리스트를 호출 바인딩함
                    string facDivision = factory.Find(f => f.ID == cboFactory.SelectedValue.ToString()).CodeType;

                    UtilClass.ComboBinding(cboWorker, new Service().GetWorker(Convert.ToInt32(facDivision)), "작업자 선택");
                    UtilClass.ComboBinding(cboLine, new Service().GetLineList(Convert.ToInt32(cboFactory.SelectedValue)), "공정 선택");

                    if (workerInfo != null)
                    {
                        cboLine.SelectedValue = workerInfo.LineID.ToString();
                        //cboLine.SelectedIndex = ((List<ComboItemVO>)cboLine.DataSource).FindIndex(k => k.ID == workerInfo.LineID.ToString());
                        workerInfo = null;
                    }
                }
                else
                {
                    List <ComboItemVO> list = null;
                    UtilClass.ComboBinding(cboLine, list, string.Format(Properties.Resources.MsgChoice2, "공장"));
                    UtilClass.ComboBinding(cboWorker, list, string.Format(Properties.Resources.MsgChoice2, "공장"));
                }
            }
            catch (Exception ex)
            {
                Program.Log.WriteError(ex.Message, ex);
            }
        }
예제 #2
0
        // 연결(로그인) 선택시
        private void btnConnect_Click(object sender, EventArgs e)
        {
            StringBuilder msg = new StringBuilder();

            if (cboFactory.SelectedIndex < 1)
            {
                msg.AppendLine(string.Format(Properties.Resources.MsgChoice2, "공장"));
            }

            if (cboLine.SelectedIndex < 1)
            {
                msg.AppendLine(string.Format(Properties.Resources.MsgChoice2, "공정"));
            }

            if (cboWorker.SelectedIndex < 1)
            {
                msg.AppendLine(string.Format(Properties.Resources.MsgChoice1, "작업자"));
            }

            if (msg.Length > 1)
            {
                CustomMessageBox.ShowDialog("접속실패", msg.ToString(), MessageBoxIcon.Warning, MessageBoxButtons.OK);
                return;
            }

            // 유효성 검사(Login 성공시 => POPWorkInfo로 데이터를 담음)
            workerInfo = new WorkerInfoPOP
            {
                WorkID      = Convert.ToInt32(cboWorker.SelectedValue),
                Worker      = cboWorker.Text,
                LineID      = Convert.ToInt32(cboLine.SelectedValue),
                LineName    = cboLine.Text,
                FactoryID   = cboFactory.SelectedValue.ToString(),
                FactoryName = cboFactory.Text
            };

            // 로그인이 완료되면 메인 화면을 띄워주는 코드
            PopMain Main = new PopMain();

            Hide();
            Main.WorkerInfo = workerInfo;

            // 로그아웃버튼을 누른 경우
            // 폼을 다시 로드하는 효과를 줌.
            if (Main.ShowDialog() == DialogResult.OK)
            {
                InitData();

                cboFactory.SelectedValue = Main.WorkerInfo.FactoryID;
                Show();
            }
            // 종료 버튼을 누른 경우
            // 로그인 화면도 닫음
            else
            {
                Close();
            }
        }