public ActionResult AdminSendMail(EmployeeChangesApprovalViewModel model) { try { if (model.Module == "New Personal Details" || model.Module == "New Residential Details" || model.Module == "OnHold Personal Details" || model.Module == "OnHold Residential Details") { StringBuilder builder = new StringBuilder(); foreach (var item in model.ChangeDetailsList) { if (item.ChildApprovalStatusMasterID == 1 || item.ChildApprovalStatusMasterID == 2 || item.ChildApprovalStatusMasterID == 3) { model.Mail = new EmployeeMailTemplate(); int empid = Convert.ToInt32(model.EmployeeID); int childemployeeid = Convert.ToInt32(item.ChildEmployeeID); HRMS_tbl_PM_Employee ChildemployeeDetails = employeeDAL.GetEmployeeDetails(childemployeeid); HRMS_tbl_PM_Employee employeeDetails = employeeDAL.GetEmployeeDetails(empid); if (employeeDetails != null) { model.Mail.From = employeeDetails.EmailID; model.Mail.To = ChildemployeeDetails.EmailID; string ChildMasterstatus; if (item.ChildApprovalStatusMasterID == 1) { ChildMasterstatus = "On Hold"; } else if (item.ChildApprovalStatusMasterID == 2) { ChildMasterstatus = "Approved"; } else { ChildMasterstatus = "Rejected"; } string approvalStatus = (builder.Append(item.ChildFieldDiscription).Append(" : ").Append(ChildMasterstatus).Append("<br>") + "Comments: " + model.Comments); int templateId = 0; if (model.Module == "New Personal Details" || model.Module == "OnHold Personal Details") { templateId = 1; } if (model.Module == "New Residential Details" || model.Module == "OnHold Residential Details") { templateId = 2; } string mailBody = null; List <EmployeeMailTemplate> template = Commondal.GetEmailTemplate(templateId); foreach (var emailTemplate in template) { model.Mail.Subject = emailTemplate.Subject; mailBody = emailTemplate.Message; } mailBody = mailBody.Replace("##Approval Status##", approvalStatus); mailBody = mailBody.Replace("##HR Admin##", Server.HtmlEncode(employeeDetails.EmployeeName)); model.Mail.Message = mailBody.Replace("<br>", Environment.NewLine); ViewBag.Body = mailBody; string[] roles = { "HR Admin" }; foreach (string r in roles) { string[] users = Roles.GetUsersInRole(r); foreach (string user in users) { HRMS_tbl_PM_Employee employee = employeeDAL.GetEmployeeDetailsFromEmpCode(Convert.ToInt32(user)); if (employee == null) { model.Mail.Cc = model.Mail.Cc + string.Empty; } else { model.Mail.Cc = model.Mail.Cc + employee.EmailID + ";"; } } } } } } } else { } return(PartialView("_MailTemplateApprovalStatus", model.Mail)); } catch (Exception) { return(RedirectToAction("Index", "Error", new { errorCode = "There are some errors." })); } }