Пример #1
0
        public async void RequestLogout(String id)
        {
            Req0004 req = new Req0004()
            {
                UserID = id
            };
            Res0004 res = await GGTHubProxy.Invoke <Res0004>("RequestLogout", req);

            Packet0004Received?.Invoke(this, new Packet0004ReceivedEventArgs(req, res));
        }
Пример #2
0
        public Res0004 RequestLogout(Req0004 req)
        {
            Res0004 res        = null;
            String  UserStatus = Singleton <DatabaseService> .Instance.GetUserStatus(req.UserID);

            if (UserStatus.Equals("O"))
            {
                res = new Res0004()
                {
                    Request = req, IsLogoutSuccess = false, Message = "로그인 상태가 아닙니다"
                };
            }
            else
            {
                Boolean UserLoginUpdateResult = Singleton <DatabaseService> .Instance.UpdateUserLogout(req.UserID);

                if (UserLoginUpdateResult)
                {
                    UserStatus = Singleton <DatabaseService> .Instance.GetUserStatus(req.UserID);

                    if (UserStatus.Equals("O"))
                    {
                        res = new Res0004()
                        {
                            Request = req, IsLogoutSuccess = true, Message = "로그아웃 성공"
                        }
                    }
                    ;
                    else
                    {
                        res = new Res0004()
                        {
                            Request = req, IsLogoutSuccess = false, Message = "로그아웃에 성공했으나 DB 갱신 문제 발생"
                        }
                    };
                }
                else
                {
                    res = new Res0004()
                    {
                        Request = req, IsLogoutSuccess = false, Message = "로그아웃에 성공했으나 DB 갱신 문제 발생"
                    };
                }
            }
            return(res);
        }