public static List<GenericSerializableResponsePacket> RegisterAccount(RegistrationPacket packet, ClientContext uContext) { List<GenericSerializableResponsePacket> responsePackets = new List<GenericSerializableResponsePacket>(); bool result = AccountMgr.CreateAccount(packet.Username, packet.Psw, packet.Email); GenericSerializableResponsePacket grp = new GenericSerializableResponsePacket { Response = new RegistrationResponse { MessageType = MessageType.MSG_TYPE_REGISTRATION_RESPONSE, Result = result }, SenderType = SenderType.Server }; responsePackets.Add( grp ); return responsePackets; }
public static List <GenericSerializableResponsePacket> DoLogin(ClientContext aContext, List <Session> sessions, ConcurrentDictionary <string, Connection> onlineConnections, LoginPacket packet) { List <GenericSerializableResponsePacket> responsePackets = new List <GenericSerializableResponsePacket>(); try { Account u = AccountMgr.GetAccount(packet.Username.ToUpper(), packet.Psw.ToUpper()); if (!AccountMgr.Validate(u)) { GenericSerializableResponsePacket grp = new GenericSerializableResponsePacket { Response = new LoginResponse { MessageType = MessageType.MSG_TYPE_LOGIN_INFO, LoginResult = LoginResult.WrongCredentials }, SenderType = SenderType.Server }; responsePackets.Add(grp); } else { Session s = sessions.First(session => session.ID == aContext.IPAddress); s.user = u; s.context = aContext; GenericSerializableResponsePacket grpLogin = new GenericSerializableResponsePacket { //Client = aContext, Response = new LoginResponse { MessageType = MessageType.MSG_TYPE_LOGIN_INFO, LoginResult = LoginResult.Success, AccountID = s.user.idAccount }, SenderType = SenderType.Server, IDAccountReceiver = s.user.idAccount }; responsePackets.Add(grpLogin); if (packet.WantWelcomeMessage) { //Create the welcome message object //Chat chat = new Chat{ chattype = ChatType.CHAT_TYPE_GLOBAL_CHAT, text = "Benvenuto " + s.user.Username }; AccountMgr.SetOnline(s.user); //var welcomeMessage = new MessagePacket(MessageType.MSG_TYPE_CHAT, 0, s.user.idAccount, chat); //s.CreateResponse(welcomeMessage); } /* * GenericResponsePacket grpWwm = new GenericResponsePacket * { * Client = aContext, * Response = new ChatMessage * { * Message = * } * }; */ } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.InnerException.Message); Console.WriteLine(ex.InnerException.StackTrace); } return(responsePackets); }