/// <summary> /// Add an email to the database /// </summary> /// <param name="email">the email there should be added</param> public void addEmailToDB(PopClient.emailStruct email) { if (getEmailByMessageID(email.messageID).Count == 0) { sqlCon.Open(); string sql = @"INSERT INTO Email (MessageID, SenderName, Body, TimeStamp, Cc, Subject, MailTo, Attachment, SenderEmail, Receiver, Seen) VALUES (@messageID,@senderName,@body,@timeStamp,@cc,@subject,@mailTo,@attachment,@senderEmail,@receiver,@seen)"; sqlCom = new SQLiteCommand(sql, sqlCon); if (String.IsNullOrEmpty(email.messageID)) { email.messageID = "NULL"; } sqlCom.Parameters.Add(new SQLiteParameter("@messageID", email.messageID)); sqlCom.Parameters.Add(new SQLiteParameter("@senderName", email.senderName)); sqlCom.Parameters.Add(new SQLiteParameter("@body", WebUtility.HtmlEncode(email.body))); sqlCom.Parameters.Add(new SQLiteParameter("@timeStamp", email.timeStamp)); sqlCom.Parameters.Add(new SQLiteParameter("@cc", email.cc)); sqlCom.Parameters.Add(new SQLiteParameter("@subject", email.subject)); sqlCom.Parameters.Add(new SQLiteParameter("@mailTo", email.mailTo)); sqlCom.Parameters.Add(new SQLiteParameter("@attachment", email.attachment)); sqlCom.Parameters.Add(new SQLiteParameter("@senderEmail", email.senderEmail)); sqlCom.Parameters.Add(new SQLiteParameter("@receiver", email.receiver)); sqlCom.Parameters.Add(new SQLiteParameter("@seen", email.seen)); sqlCom.ExecuteNonQuery(); sqlCon.Close(); } }
/// <summary> /// The handler of both the database and pop 3 /// </summary> /// <param name="_user">the user there should be handled</param> /// <param name="newMailUser">if its a new user</param> public MailDatabaseHandler(User.user _user, bool newMailUser = false) { user = _user; popClient = new PopClient(user); SetSeenUids(); if (newMailUser) { getMailsThread.Start(this); } else { getMailsThread.Start(this); } DispatcherTimer ConnectionTimer = new DispatcherTimer(); ConnectionTimer.Tick += new EventHandler(ConnectionTimer_Tick); ConnectionTimer.Interval = new TimeSpan(0, 1, 0); ConnectionTimer.Start(); }
/// <summary> /// an item for EmailListShower /// </summary> /// <param name="_email">PopClient.emailStruct</param> /// <param name="_mw">MainWindow</param> public EmailListItems(PopClient.emailStruct _email, MainWindow _mw) { InitializeComponent(); email = _email; mw = _mw; }
/// <summary> /// Show the selected email /// </summary> /// <param name="_email">the email to be shown</param> public EmailShower(PopClient.emailStruct _email) { InitializeComponent(); email = _email; }