private string PrepareTitle(TaskAlert alert) { if (alert.TaskAlertType == TaskAlertTypeEnum.ProblematicBehaviour) { return("Problematic Behaviour"); } else if (alert.TaskAlertType == TaskAlertTypeEnum.ActivitiesHealthCheckA) { return("Health Check"); } else if (alert.TaskAlertType == TaskAlertTypeEnum.ActivitiesHealthCheckB) { return("Health Check"); } else if (alert.TaskAlertType == TaskAlertTypeEnum.DogJoyFirstEntry || alert.TaskAlertType == TaskAlertTypeEnum.DogJoySecondEntry || alert.TaskAlertType == TaskAlertTypeEnum.DogJoyThirdEntry || alert.TaskAlertType == TaskAlertTypeEnum.DogJoyFourthEntry || alert.TaskAlertType == TaskAlertTypeEnum.DogJoyNeutral15 || alert.TaskAlertType == TaskAlertTypeEnum.DogJoyDecreasing1645 || alert.TaskAlertType == TaskAlertTypeEnum.DogJoyDecreasingOver45 || alert.TaskAlertType == TaskAlertTypeEnum.DogJoyImprovemenet1645 || alert.TaskAlertType == TaskAlertTypeEnum.DogJoyImprovemenetOver45) { return("Dog Joy"); } else { return("Alert"); } }
/// <summary> /// Sends email and SMS alerts to all of the <see cref="Altask.Data.Dto.User"/>'s associated with the <see cref="Altask.Data.Dto.TaskAlert"/>. /// </summary> /// <param name="type"></param> /// <param name="alert"></param> /// <param name="date"></param> /// <param name="assetId">If present the <see cref="Altask.Data.Dto.Asset"/> the <see cref="Altask.Data.Dto.TaskAlert"/> pertains to.</param> /// <param name="userId">If present the <see cref="Altask.Data.Dto.User"/> the <see cref="Altask.Data.Dto.TaskAlert"/> pertains to.</param> private void SendAlert(TaskAlert alert, DateTime date, int?assetId, int?userId) { var task = _tasks.FirstOrDefault(t => t.Id == alert.TaskId); foreach (var user in alert.Users) { StringBuilder message = new StringBuilder(task.Name); message.Append(" "); if (alert.When == "AfterDueDate") { message.AppendFormat(" due on {0} ", date.ToString("MM/dd/yyyy hh:mm tt")); if (assetId.HasValue) { var asset = _assets.FirstOrDefault(a => a.Id == assetId); if (asset != null) { message.AppendFormat("for {0} ", asset.Name); if (!string.IsNullOrEmpty(asset.CustomId)) { message.AppendFormat("- {0} ", asset.CustomId); } } } if (userId != null && userId != user.Id) { var assignee = _users.FirstOrDefault(u => u.Id == userId); if (assignee != null) { message.AppendFormat("assigned to {0} ", assignee.FullName ?? assignee.UserName); } } message.AppendFormat("is {0} {1} overdue!", alert.TimeN, alert.TimeUnit); } else { message.AppendFormat("is due in {0} {1}.", alert.TimeN, alert.TimeUnit); } if (date <= DateTime.Now) { if (user.User.ReceiveEmail && !DoesAlertExist(alert.Id, user.UserId, date, TaskAlertLogType.SendEmailSuccess)) { var result = _emailService.Send(Settings.AlertEmailFrom, user.User.EmailAddress, Settings.AlertEmailSubject, message.ToString()); _context.TaskAlertLogs.Add(new TaskAlertLog() { AlertDate = date, Description = message.ToString(), TaskAlertId = alert.Id, Type = (result.Succeeded ? TaskAlertLogType.SendEmailSuccess : TaskAlertLogType.SendEmailFailure).ToString(), UserId = user.UserId }); _context.SaveChanges(); } if (user.User.ReceiveText && !DoesAlertExist(alert.Id, user.UserId, date, TaskAlertLogType.SendSmsSuccess)) { var result = _emailService.Send(Settings.AlertEmailFrom, user.User.SmsAddress, Settings.AlertEmailSubject, message.ToString()); _context.TaskAlertLogs.Add(new TaskAlertLog() { AlertDate = date, Description = message.ToString(), TaskAlertId = alert.Id, Type = (result.Succeeded ? TaskAlertLogType.SendSmsSuccess : TaskAlertLogType.SendSmsFailure).ToString(), UserId = user.UserId }); _context.SaveChanges(); } } } }
private string PrepareMsg(TaskAlert alert) { var msg = ""; if (alert.TaskAlertType == TaskAlertTypeEnum.ProblematicBehaviour) { var itemsNames = alert.Items.Select(x => x.Name.ToString()).ToList(); msg = ConfigurationManager.AppSettings["TaskMsgProblematicBehaviour"]; msg = string.Format(msg, alert.Pet.Name, alert.Items.Count().ToString(), String.Join(", ", itemsNames.ToArray())); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.ActivitiesHealthCheckA) { msg = ConfigurationManager.AppSettings["TaskMsgActivitiesHealthCheckA"]; return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.ActivitiesHealthCheckB) { msg = ConfigurationManager.AppSettings["TaskMsgActivitiesHealthCheckB"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.DogJoyFirstEntry) { msg = ConfigurationManager.AppSettings["TaskMsgDogJoyFirstEntry"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.DogJoySecondEntry) { msg = ConfigurationManager.AppSettings["TaskMsgDogJoySecondEntry"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.DogJoyThirdEntry) { msg = ConfigurationManager.AppSettings["TaskMsgDogJoyThirdEntry"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.DogJoyFourthEntry) { msg = ConfigurationManager.AppSettings["TaskMsgDogJoyFourthEntry"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.DogJoyNeutral15) { msg = ConfigurationManager.AppSettings["TaskMsgDogJoyDogJoyNeutral15"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.DogJoyDecreasing1645) { msg = ConfigurationManager.AppSettings["TaskMsgDogJoyDecreasing1645"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.DogJoyDecreasingOver45) { msg = ConfigurationManager.AppSettings["TaskMsgDogJoyDecreasingOver45"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.DogJoyImprovemenet1645) { msg = ConfigurationManager.AppSettings["TaskMsgDogJoyImprovemenet1645"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.DogJoyImprovemenetOver45) { msg = ConfigurationManager.AppSettings["TaskMsgDogJoyImprovemenetOver45"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.TaskMsgPuppySocialisation_1) { msg = ConfigurationManager.AppSettings["TaskMsgPuppySocialisation_1"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.TaskMsgPuppySocialisation_2) { msg = ConfigurationManager.AppSettings["TaskMsgPuppySocialisation_2"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.TaskMsgPuppySocialisation_3) { msg = ConfigurationManager.AppSettings["TaskMsgPuppySocialisation_3"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.TaskMsgPuppySocialisation_4) { msg = ConfigurationManager.AppSettings["TaskMsgPuppySocialisation_4"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.TaskMsgPuppySocialisation_5) { msg = ConfigurationManager.AppSettings["TaskMsgPuppySocialisation_5"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.TaskMsgPuppySocialisation_6) { msg = ConfigurationManager.AppSettings["TaskMsgPuppySocialisation_6"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.TaskMsgPuppySocialisation_7) { msg = ConfigurationManager.AppSettings["TaskMsgPuppySocialisation_7"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.TaskMsgPuppySocialisation_8) { msg = ConfigurationManager.AppSettings["TaskMsgPuppySocialisation_8"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else if (alert.TaskAlertType == TaskAlertTypeEnum.TaskMsgPuppySocialisation_9) { msg = ConfigurationManager.AppSettings["TaskMsgPuppySocialisation_9"]; msg = string.Format(msg, alert.Pet.Name, alert.Description); return(msg); } else { return("No Description"); } }