public Entities.EMailQueueItem GetEmailFromQueue(int queueid)
        {
            using (MessagingEntities db = new MessagingEntities())
            {
                var emailqueue = db.EMailQueues.Where(a => a.Id == queueid).FirstOrDefault();
                if (emailqueue != null)
                {
                    var messagingemailqueue = new Entities.EMailQueueItem
                    {
                        Id               = emailqueue.Id,
                        ApplicationID    = emailqueue.ApplicationID,
                        CreatedDate      = emailqueue.CreatedDate,
                        EmailObject      = emailqueue.EmailObject,
                        DeliveryDate     = emailqueue.DeliveryDate,
                        DeliveryResponse = emailqueue.DeliveryResponse,
                        NumberOfAttempts = emailqueue.NumberOfAttempts,
                        StatusID         = emailqueue.StatusID
                    };

                    return(messagingemailqueue);
                }
            }

            return(null);
        }
        public void AddEmailToQueue(Entities.EMailQueueItem queue)
        {
            using (MessagingEntities db = new MessagingEntities())
            {
                EMailQueue mailqueue = new EMailQueue
                {
                    ApplicationID    = queue.ApplicationID,
                    StatusID         = queue.StatusID,
                    EmailObject      = queue.EmailObject,
                    CreatedDate      = queue.CreatedDate,
                    DeliveryDate     = queue.DeliveryDate,
                    NumberOfAttempts = queue.NumberOfAttempts,
                    DeliveryResponse = queue.DeliveryResponse
                };

                db.EMailQueues.Add(mailqueue);
                db.SaveChanges();
            }
        }
        public DataOperationStatus UpdateEmailToQueue(Entities.EMailQueueItem queue)
        {
            using (MessagingEntities db = new MessagingEntities())
            {
                var mailqueue = db.EMailQueues.Where(q => q.Id == queue.Id).FirstOrDefault();
                if (mailqueue != null)
                {
                    mailqueue.ApplicationID    = queue.ApplicationID;
                    mailqueue.StatusID         = queue.StatusID;
                    mailqueue.EmailObject      = queue.EmailObject;
                    mailqueue.CreatedDate      = queue.CreatedDate;
                    mailqueue.DeliveryDate     = queue.DeliveryDate;
                    mailqueue.NumberOfAttempts = queue.NumberOfAttempts;
                    mailqueue.DeliveryResponse = queue.DeliveryResponse;

                    db.SaveChanges();
                    return(DataOperationStatus.SavedSuccessfully);
                }
                else
                {
                    return(DataOperationStatus.RecordNotExist);
                }
            }
        }