Пример #1
0
 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");
     }
 }
Пример #2
0
        /// <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();
                    }
                }
            }
        }
Пример #3
0
        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");
            }
        }