public ReferralSignDetailsEntity GetRefSignDetails(int patientId, int noteId, string NPINumber) { ReferralSignDetailsEntity refSignDetails = new ReferralSignDetailsEntity(); if (!string.IsNullOrEmpty(NPINumber)) { int npinum = Convert.ToInt32(NPINumber); tblAppUser _appuser = _unitOfWork.AppUserRepo.Get(o => o.NPINumber == npinum).FirstOrDefault(); if (_appuser != null) { tblDevice _devices = _unitOfWork.DeviceRepo.Get(o => o.PhoneNumber.Equals(_appuser.PhoneNumber)).FirstOrDefault(); tblReferrerSign _ReferralSign = _unitOfWork.ReferrerSignRepo.Get(o => o.NPINumber == npinum && o.PTrowid == patientId && o.Docrowid == noteId ).FirstOrDefault(); refSignDetails.EmailID = _appuser.EmailId; refSignDetails.PhoneNumber = _appuser.PhoneNumber; //refSignDetails.SignedDate = _ReferralSign.SignedDate ?? default; refSignDetails.NoteType = _ReferralSign.NoteType; refSignDetails.Sign = _ReferralSign.Signed ?? false; refSignDetails.Signiture = _devices.SignPath; refSignDetails.PDFPath = _ReferralSign.PDFName; } } return(refSignDetails); }
public bool SendRefEMail(string recipient, int npinum, int patientId, int noteId) { bool isMessageSent = true; //Intialise Parameters // string aa = "appdatafiles\\EasyDoc\\D1\\121-108590_ALINA_YELIZAROV_PPOC_1_11-21-2017_5-19-2019-6-41-26-PM_RefSigned.pdf"; tblPatients patientNotes = _unitOfWork.PatientEntityRepo.Get(o => o.Prowid == patientId).FirstOrDefault(); tblReferrerSign _ReferralSign = _unitOfWork.ReferrerSignRepo.Get(o => o.NPINumber == npinum && o.PTrowid == patientId && o.Docrowid == noteId ).FirstOrDefault(); var smtpEmail = Convert.ToString(ConfigurationManager.AppSettings["SMTPEmail"]); var smtpPassword = Convert.ToString(ConfigurationManager.AppSettings["SMTPPassword"]); try { byte[] pdfBytes = CloudeStoreg.ByteFromFile(_ReferralSign.PDFName); MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); string filename = "Sign Notes " + DateTime.Now.ToString("yyyyMMdd_hhss") + ".pdf"; mail.From = new MailAddress(smtpEmail); mail.To.Add(recipient); mail.Subject = "Referral Notes PDF for " + patientNotes.LastName + ", " + patientNotes.FirstName; mail.Body = "Sign note Attchment - " + patientNotes.LastName + ", " + patientNotes.FirstName;; var memStream = new MemoryStream(pdfBytes); memStream.Position = 0; var contentType = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Application.Pdf); var reportAttachment = new Attachment(memStream, contentType); reportAttachment.ContentDisposition.FileName = filename; mail.Attachments.Add(reportAttachment); SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential(smtpEmail, smtpPassword); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception ex) { isMessageSent = false; } return(isMessageSent); }
public string SignNotes(int patientId, int noteId, int NPINumber) { DocManager objDocManager = new DocManager(); string NoteType = string.Empty; string response = string.Empty; bool signStatus = false; bool refSignStatus = false; try { tblDocMaster patientNotes = _unitOfWork.DocMasterRepo.Get(o => o.PTrowid == patientId && o.Docrowid == noteId).FirstOrDefault(); if (patientNotes != null) { NoteType = patientNotes.NoteType; signStatus = patientNotes.Signed; } if (NPINumber > 0) { if (signStatus) { var referrerNotes = _unitOfWork.ReferrerSignRepo.Get(o => o.PTrowid == patientId && o.Docrowid == noteId && o.NPINumber == NPINumber).FirstOrDefault(); if (referrerNotes != null) { NoteType = referrerNotes.NoteType; refSignStatus = referrerNotes.Signed ?? false; } if (refSignStatus) { response = "Notes already signed"; } else { ITextMgrNotes objnotes = new ITextMgrNotes(); response = objnotes.ReferrerSign(patientNotes.PDFName, NPINumber); if (!string.IsNullOrEmpty(response)) { if (response.Substring(response.IndexOf(".")).ToLower() == ".pdf") { tblReferrerSign rfsign = new tblReferrerSign(); rfsign.Docrowid = noteId; rfsign.PTrowid = patientId; rfsign.NoteType = NoteType; rfsign.NPINumber = NPINumber; rfsign.PDFName = response; rfsign.Signed = true; rfsign.SignedDate = DateTime.Now; rfsign.createdts = DateTime.Now; rfsign.createdby = NPINumber.ToString(); rfsign.updatedts = DateTime.Now; rfsign.updatedby = NPINumber.ToString(); _unitOfWork.ReferrerSignRepo.Insert(rfsign); _unitOfWork.Save(); } } } } else { response = "Notes not yet signed by Therapiest"; } } } catch (Exception ex) { CustomLogger.SendExcepToDB(ex, "/PatientRepository/SignNotes"); string msg = ex.Message; throw; } // response = "under construction"; return(response); }