// using System.Net.Http.Headers; // using BMA.EHR.Domain.Extensions; // using Microsoft.EntityFrameworkCore; // using Newtonsoft.Json; // namespace BMA.EHR.Insignia.Service.Services // { // public class NotifyService // { // private readonly ApplicationDbContext _context; // private readonly IHttpContextAccessor _httpContextAccessor; // private readonly IConfiguration _configuration; // private readonly AppointmentService _serviceAppoint; // private readonly AppointmentReserveLineService _serviceAppointRe; // public NotifyService(ApplicationDbContext context, IHttpContextAccessor httpContextAccessor, IConfiguration configuration, AppointmentService serviceAppoint, AppointmentReserveLineService serviceAppointRe) : base(httpContextAccessor) // { // _context = context; // _httpContextAccessor = httpContextAccessor; // _configuration = configuration; // _serviceAppoint = serviceAppoint; // _serviceAppointRe = serviceAppointRe; // } // public async Task notiAppointments() // { // Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); // var data = await _context.Tb15AppointmentReserve.Where(x => x.AppointDate.ToDateTime(x.AppointTimeStart).Date == DateTime.Now.AddDays(1).Date).ToListAsync(); // foreach (var _data in data) // { // var message = new // { // type = "text", // text = $"เรียน อาสาสมัคร\n พรุ่งนี้ท่านมีนัดกับโครงการศิริราชวันเฮลท์ที่ ชั้น 1 ตึกศูนย์วิจัยการแพทย์ศิริราช (SiMR) โครงการดำเนินการ เวลา {(_data.AppointDate).ToDateTime(_data.AppointTimeStart).ToShortTimeString()} - {(_data.AppointDate).ToDateTime(_data.AppointTimeEnd).ToShortTimeString()} น. ขอความกรุณา ดังนี้\n 1. 'ไม่ต้องงด' อาหารและเครื่องดื่ม\nท่านจะได้รับการตรวจน้ำตาลสะสม (A1C) และอื่น ๆ ตามปกติ ยกเว้น น้ำตาลในเลือดและอินซูลิน\n 2. ทำแบบสอบถาม ที่แถบเมนู “ทำแบบสอบถาม” ให้ครบ\n 3. แจ้งชื่อ-นามสกุล ณ จุดลงทะเบียน และแจ้งสถานะการเข้าร่วมโครงการจีโนมิกส์ประเทศไทย (จากรูปที่แคปไว้)\n 4. ดำเนินกิจกรรมทั้งหมด 6 ฐาน\n*เนื่องจากมีการวัดองค์ประกอบร่างกายด้วยเครื่อง BIA รบกวนหลีกเลี่ยงการใส่เครื่องประดับที่มีโลหะ\n\nหลังวันนัด\n 1. อาสาสมัครที่ผ่านเกณฑ์การตรวจอุจจาระ เจ้าหน้าที่จะติดต่อเพื่อนัดรับอุปกรณ์อีกครั้ง\n 2. เจ้าหน้าที่จะแจ้งผลตรวจตามที่อาสาสมัครตรวจจริงภายใน 2-3 เดือน" // }; // if (_data.AppointTimeStart == TimeOnly.Parse("08:00")) // { // message = new // { // type = "text", // text = $"เรียน อาสาสมัคร\n พรุ่งนี้ท่านมีนัดกับโครงการศิริราชวันเฮลท์ที่ ชั้น 1 ตึกศูนย์วิจัยการแพทย์ศิริราช (SiMR) โครงการดำเนินการ เวลา {(_data.AppointDate).ToDateTime(_data.AppointTimeStart).ToShortTimeString()} - {(_data.AppointDate).ToDateTime(_data.AppointTimeEnd).ToShortTimeString()} น. ขอความกรุณา ดังนี้\n 1. งดอาหารและเครื่องดื่ม ยกเว้นน้ำเปล่า หลังเที่ยงคืน (หากท่านไม่สะดวกงดอาหาร ท่านจะไม่ได้รับการตรวจน้ำตาลในเลือดและอินซูลิน)\n 2. ทำแบบสอบถาม ที่แถบเมนู “ทำแบบสอบถาม” ให้ครบ\n 3. แจ้งชื่อ-นามสกุล ณ จุดลงทะเบียน และแจ้งสถานะการเข้าร่วมโครงการจีโนมิกส์ประเทศไทย (จากรูปที่แคปไว้)\n 4. ดำเนินกิจกรรมทั้งหมด 6 ฐาน\n*เนื่องจากมีการวัดองค์ประกอบร่างกายด้วยเครื่อง BIA รบกวนหลีกเลี่ยงการใส่เครื่องประดับที่มีโลหะ\n\nหลังวันนัด\n 1. อาสาสมัครที่ผ่านเกณฑ์การตรวจอุจจาระ เจ้าหน้าที่จะติดต่อเพื่อนัดรับอุปกรณ์อีกครั้ง\n 2. เจ้าหน้าที่จะแจ้งผลตรวจตามที่อาสาสมัครตรวจจริงภายใน 2-3 เดือน" // }; // } // else if (_data.AppointTimeStart == TimeOnly.Parse("09:00")) // { // message = new // { // type = "text", // text = $"เรียน อาสาสมัคร\n พรุ่งนี้ท่านมีนัดกับโครงการศิริราชวันเฮลท์ที่ ชั้น 1 ตึกศูนย์วิจัยการแพทย์ศิริราช (SiMR) โครงการดำเนินการ เวลา {(_data.AppointDate).ToDateTime(_data.AppointTimeStart).ToShortTimeString()} - {(_data.AppointDate).ToDateTime(_data.AppointTimeEnd).ToShortTimeString()} น. ขอความกรุณา ดังนี้\n 1. 'ไม่ต้องงด' อาหารและเครื่องดื่ม\nท่านจะได้รับการตรวจน้ำตาลสะสม (A1C) และอื่น ๆ ตามปกติ ยกเว้น น้ำตาลในเลือดและอินซูลิน\n 2. ทำแบบสอบถาม ที่แถบเมนู “ทำแบบสอบถาม” ให้ครบ\n 3. แจ้งชื่อ-นามสกุล ณ จุดลงทะเบียน และแจ้งสถานะการเข้าร่วมโครงการจีโนมิกส์ประเทศไทย (จากรูปที่แคปไว้)\n 4. ดำเนินกิจกรรมทั้งหมด 6 ฐาน\n*เนื่องจากมีการวัดองค์ประกอบร่างกายด้วยเครื่อง BIA รบกวนหลีกเลี่ยงการใส่เครื่องประดับที่มีโลหะ\n\nหลังวันนัด\n 1. อาสาสมัครที่ผ่านเกณฑ์การตรวจอุจจาระ เจ้าหน้าที่จะติดต่อเพื่อนัดรับอุปกรณ์อีกครั้ง\n 2. เจ้าหน้าที่จะแจ้งผลตรวจตามที่อาสาสมัครตรวจจริงภายใน 2-3 เดือน" // }; // } // Object[] messageArray = new Object[] { message }; // var profile = await _context.Tb1Profile.FirstOrDefaultAsync(x => x.UserId == _data.UserId); // if (profile != null && profile.LineId != null) // { // var result = new // { // to = profile.LineId, // messages = messageArray // }; // using (var client = new HttpClient()) // { // var json = JsonConvert.SerializeObject(result); // var _result = new StringContent(json, null, "application/json"); // var url = "https://api.line.me/v2/bot/message/push"; // // //HTTP POST // client.DefaultRequestHeaders.Authorization // = new AuthenticationHeaderValue("Bearer", _configuration["ACCESS_TOKEN"]); // var responseTask = client.PostAsync(url, _result); // var results = responseTask.Result; // // Console.WriteLine(results.Content.ReadAsStringAsync().Result); // } // } // } // return data; // } // } // }