private void NotifyUser(TargetAppDto item, AppCheckResultDto result) { if (!result.IsAlive) { var user = _userService.GetById(item.CreatedById.GetValueOrDefault(0)); if (user == null) { return; } var notificationService = NotificationServiceFactory.GetNotificationService(user.NotificationPreference); notificationService.NotifyDown(user, item); result.NotifiedVia = user.NotificationPreference; result.IsUserNotified = true; result.UserId = user.Id; } }
public AppCheckResultDto CheckDownOrAlive(TargetAppDto item) { if (item == null) { return(null); } AppCheckResultDto result = new AppCheckResultDto(); //left on purpos in order to track Debug.WriteLine($"Processing {item.Id} - {item.Name} url : {item.Url}"); result.IsAlive = CheckIsAlive(item.Url); NotifyUser(item, result); MarkAsChecked(new UpdateChecksStatusDto { CheckDate = DateTime.Now, IsAlive = result.IsAlive, Id = item.Id }); return(result); }