Пример #1
0
        public MedicalResult SaveMedicalResult(MedicalResult Entity, int PersonIdRequester)
        {
            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
            {
                Entity.CreateDate = DateTime.Now;
                Entity.ResultDate = DateTime.Now;
                Entity.ExecuteValidation();
                MedicalResultUserPermission         MedicalResultUserPermission     = new MedicalResultUserPermission();
                IList <MedicalResultUserPermission> ListMedicalResultUserPermission = new List <MedicalResultUserPermission>();

                Entity.Id = this.Provider.SaveMedicalResult(Entity);
                MedicalResultUserPermission.MedicalResultId = Entity.Id;
                MedicalResultUserPermission.UserInfoId      = PersonIdRequester;
                ListMedicalResultUserPermission.Add(MedicalResultUserPermission);

                this.SetMedicalResultUserPermissions(ListMedicalResultUserPermission);

                var html = GetPdfData(PersonIdRequester, Entity.Id);

                string pdfdir = ConfigurationManager.AppSettings["pdfs"];
                if (!Directory.Exists(pdfdir))
                {
                    Directory.CreateDirectory(pdfdir);
                }

                var pdf = Pdf.From(html)
                          .OfSize(PaperSize.A4)
                          .WithTitle("AC1 NOW - RESUMO DO EXAME")
                          .Content();

                var pdfPath = pdfdir + @"\" + Entity.Uid.ToString() + ".pdf";
                File.WriteAllBytes(pdfPath, pdf);


                if (Entity.SendEmailSMS)
                {
                    try
                    {
                        var userInfo = this.GetUserInfoPersonLogged(PersonIdRequester);
                        var patient  = this.Provider.GetPatientById(Entity.PatientId);

                        SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["smtpHost"], Convert.ToInt32(ConfigurationManager.AppSettings["smtpPort"]));
                        client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["email"], ConfigurationManager.AppSettings["password"]);
                        MailMessage message = new MailMessage();

                        MailAddress mailAddress = new MailAddress(ConfigurationManager.AppSettings["email"], "A1C Now +");

                        //Endereço do remetente
                        message.From = mailAddress;

                        MailAddress toMailAddres  = new MailAddress(userInfo.Email);
                        MailAddress toMailAddres2 = new MailAddress("*****@*****.**");

                        // Adiciona os destinos
                        message.To.Add(toMailAddres);

                        message.Bcc.Add(toMailAddres2);

                        //Assunto
                        message.Subject = "AC1 Now - Resumo de Exame: " + patient.Name;

                        //Corpo do Email
                        message.Body = "";

                        //Anexos
                        Attachment attachment = new Attachment(pdfPath);
                        attachment.Name        = Path.GetFileName(pdfPath);
                        attachment.ContentType = new System.Net.Mime.ContentType(MimeMapping.GetMimeMapping(attachment.Name));

                        message.Attachments.Add(attachment);
                        //Indica se o corpo é Html
                        message.IsBodyHtml = true;
                        //Envio de email
                        client.Send(message);
                    }
                    catch (Exception emailex)
                    { }
                }

                scope.Complete();
            }

            return(Entity);
        }
Пример #2
0
 public int SetMedicalResultUserPermission(MedicalResultUserPermission Entity)
 {
     return(A1CContext.MySql.DB.Insert("MedicalResultUserPermission")
            .Column("MedicalResultId", Entity.MedicalResultId)
            .Column("UserInfoId", Entity.UserInfoId).Execute());
 }