internal static Template buildMandrillMessage(Message mail) { var vars = buildVars(mail); var temaplate = new Template(mail.template, mail.recipient, vars); return temaplate; }
public static Message build(IMessage message) { var dbmessage = new Message { recipient = message.recipient, template = message.template, type = message.type, id = Guid.NewGuid().ToString(), Field = addFields(message) }; return dbmessage; }
private static void send(Message mail) { try { var template = Build.buildMandrillMessage(mail); var response = Send.send(template.serialise()); DbMail.setMessageStatus(mail, response[0]); } catch (Exception exp) { DbMail.setMessageFailed(mail); } }
internal static void setMessageStatus(Message message, MandrillResponse response) { var messageStatus = new MessageStatus() { Message = message }; switch (response.status) { case "sent": messageStatus.status = "SENT"; break; case "queued": messageStatus.status = "QUEUED"; break; default: messageStatus.status = "FAILED"; break; } setMessage(messageStatus); }
internal static void setMessageFailed(Message message) { var messageStatus = new MessageStatus {Message = message, status = "FAILED"}; setMessage(messageStatus); }
internal static void save(Message message) { var orm = new Orm(); orm.execObject<Result>(message, "mess.enqueue_message"); }
private static List<Var> buildVars(Message mail) { var vars = mail.Field.Select(field => new Var() { name = field.key, content = field.value }).ToList(); return vars; }