using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace sharpknife { public partial class Mail { public enum StatusCodes { Unread = 0, Read = 1 } public StatusCodes Status { get { return (StatusCodes)StatusCode; } set { StatusCode = (int)value; OnPropertyChanged("Status"); } } //private int mailNumber; //public int MailNumber //{ // get // { // return mailNumber; // } // set // { // mailNumber = value; // OnPropertyChanged("MailNumber"); // } //} public Mail() { Status = StatusCodes.Unread; this.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(Mail_PropertyChanged); } void Mail_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (e.PropertyName == "StatusCode") { OnPropertyChanged("Status"); } //else if (e.PropertyName == "MailNumber") //{ // OnPropertyChanged("MailNumber"); //} } public Mail(string from, string to, string subject, string body, int mailNumber) : this() { this.From = from; this.To = to; this.Subject = subject; this.Body = body; this.MailNumber = mailNumber; } public static bool Exists(string messageId) { using (databaseEntities context = new databaseEntities()) { return (from i in context.Mail where i.MessageId == messageId select i).Count() > 0; } } public void Save() { using (databaseEntities context = new databaseEntities()) { Mail item = (from i in context.Mail where i.MessageId == MessageId select i).FirstOrDefault(); if (item == null) { //item = new Mail() //{ MailId = Guid.NewGuid(); CreatedOn = DateTime.Now; ModifiedOn = DateTime.Now; // From = //}; context.Mail.AddObject(this); } else { item.ModifiedOn = DateTime.Now; item.Status = this.Status; } context.SaveChanges(); } } } }