public ActionResult DeleteMessageTemplate(long id) { var gVal = new GenericValidator(); try { if (id < 1) { gVal.Code = -1; gVal.Error = "Invalid selection"; return(Json(gVal, JsonRequestBehavior.AllowGet)); } var delStatus = new MessageTemplateServices().DeleteMessageTemplate(id); if (delStatus < 1) { gVal.Code = -1; gVal.Error = "Message Template could not be deleted. Please try again later."; return(Json(gVal, JsonRequestBehavior.AllowGet)); } gVal.Code = 5; gVal.Error = "Message Template Information was successfully deleted"; return(Json(gVal, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(gVal, JsonRequestBehavior.AllowGet)); } }
public ActionResult AddMessageTemplate(MessageTemplateObject messageTemplate) { var gVal = new GenericValidator(); try { var validationResult = ValidateMessageTemplate(messageTemplate); if (validationResult.Code == 1) { return(Json(validationResult, JsonRequestBehavior.AllowGet)); } var appStatus = new MessageTemplateServices().AddMessageTemplate(messageTemplate); if (appStatus < 1) { validationResult.Code = -1; validationResult.Error = appStatus == -2 ? "Message Template processing failed. Please try again." : "Message Template Information already exists"; return(Json(validationResult, JsonRequestBehavior.AllowGet)); } gVal.Code = appStatus; gVal.Error = "Message Template was successfully added."; return(Json(gVal, JsonRequestBehavior.AllowGet)); } catch (Exception) { gVal.Error = "Message Template processing failed. Please try again later"; gVal.Code = -1; return(Json(gVal, JsonRequestBehavior.AllowGet)); } }
public ActionResult EditMessageTemplate(MessageTemplateObject messageTemplate) { var gVal = new GenericValidator(); try { var stat = ValidateMessageTemplate(messageTemplate); if (stat.Code < 1) { return(Json(gVal, JsonRequestBehavior.AllowGet)); } if (Session["_messageTemplate"] == null) { gVal.Code = -1; gVal.Error = "Session has timed out."; return(Json(gVal, JsonRequestBehavior.AllowGet)); } var oldmessageTemplate = Session["_messageTemplate"] as MessageTemplateObject; if (oldmessageTemplate == null) { gVal.Code = -1; gVal.Error = "Session has timed out."; return(Json(gVal, JsonRequestBehavior.AllowGet)); } oldmessageTemplate.Subject = messageTemplate.Subject; oldmessageTemplate.EventTypeId = messageTemplate.EventTypeId; oldmessageTemplate.MessageContent = messageTemplate.MessageContent; oldmessageTemplate.Footer = messageTemplate.Footer; var docStatus = new MessageTemplateServices().UpdateMessageTemplate(oldmessageTemplate); if (docStatus < 1) { gVal.Code = -1; gVal.Error = docStatus == -3 ? "Message Template already exists." : "Message Template information could not be updated. Please try again later"; return(Json(gVal, JsonRequestBehavior.AllowGet)); } gVal.Code = oldmessageTemplate.Id; gVal.Error = "Message Template information was successfully updated"; return(Json(gVal, JsonRequestBehavior.AllowGet)); } catch (Exception) { gVal.Code = -1; gVal.Error = "Message Template information could not be updated. Please try again later"; return(Json(gVal, JsonRequestBehavior.AllowGet)); } }
public ActionResult GetMessageTemplateObjects(JQueryDataTableParamModel param) { try { IEnumerable <MessageTemplateObject> filteredParentMenuObjects; var countG = 0; var pagedParentMenuObjects = GetMessageTemplates(param.iDisplayLength, param.iDisplayStart, out countG); if (!string.IsNullOrEmpty(param.sSearch)) { filteredParentMenuObjects = new MessageTemplateServices().Search(param.sSearch); } else { filteredParentMenuObjects = pagedParentMenuObjects; } if (!filteredParentMenuObjects.Any()) { return(Json(new List <MessageTemplateObject>(), JsonRequestBehavior.AllowGet)); } var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]); Func <MessageTemplateObject, string> orderingFunction = (c => sortColumnIndex == 1 ? c.Subject : c.EventTypeName); var sortDirection = Request["sSortDir_0"]; // asc or desc filteredParentMenuObjects = sortDirection == "desc" ? filteredParentMenuObjects.OrderBy(orderingFunction) : filteredParentMenuObjects.OrderByDescending(orderingFunction); var displayedPersonnels = filteredParentMenuObjects; var result = from c in displayedPersonnels select new[] { Convert.ToString(c.Id), c.Subject, c.EventTypeName }; return(Json(new { param.sEcho, iTotalRecords = countG, iTotalDisplayRecords = countG, aaData = result }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { ErrorLogger.LoggError(ex.StackTrace, ex.Source, ex.Message); return(Json(new List <MessageTemplateObject>(), JsonRequestBehavior.AllowGet)); } }
public ActionResult GetMessageTemplate(long id) { try { var messageTemplate = new MessageTemplateServices().GetMessageTemplate(id); if (messageTemplate == null || messageTemplate.Id < 1) { return(Json(new MessageTemplateObject(), JsonRequestBehavior.AllowGet)); } Session["_messageTemplate"] = messageTemplate; return(Json(messageTemplate, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(new MessageTemplateObject(), JsonRequestBehavior.AllowGet)); } }
private bool SendMail(UserViewModel model) { try { if (model == null || string.IsNullOrEmpty(model.SecurityStamp)) { return(false); } const int type = (int)MessageEventEnum.New_User; const string label = "Activate your Account!"; var msgBody = ""; var msg = new MessageTemplateServices().GetMessageTempWithExpiry(type); if (msg.Id < 1) { return(false); } var emMs = new MessageObject { UserId = model.Id, MessageTemplateId = msg.Id, Status = (int)MessageStatus.Pending, DateSent = DateTime.Now, MessageBody = msg.MessageContent }; var sta = new MessageServices().AddMessage(emMs); if (sta < 1) { return(false); } if (Request.Url != null) { msg.MessageContent = msg.MessageContent.Replace("\n", "<br/>"); msg.Subject = msg.Subject.Replace("\n", "<br/>"); msgBody = "DPR/DS/IEP/" + DateTime.Today.ToString("ddMMyyyy") + "/" + sta + "<br/><br/>"; if (msg.MessageContent.Contains("{hours}") && msg.MessageLifeSpan > 0) { msg.MessageContent = msg.MessageContent.Replace("{hours}", msg.MessageLifeSpan.ToString()); } msg.Subject = msg.Subject.Replace("{firstname lastname}", model.FirstName + " " + model.LastName); msg.MessageContent = msg.MessageContent.Replace("{user}", model.LastName).Replace("{password}", model.Password); msgBody += "<br/><br/>" + msg.MessageContent.Replace("{email verification link}", "<br/><a style=\"color:green; cursor:pointer\" title=\"Activate Account\" href=" + Url.Action("ConfirmEmail", "Account", new { email = model.Email, code = model.SecurityStamp, ixf = sta }, Request.Url.Scheme) + ">" + label + "</a>").Replace("\n", "<br/>"); msgBody += "<br/><br/>" + msg.Footer.Replace("\n", "<br/>"); } if (Request.Url != null) { #region Using SendGrid var config = WebConfigurationManager.OpenWebConfiguration(HttpContext.Request.ApplicationPath); var settings = (MailSettingsSectionGroup)config.GetSectionGroup("system.net/mailSettings"); if (settings == null) { return(false); } var mail = new MailMessage(new MailAddress(settings.Smtp.From), new MailAddress(model.Email)) { Subject = msg.Subject, Body = msgBody, IsBodyHtml = true }; var smtp = new SmtpClient(settings.Smtp.Network.Host) { Credentials = new NetworkCredential(settings.Smtp.Network.UserName, settings.Smtp.Network.Password), EnableSsl = true, Port = settings.Smtp.Network.Port }; smtp.Send(mail); emMs.Id = sta; emMs.MessageBody = msgBody; emMs.Status = (int)MessageStatus.Sent; var tts = new MessageServices().UpdateMessage(emMs); if (tts < 1) { return(false); } return(true); #endregion } return(false); } catch (Exception e) { ErrorLogger.LoggError(e.StackTrace, e.Source, e.Message); return(false); } }
private async Task <bool> SendMail(UserViewModel model) { try { if (model == null || string.IsNullOrEmpty(model.SecurityStamp)) { return(false); } var type = 0; const string label = "Activate your Account!"; if (model.IsUser) { type = (int)MessageEventEnum.New_User; } else { type = (int)MessageEventEnum.New_Account; } if (type < 1) { type = (int)MessageEventEnum.New_Account; } var msgBody = ""; var msg = new MessageTemplateServices().GetMessageTemplate(type); if (msg.Id < 1) { return(false); } var emMs = new MessageObject { UserId = model.Id, MessageTemplateId = msg.Id, Status = (int)MessageStatus.Pending, DateSent = DateTime.Now, MessageBody = msg.MessageContent }; var sta = new MessageServices().AddMessage(emMs); if (sta < 1) { return(false); } if (Request.Url != null) { msg.MessageContent = msg.MessageContent.Replace("\n", "<br/>"); msg.Subject = msg.Subject.Replace("\n", "<br/>"); msgBody += msg.MessageContent.Replace("{email verification link}", "<a style=\"color:green; cursor:pointer\" title=\"Activate Account\" href=" + Url.Action("ConfirmEmail", "Account", new { email = model.Email, code = model.SecurityStamp, ixf = sta }, Request.Url.Scheme) + ">" + label + "</a>").Replace("\n", "<br/>"); msgBody += "<br/><br/>" + msg.Footer.Replace("\n", "<br/>"); } if (Request.Url != null) { var config = WebConfigurationManager.OpenWebConfiguration(HttpContext.Request.ApplicationPath); var settings = (MailSettingsSectionGroup)config.GetSectionGroup("system.net/mailSettings"); var apiKey = ConfigurationManager.AppSettings["mandrillApiKey"]; var appName = ConfigurationManager.AppSettings["AplicationName"]; if (settings == null || string.IsNullOrEmpty(apiKey) || string.IsNullOrEmpty(appName)) { return(false); } #region Using Mandrill var api = new MandrillApi(apiKey); var receipint = new List <MandrillMailAddress> { new MandrillMailAddress(model.Email) }; var message = new MandrillMessage() { AutoHtml = true, To = receipint, FromEmail = settings.Smtp.From, FromName = appName, Subject = msg.Subject, Html = msgBody }; var result = await api.Messages.SendAsync(message); if (result[0].Status != MandrillSendMessageResponseStatus.Sent) { emMs.Status = (int)MessageStatus.Failed; } else { emMs.Status = (int)MessageStatus.Sent; } #endregion emMs.Id = sta; emMs.MessageBody = msgBody; var tts = new MessageServices().UpdateMessage(emMs); if (tts < 1) { return(false); } return(true); } return(false); } catch (Exception e) { ErrorLogger.LogError(e.StackTrace, e.Source, e.Message); return(false); } }