bool IDataSender.RegistFinishReq(Guid request_id, RegistFinishReq req)
        {
            Datagram datagram = new Datagram
            {
                DataType    = DatagramType.Login,
                MessageType = LoginMessageType.RegistFinishReq,
                RequestID   = request_id,
                Datas       = req.ToByteArray()
            };

            return(Send(datagram));
        }
Exemple #2
0
        private void OnRegistFinishReq(Datagram datagram)
        {
            RegistFinishReq req = datagram.UnSerialData <RegistFinishReq>();

            RegistResponse response = new RegistResponse();

            if (OperationFinishCache.TryGetValue
                (
                    req.NextLabel,
                    out KeyValuePair <string, DateTime> value
                ))
            {
                string user_id = InternalTools.GetNewUserID();
                if (SQLDB.Register(new RegisterPackage
                {
                    ID = user_id,
                    Name = req.Name,
                    Email = value.Key,
                    Describe = req.Describe,
                    Password = req.Password,
                    Phone = null,
                    Photo = req.Picture
                }))
                {
                    response.NextLabel = DataConvert.GetGuid(user_id);
                    UserInfoReader.CreateUser(user_id);
                    UserAppliesReader.CreateUser(user_id);
                    CloudReader.AddUser(user_id);
                    System.IO.Directory.CreateDirectory(CloudRootPath + "\\" + IKXTServer.DataConvert.GetGuid(user_id).ToString());
                }
            }

            datagram.DataType    = DatagramType.Client;
            datagram.MessageType = LoginMessageType.RegistFinishRes;
            datagram.Datas       = response.ToByteArray();

            if (!Send(datagram.ToByteArray()))
            {
                Notify(IKXTServer.LogLevel.Error, "数据发送异常");
                Close();
            }
        }