Esempio n. 1
0
        private void CheckDuplicate(CustomProtocolManager.DuplicateCheckJoinType type, string context)
        {
            if (context.Equals(""))
            {
                MessageBox.Show("값은 공백이 될 수 없습니다.");
                return;
            }
            else if (MessageHandler.CheckDuplicateData(type, context))
            {
                MessageBox.Show("중복되지 않아 사용 가능합니다.");

                if (type == CustomProtocolManager.DuplicateCheckJoinType.ID)
                {
                    btn_JoinNameCheck.Enabled = false;
                }
                else if (type == CustomProtocolManager.DuplicateCheckJoinType.Nickname)
                {
                    btn_JoinNicknameCheck.Enabled = false;
                }

                if (btn_JoinNameCheck.Enabled == false && btn_JoinNicknameCheck.Enabled == false)
                {
                    btn_JoinConfirm.Enabled = true;
                }

                return;
            }
            else
            {
                MessageBox.Show("중복되었습니다. 사용 불가합니다.");
                return;
            }
        }
        /// <summary>
        /// 회원가입 양식 데이터에서 중복 여부를 확인하게 해주는 함수입니다.
        /// </summary>
        /// <param name="type">확인할 데이터 타입입니다.</param>
        /// <param name="context">확인할 데이터의 내용입니다.</param>
        /// <returns>사용 가능 여부</returns>
        public static bool AccountDuplicateCheckFunction(CustomProtocolManager.DuplicateCheckJoinType type, string context)
        {
            switch (type)
            {
            case CustomProtocolManager.DuplicateCheckJoinType.ID:
                if (DBmanager.getInstance().GetCountColumnData("user_id", context) > 0)
                {
                    return(false);
                }
                return(true);

            case CustomProtocolManager.DuplicateCheckJoinType.Nickname:
                if (DBmanager.getInstance().GetCountColumnData("user_nickname", context) > 0)
                {
                    return(false);
                }
                return(true);

            default: return(false);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 회원가입시 데이터가 중복되었는지 개별적으로 확인할때 사용하는 함수입니다.
        /// 형식과 데이터를 받아서 중복 여부를 확인합니다. True일 경우 사용해도 좋다는 의미입니다.
        /// </summary>
        /// <param name="type">확인할 데이터의 타입입니다.</param>
        /// <param name="context">확인할 데이터의 내용입니다.</param>
        /// <returns>사용 가능 여부</returns>
        public static bool CheckDuplicateData(CustomProtocolManager.DuplicateCheckJoinType type, string context)
        {
            ConnectInfo ci = ConnectInfo.getInstance();

            SendToServer(CustomProtocolManager.MakeDuplicateCheckForJoin(type, context), true);
            int index          = 0;
            int requiredLength = CustomProtocolManager.HEADER_SIZE + 1;

            byte[] recvData = new byte[requiredLength];

            if (!ReceiveFunction(ci.tcpClient.Client, ref recvData, ref index, requiredLength))
            {
                return(false);
            }

            if (CustomProtocolManager.ParseResponsePacket(recvData, CustomProtocolManager.HEADER_SIZE)
                == CustomProtocolManager.GenericResponseType.Acknowledge)
            {
                return(true);
            }
            return(false);
        }