public void SendMulticastCompletedEmail(EntityActiveMulticastSession session) { //Mail not enabled if (ServiceSetting.GetSettingValue(SettingStrings.SmtpEnabled) == "0") { return; } foreach ( var user in _userServices.GetAll().Where(x => !string.IsNullOrEmpty(x.Email))) { var rights = new ServiceUser().GetUserRights(user.Id).Select(right => right.Right).ToList(); if (rights.Any(right => right == AuthorizationStrings.EmailImagingTaskCompleted)) { if (session.UserId == user.Id) { var mail = new MailServices { MailTo = user.Email, Body = session.Name + " Multicast Task Has Completed.", Subject = "Multicast Completed" }; mail.Send(); } } } }
public void SendTaskErrorEmail(EntityActiveImagingTask task, string error) { //Mail not enabled if (ServiceSetting.GetSettingValue(SettingStrings.SmtpEnabled) == "0") { return; } var computer = new ServiceComputer().GetComputer(task.ComputerId); foreach ( var user in _userServices.GetAll().Where(x => !string.IsNullOrEmpty(x.Email))) { var rights = new ServiceUser().GetUserRights(user.Id).Select(right => right.Right).ToList(); if (rights.Any(right => right == AuthorizationStrings.EmailImagingTaskFailed)) { if (task.UserId == user.Id) { if (computer == null) { computer = new EntityComputer(); computer.Name = "Unknown Computer"; } var mail = new MailServices { MailTo = user.Email, Body = computer.Name + " Image Task Has Failed. " + error, Subject = "Task Failed" }; mail.Send(); } } } }
public bool SendSmartReport() { if (ServiceSetting.GetSettingValue(SettingStrings.SmtpEnabled) != "1") { return(true); } var uow = new UnitOfWork(); var computers = uow.ComputerRepository.Get(x => x.ProvisionStatus == EnumProvisionStatus.Status.Provisioned); if (computers.Count == 0) { return(true); } var sb = new StringBuilder(); var errorsFound = false; sb.Append("The Following Hard Drives Have A Failed S.M.A.R.T. Status:\r\n\r\n"); foreach (var computer in computers) { var localComputer = computer; var hdds = uow.HardDriveInventoryRepository.Get(x => x.ComputerId == localComputer.Id); foreach (var hdd in hdds) { if (!hdd.Status.ToLower().Equals("ok")) { errorsFound = true; sb.Append(computer.Name + "\t" + hdd.Model + "\t" + hdd.SerialNumber + "\t" + hdd.Status + Environment.NewLine); } } } if (!errorsFound) { return(true); } var emailList = new List <string>(); var users = uow.UserRepository.Get(); foreach (var user in users) { if (user.Membership.Equals("Administrator")) { if (!string.IsNullOrEmpty(user.Email)) { emailList.Add(user.Email); } } else { var rights = new ServiceUser().GetUserRights(user.Id).Select(right => right.Right).ToList(); if (rights.Any(right => right == AuthorizationStrings.EmailSmart)) { if (!string.IsNullOrEmpty(user.Email)) { emailList.Add(user.Email); } } } } foreach (var email in emailList) { var mail = new MailServices { Subject = "S.M.A.R.T Failure Report", Body = sb.ToString(), MailTo = email }; mail.Send(); } return(true); }
public bool SendApprovalRequestReport() { if (ServiceSetting.GetSettingValue(SettingStrings.SmtpEnabled) != "1") { return(true); } var approvalRequests = _uow.ApprovalRequestRepository.Get(); if (approvalRequests.Count == 0) { return(true); } var sb = new StringBuilder(); sb.Append("The Following Computers Are Pending Approval:\r\n\r\n"); foreach (var approvalRequest in approvalRequests) { sb.Append(approvalRequest.ComputerName + "\t" + approvalRequest.RequestTime + "\t" + approvalRequest.IpAddress + Environment.NewLine); } var emailList = new List <string>(); var users = _uow.UserRepository.Get(); foreach (var user in users) { if (user.Membership.Equals("Administrator")) { if (!string.IsNullOrEmpty(user.Email)) { emailList.Add(user.Email); } } else { var rights = new ServiceUser().GetUserRights(user.Id).Select(right => right.Right).ToList(); if (rights.Any(right => right == AuthorizationStrings.EmailReset)) { if (!string.IsNullOrEmpty(user.Email)) { emailList.Add(user.Email); } } } } foreach (var email in emailList) { var mail = new MailServices { Subject = "Approval Request Report", Body = sb.ToString(), MailTo = email }; mail.Send(); } return(true); }
public bool SendLowDiskSpaceReport() { if (ServiceSetting.GetSettingValue(SettingStrings.SmtpEnabled) != "1") { return(true); } var uow = new UnitOfWork(); var sb = new StringBuilder(); var errorsFound = false; var comServers = new Workflows.ComServerFreeSpace().RunAllServers(); sb.Append("The Following Com Servers Have Low Disk Space:\r\n\r\n"); foreach (var comServer in comServers) { if (comServer.freePercent < 20) { errorsFound = true; sb.Append(comServer.name + "\t" + comServer.freePercent + "% Free"); } } if (!errorsFound) { return(true); } var emailList = new List <string>(); var users = uow.UserRepository.Get(); foreach (var user in users) { if (user.Membership.Equals("Administrator")) { if (!string.IsNullOrEmpty(user.Email)) { emailList.Add(user.Email); } } else { var rights = new ServiceUser().GetUserRights(user.Id).Select(right => right.Right).ToList(); if (rights.Any(right => right == AuthorizationStrings.EmailLowDiskSpace)) { if (!string.IsNullOrEmpty(user.Email)) { emailList.Add(user.Email); } } } } foreach (var email in emailList) { var mail = new MailServices { Subject = "Com Server Low Disk Space", Body = sb.ToString(), MailTo = email }; mail.Send(); } return(true); }