Example #1
0
        private void HandleNewMail(TcpClient client)
        {
            string username = _user;

            byte[] lengthByte = new byte[4];
            _stream.Read(lengthByte, 0, 4);

            var length = BitConverter.ToInt32(lengthByte, 0);

            byte[] data = new byte[length];
            _stream.Read(data, 0, length);

            var message = new NewMailMessage();
            message.Deserialize(data);

            User requestingUser = _usersList.Find((user) => user.username == username);
            List<User> legitUsers = CheckRecieverUsersExsitanceAndFreeSpace(message.DestinationList, requestingUser);

            Mail newMailForUsers = new Mail(message.SenderName, message.Time.ToString(), legitUsers, message.Subject, message.Body);

            HandleSendingMail(newMailForUsers);
        }