public async Task <bool> SendApprolMails(Guid documentID, string documentType) { try { DocumentApprovalMailDetail docAprovalMailDetail = new DocumentApprovalMailDetail(); bool sendsuccess; string link; string loginLink = WebConfigurationManager.AppSettings["AppURL"]; Settings settings = new Settings(); docAprovalMailDetail = _documentApprovalRepository.GetApprovalMailDetails(documentID, documentType); if (docAprovalMailDetail != null) { link = WebConfigurationManager.AppSettings["AppURL"] + "/DocumentApproval/ViewPendingDocuments?ID=" + docAprovalMailDetail.ApprovalID + "&DocType=" + documentType + "&DocID=" + documentID; if (docAprovalMailDetail.Status == "PENDING") { string mailBody = File.ReadAllText(HttpContext.Current.Server.MapPath("~/Content/MailTemplate/SendForApproval.html")); string imgLink = WebConfigurationManager.AppSettings["AppURL"] + "/Content/images/Pilot1.png"; Mail mail = new Mail(); mail.Body = mailBody.Replace("$DocumentType$", docAprovalMailDetail.DocumentType).Replace("$DocumentNo$", docAprovalMailDetail.DocumentNo).Replace("$DocumentOwner$", docAprovalMailDetail.DocumentOwner).Replace("$Name$", docAprovalMailDetail.NextApprover).Replace("$ApproveLink$", link).Replace("$Date$", _pSASysCommon.GetCurrentDateTime().ToString(settings.DateFormat)).Replace("$LoginLink$", loginLink).Replace("$Logo$", imgLink); mail.Subject = "Document Pending For Approval (" + docAprovalMailDetail.DocumentNo + ")"; mail.To = docAprovalMailDetail.NextApproverEmail; sendsuccess = await _mailBusiness.MailSendAsync(mail); } if (docAprovalMailDetail.Status == "REJECTED") { string mailBody = File.ReadAllText(HttpContext.Current.Server.MapPath("~/Content/MailTemplate/DocumentRejected.html")); string imgLink = WebConfigurationManager.AppSettings["AppURL"] + "/Content/images/Pilot1.png"; Mail mail = new Mail(); mail.Body = mailBody.Replace("$DocumentType$", docAprovalMailDetail.DocumentType).Replace("$DocumentNo$", docAprovalMailDetail.DocumentNo).Replace("$Name$", docAprovalMailDetail.DocumentOwner).Replace("$Date$", _pSASysCommon.GetCurrentDateTime().ToString(settings.DateFormat)).Replace("$LoginLink$", loginLink).Replace("$Approver$", docAprovalMailDetail.NextApprover).Replace("$Remarks$", docAprovalMailDetail.Remarks).Replace("$Logo$", imgLink); mail.Subject = "Document Rejected for ammedment (" + docAprovalMailDetail.DocumentNo + ")"; mail.To = docAprovalMailDetail.DocumnetOwnerMail; sendsuccess = await _mailBusiness.MailSendAsync(mail); } if (docAprovalMailDetail.Status == "APPROVED") { string mailBody = File.ReadAllText(HttpContext.Current.Server.MapPath("~/Content/MailTemplate/DocumentApproved.html")); string imgLink = WebConfigurationManager.AppSettings["AppURL"] + "/Content/images/Pilot1.png"; Mail mail = new Mail(); mail.Body = mailBody.Replace("$DocumentType$", docAprovalMailDetail.DocumentType).Replace("$DocumentNo$", docAprovalMailDetail.DocumentNo).Replace("$Name$", docAprovalMailDetail.DocumentOwner).Replace("$Date$", _pSASysCommon.GetCurrentDateTime().ToString(settings.DateFormat)).Replace("$LoginLink$", loginLink).Replace("$Remarks$", docAprovalMailDetail.Remarks).Replace("$Logo$", imgLink); mail.Subject = "Document Approved (" + docAprovalMailDetail.DocumentNo + ")"; mail.To = docAprovalMailDetail.DocumnetOwnerMail; sendsuccess = await _mailBusiness.MailSendAsync(mail); } } return(true); } catch (Exception) { return(false); } }
public DocumentApprovalMailDetail GetApprovalMailDetails(Guid DocumentID, string DocumentTypeCode) { DocumentApprovalMailDetail documentMailDetail = new DocumentApprovalMailDetail(); try { using (SqlConnection con = _databaseFactory.GetDBConnection()) { using (SqlCommand cmd = new SqlCommand()) { if (con.State == ConnectionState.Closed) { con.Open(); } cmd.Connection = con; cmd.CommandText = "[PSA].[GetApprovalMailDetails]"; cmd.Parameters.Add("@DocumentID", SqlDbType.UniqueIdentifier).Value = DocumentID; cmd.Parameters.Add("@DocumentTypeCode", SqlDbType.NVarChar, 5).Value = DocumentTypeCode; cmd.CommandType = CommandType.StoredProcedure; using (SqlDataReader sdr = cmd.ExecuteReader()) { if ((sdr != null) && (sdr.HasRows)) { if (sdr.Read()) { { documentMailDetail.NextApprover = (sdr["NextApprover"].ToString() != "" ? (sdr["NextApprover"].ToString()) : documentMailDetail.NextApprover); documentMailDetail.NextApproverEmail = (sdr["NextApproverEmail"].ToString() != "" ? (sdr["NextApproverEmail"].ToString()) : documentMailDetail.NextApproverEmail); documentMailDetail.DocumentNo = (sdr["DocumentNo"].ToString() != "" ? (sdr["DocumentNo"].ToString()) : documentMailDetail.DocumentNo); documentMailDetail.DocumentType = (sdr["DocumentType"].ToString() != "" ? (sdr["DocumentType"].ToString()) : documentMailDetail.DocumentType); documentMailDetail.DocumentOwner = (sdr["DocumentOwner"].ToString() != "" ? (sdr["DocumentOwner"].ToString()) : documentMailDetail.DocumentOwner); documentMailDetail.DocumnetOwnerMail = (sdr["DocumentOwnerEmail"].ToString() != "" ? (sdr["DocumentOwnerEmail"].ToString()) : documentMailDetail.DocumnetOwnerMail); documentMailDetail.Status = (sdr["DocumentStatus"].ToString() != "" ? (sdr["DocumentStatus"].ToString()) : documentMailDetail.Status); documentMailDetail.Remarks = (sdr["Remarks"].ToString() != "" ? (sdr["Remarks"].ToString()) : documentMailDetail.Remarks); documentMailDetail.ApprovalID = (sdr["ApprovalID"].ToString() != "" ? Guid.Parse(sdr["ApprovalID"].ToString()) : documentMailDetail.ApprovalID); } } } } } } } catch (Exception ex) { throw ex; } return(documentMailDetail); }