Beispiel #1
0
        private void Send_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtMessage.Text))
            {
                return;
            }

            if (listUser.SelectedItem != null)
            {
                if (listUser.SelectedItem is User receiver)
                {
                    SendTextMessage sendTextMessage = new SendTextMessage(receiver.Email, txtMessage.Text);
                    if (CConnectionController.TrySendPackage(sendTextMessage, CConnectionController.ServerAddress))
                    {
                        CDataController.Messages.Add(new Message(CConnectionController.LoginUser.Email, receiver.Email, DateTime.Now, txtMessage.Text));
                        UpdateMessage();
                        WaitForFeedback = true;
                        timer.Enabled   = true;
                    }
                    else
                    {
                        MessageBox.Show("Fehler beim Senden!");
                    }
                }
            }
        }
Beispiel #2
0
        private static void HandlePackage(SendTextMessage sendTextMessage, string clientAddress)
        {
            DateTime?sendTime;

            if (!SDBController.ConnectionAvailable())
            {
                SConnectionController.SendPackage(new Feedback(FeedbackCode.MessageSendFailed), clientAddress);
                return;
            }
            if (!SDBController.TryGetUser(clientAddress, out User user))
            {
                SConnectionController.SendPackage(new Feedback(FeedbackCode.InvalidSession), clientAddress);
                return;
            }
            if (!SDBController.TryGetIPAddressByEmail(sendTextMessage.EMail, out string ipAddress))
            {
                sendTime = null;
            }
            else
            {
                if (string.IsNullOrEmpty(ipAddress))
                {
                    sendTime = null;
                }
                else
                {
                    if (SConnectionController.SendPackage(new ReceiveTextMessage(sendTextMessage.EMail, sendTextMessage.Text), ipAddress))
                    {
                        sendTime = DateTime.Now;
                    }
                    else
                    {
                        sendTime = null;
                    }
                }
            }
            if (SDBController.TryAddMessage(user.Email, sendTextMessage.EMail, sendTextMessage.Text, sendTime))
            {
                SConnectionController.SendPackage(new Feedback(FeedbackCode.MessageSendSuccess), clientAddress);
            }
            else
            {
                SConnectionController.SendPackage(new Feedback(FeedbackCode.MessageSendFailed), clientAddress);
            }
        }