Beispiel #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            DbRecipient recipient = db.DbRecipients.Find(id);

            db.DbRecipients.Remove(recipient);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #2
0
 public ActionResult Edit([Bind(Include = "RecipientId,Name,Address")] DbRecipient recipient)
 {
     if (ModelState.IsValid)
     {
         db.Entry(recipient).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(recipient));
 }
Beispiel #3
0
        public ActionResult Create([Bind(Include = "RecipientId,Name,Address")] DbRecipient recipient)
        {
            if (ModelState.IsValid)
            {
                db.DbRecipients.Add(recipient);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(recipient));
        }
Beispiel #4
0
        // GET: Recipients/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DbRecipient recipient = db.DbRecipients.Find(id);

            if (recipient == null)
            {
                return(HttpNotFound());
            }
            return(View(recipient));
        }
        bool _submitMessage(int recipientIndex, DbMailTask mailTask, DbRecipient recipient)
        {
            if (!_trafficController.PrepareIncreaseConnection())
            {
                _trafficController.Rollback();
                return(false);
            }

            if (!_trafficController.PrepareIncreaseMessage())
            {
                _trafficController.Rollback();
                return(false);
            }

            SendMailThreadState state = new SendMailThreadState();

            state.Server   = mailTask.BuildServer();
            state.Mail     = mailTask.BuildMail();
            state.DbTaskId = mailTask.TaskId;

            string recipientName    = string.IsNullOrWhiteSpace(recipient.Name) ? string.Empty : recipient.Name;
            string recipientAddress = string.IsNullOrWhiteSpace(recipient.Address) ? string.Empty : recipient.Address;

            state.Mail.To.Add(new MailAddress(recipientName, recipientAddress));

            state.Mail.TextBody = state.Mail.TextBody.Replace("[$sender]", state.Mail.From.ToString());
            state.Mail.TextBody = state.Mail.TextBody.Replace("[$rcpt]", state.Mail.To.ToString());
            state.Mail.TextBody = state.Mail.TextBody.Replace("[$subject]", state.Mail.Subject.ToString());
            state.Mail.TextBody = state.Mail.TextBody.Replace("[$taskid]", mailTask.TaskId.ToString());

            // even you can add different attachment for different recipient here.
            state.RecipientIndex = recipientIndex;

            try
            {
                Interlocked.Increment(ref _threadCounter);
                ThreadPool.QueueUserWorkItem(this._sendThreadProc, state);
                _trafficController.Commit();

                return(true);
            }
            catch
            {
                Interlocked.Decrement(ref _threadCounter);
                _trafficController.Rollback();
                return(false);
            }
        }