Пример #1
0
        public static void NewPersonalDataReceived(int _fromClient, Packet _packet)
        {
            int    _clientIdCheck = _packet.ReadInt();
            string _fullName      = _packet.ReadString();
            string _email         = _packet.ReadString();
            string _password      = _packet.ReadString();

            if (_fromClient != _clientIdCheck)
            {
                Console.WriteLine($"User (ID: {_fromClient}) has assumed the wrong client ID ({_clientIdCheck})!");
            }
            else
            {
                ServerSend.PersonalDataCreated(_fromClient, Postgres.AddNewPersonalData(_fullName, _email, _password));
            }
        }
Пример #2
0
        public static void BuyItemReceived(int _fromClient, Packet _packet)
        {
            int _marketId       = _packet.ReadInt();
            int _quantityForBuy = _packet.ReadInt();

            if (_marketId <= 0 || _quantityForBuy <= 0)
            {
                ServerSend.BuyItemResult(_fromClient, false);
            }
            else
            {
                int _playerId         = Server.clients[_fromClient].clientData.playerId;
                int _itemId           = -1;
                int _sellerId         = -1;
                int _priceForQuantity = int.MaxValue;
                int _quantityLeft     = Postgres.CheckItemQuantityInMarketBeforeBuying(_marketId, _quantityForBuy, ref _itemId, ref _sellerId, ref _priceForQuantity);
                if (_quantityLeft < 0 || _playerId == _sellerId)
                {
                    ServerSend.BuyItemResult(_fromClient, false);
                }
                else
                {
                    int  _personalDataId = Server.clients[_fromClient].clientData.personalDataId;
                    bool _isAdmin        = Server.clients[_fromClient].clientData.isAdmin;
                    if (_isAdmin)
                    {
                        ServerSend.BuyItemResult(_fromClient,
                                                 Postgres.ChangeBalanceOfSellerAndUpdateMarketRecord(_marketId, _playerId, _quantityLeft, _priceForQuantity));
                    }
                    else
                    {
                        int _newBalance = Postgres.GetBalanceAndAdminStatusByPLayerIdAndPersonalDataId(_playerId, _personalDataId, _fromClient);
                        _newBalance -= _priceForQuantity;
                        if (_newBalance <= 0)
                        {
                            ServerSend.BuyItemResult(_fromClient, false);
                        }
                        else
                        {
                            ServerSend.BuyItemResult(_fromClient,
                                                     Postgres.ChangeBalanceOfBuyerAndSellerAndUpdateMarketRecordAndInventory(
                                                         _marketId, _itemId, _playerId, _sellerId, _quantityForBuy, _quantityLeft, _priceForQuantity));
                        }
                    }
                }
            }
        }
Пример #3
0
        public static void UpdateCurrentPlayerInventory(int _fromClient, Packet _packet)
        {
            int _playerId = Server.clients[_fromClient].clientData.playerId;
            int _balance  = Postgres.GetBalanceAndAdminStatusByPLayerIdAndPersonalDataId(
                _playerId,
                Server.clients[_fromClient].clientData.personalDataId,
                _fromClient);
            bool _isAdmin = Server.clients[_fromClient].clientData.isAdmin;

            if (_balance > -1)
            {
                ServerSend.SendBalanceAndInventory(_fromClient, _playerId, _balance, _isAdmin);
            }
            else
            {
                ServerSend.ValidationError(_fromClient);
            }
        }
Пример #4
0
        public static void WelcomeReceived(int _fromClient, Packet _packet)
        {
            int    _clientIdCheck = _packet.ReadInt();
            string _email         = _packet.ReadString();
            string _password      = _packet.ReadString();

            if (_fromClient != _clientIdCheck)
            {
                Console.WriteLine($"User with email \"{_email}\" (ID: {_fromClient}) has assumed the wrong client ID ({_clientIdCheck})!");
            }
            else
            {
                Console.WriteLine($"{Server.clients[_fromClient].tcp.socket.Client.RemoteEndPoint} with email {_email} connected and is having ID = {_fromClient}. Checking user data...");
                int _result = Postgres.CheckEmailAndPassword(_email, _password);
                Server.clients[_fromClient].clientData.personalDataId = _result;
                ServerSend.SendPlayers(_fromClient, _result);
            }
        }
Пример #5
0
        public static void UpdateMarketRecords(int _fromClient, Packet _packet)
        {
            string _pattern  = _packet.ReadString();
            int    _playerId = Server.clients[_fromClient].clientData.playerId;
            int    _balance  = Postgres.GetBalanceAndAdminStatusByPLayerIdAndPersonalDataId(
                _playerId,
                Server.clients[_fromClient].clientData.personalDataId,
                _fromClient);
            bool _isAdmin = Server.clients[_fromClient].clientData.isAdmin;

            if (_balance > -1)
            {
                ServerSend.SendBalanceAndMarketRecords(_fromClient, _playerId, _balance, _isAdmin, _pattern);
            }
            else
            {
                ServerSend.ValidationError(_fromClient);
            }
        }
Пример #6
0
 public static void UpdatePlayersList(int _fromClient, Packet _packet)
 {
     ServerSend.SendPlayers(_fromClient, Server.clients[_fromClient].clientData.personalDataId);
 }