//[Authorize(Roles ="SAdmin")] public HttpResponseMessage SetCall(Voice voice) { VoiResponse Response = new VoiResponse(); try { var message = ObjVoice.SetVoiceCall(voice); Response.Status = con.StatusSuccess; } catch (Exception ex) { Response.Status = con.StatusFailed; Response.Message = con.MessageFailed + ", Exception : " + ex.Message; } return(ConvertToJSON(Response)); }
public async Task <HttpResponseMessage> BookingSchedule(string Slug) { Db = con.SurgeryCenterDb(Slug); BookingResponse Response = new BookingResponse(); try { MT_Patient_Booking Booking = new MT_Patient_Booking(); MT_PatientInfomation Patient = new MT_PatientInfomation(); Query ObjQuery = Db.Collection("MT_Patient_Booking").WhereEqualTo("PB_Is_Deleted", false).WhereEqualTo("PB_Is_Active", true); QuerySnapshot ObjQuerySnap = await ObjQuery.GetSnapshotAsync(); if (ObjQuerySnap != null && ObjQuerySnap.Documents.Count > 0) { foreach (DocumentSnapshot docsnap in ObjQuerySnap.Documents) { Booking = docsnap.ConvertTo <MT_Patient_Booking>(); if (Booking.PB_Notifications != null) { if (Booking.PB_Patient_ID != null && Booking.PB_Patient_ID != "") { Query PatientQuery = Db.Collection("MT_PatientInfomation").WhereEqualTo("Patient_Is_Active", true).WhereEqualTo("Patient_Is_Deleted", false).WhereEqualTo("Patient_Unique_ID", Booking.PB_Patient_ID); QuerySnapshot ObjPatientQuerySnap = await PatientQuery.GetSnapshotAsync(); if (ObjPatientQuerySnap != null) { List <string> Namelist = new List <string>(); List <string> Emaillist = new List <string>(); Patient = ObjPatientQuerySnap.Documents[0].ConvertTo <MT_PatientInfomation>(); Email = Patient.Patient_Email; Phone = Patient.Patient_Primary_No; Name = Patient.Patient_First_Name + " " + Patient.Patient_Middle_Name + " " + Patient.Patient_Last_Name; Namelist.Add(Name); Emaillist.Add(Email); BookingDate = Booking.PB_Booking_Date; foreach (MT_Notifications noti in Booking.PB_Notifications) { if (noti.NFT_Actions != null) { foreach (Notification_Action action in noti.NFT_Actions) { if (action.NFA_Status == "Pending") { if (action.NFA_DayOrWeek == 0) { if (action.NFA_Be_Af == 0) { Days = (-1) * action.NFA_Days; } else if (action.NFA_Be_Af == 1) { Days = action.NFA_Days; } } else if (action.NFA_DayOrWeek == 1) { if (action.NFA_Be_Af == 0) { Days = (-7) * action.NFA_Days; } else if (action.NFA_Be_Af == 1) { Days = 7 * action.NFA_Days; } } NoticationSendingDay = BookingDate.AddDays(Days); if (DateTime.Now.Date.ToString("MM/dd/yyyy") == NoticationSendingDay.Date.ToString("MM/dd/yyyy")) { TimeSpan NotificationTiming = TimeSpan.Parse(action.NFA_Timing); TimeSpan timeOfDay = DateTime.Now.TimeOfDay; if (TimeSpan.Compare(timeOfDay, NotificationTiming) >= 0) { switch (action.NFA_Action_Type) { case "SMS": Sms sms = new Sms(); sms.Receiver_Contact_No = Phone; sms.Message_Body = action.NFA_Message; sms.Message_Date = con.ConvertTimeZone(action.NFA_TimeZone, Convert.ToDateTime(DateTime.Now)); sms.Message_Title = action.NFA_Action_Title; SMSObj.SendSMS(sms); Response = await UpdateAction(Booking.PB_Unique_ID, action.NFA_Unique_ID, Slug); break; case "Email": Email email = new Email(); email.To_Name = Namelist; email.To_Email = Emaillist; email.PlainTextContent = ""; email.HtmlContent = action.NFA_Message; await EmailObj.Send(email); Response = await UpdateAction(Booking.PB_Unique_ID, action.NFA_Unique_ID, Slug); break; case "Whatsapp": Whatsapp whatsapp = new Whatsapp(); whatsapp.Receiver_Contact_No = Phone; whatsapp.Message_Title = action.NFA_Action_Title; whatsapp.Message_Date = con.ConvertTimeZone(action.NFA_TimeZone, Convert.ToDateTime(DateTime.Now)); whatsapp.Message_Body = action.NFA_Message; WhatsappObj.SendMessageWithWhatsapp(whatsapp); Response = await UpdateAction(Booking.PB_Unique_ID, action.NFA_Unique_ID, Slug); break; case "Voice": Voice voice = new Voice(); voice.Voice_Call_Date = con.ConvertTimeZone(action.NFA_TimeZone, Convert.ToDateTime(DateTime.Now)); voice.Voice_Receiver_Name = Patient.Patient_First_Name; voice.Voice_Call_Body = action.NFA_Message; voice.Voice_Receiver_Contact_No = Phone; VoiceObj.SetVoiceCall(voice); Response = await UpdateAction(Booking.PB_Unique_ID, action.NFA_Unique_ID, Slug); break; default: break; } } } } } } } } } } } Response.Status = con.StatusSuccess; Response.Message = con.MessageSuccess; } else { Response.Status = con.StatusDNE; Response.Message = con.MessageDNE; } } catch (Exception ex) { Response.Status = con.StatusFailed; Response.Message = con.MessageFailed + ", Exception : " + ex.Message; } return(ConvertToJSON(Response)); }