예제 #1
0
        public ActionResult AddUserEnrollment(int userId = 0, int enrollmentId = 0, string actionToDo = "")
        {
            _service.AddUserEnrollment(userId, enrollmentId, actionToDo);

            if (actionToDo == "Send")
            {
                try
                {
                    const string accountSid = "ACb61b5dc2ad53c6336667449e67302c48";
                    const string authToken  = "b1dfd0ebd09b0bd2d840f07618b33a27";
                    TwilioClient.Init(accountSid, authToken);

                    var    userDetail  = _service.GetUserById(userId);
                    string _toNumber   = userDetail.MobileNumber;
                    var    _fromNumber = new PhoneNumber("+16467591379");

                    string messageBody    = "";
                    var    messageDetails = _service.GetMessageByTriggerEventId(enrollmentId);
                    if (messageDetails != null)
                    {
                        messageBody = messageDetails.ScheduleMessage_Message;
                    }
                    var    message = MessageResource.Create(to: _toNumber, from: _fromNumber, body: messageBody);
                    string Sid     = Convert.ToString(message.Sid);

                    if (!string.IsNullOrEmpty(Sid))
                    {
                        SmsReply _smsReply = new SmsReply();
                        _smsReply.From      = Convert.ToString(_fromNumber);
                        _smsReply.To        = Convert.ToString(_toNumber);
                        _smsReply.Sid       = Convert.ToString(Sid);
                        _smsReply.ParentSid = null;
                        _smsReply.MessageId = messageDetails.ScheduleMessage_ID;
                        _smsReply.UserId    = userId;
                        _smsReply.SentDate  = DateTime.Now;
                        _service.SaveMessageDetails(_smsReply);
                    }
                }
                catch (Exception ex)
                {
                }
            }
            return(RedirectToAction("Details", "Users", new { id = userId }));
        }
예제 #2
0
        public ActionResult MessageTree(UserViewModels model)
        {
            const string accountSid = "ACb61b5dc2ad53c6336667449e67302c48";
            const string authToken  = "b1dfd0ebd09b0bd2d840f07618b33a27";

            TwilioClient.Init(accountSid, authToken);
            using (DevinTwilioEntities dc = new DevinTwilioEntities())
            {
                var users = dc.Users.Where(c => c.EnrollmentDate != null).ToList();
                var list  = (from schMessage in dc.ScheduleMessages
                             join trgEvent in dc.TriggerEvents
                             on schMessage.ScheduleMessage_TriggerEventID equals trgEvent.TriggerEvent_ID
                             select new ScheduleViewModels {
                    Message = schMessage.ScheduleMessage_Message, TriggerEventName = trgEvent.TriggerEvent_Event, ScheduleMessageID = schMessage.ScheduleMessage_ID
                }).ToList();

                try
                {
                    foreach (var item in users)
                    {
                        var to             = new PhoneNumber(item.MobileNumber.ToString());
                        var from           = new PhoneNumber("+16467591379");
                        var EnrollmentDate = item.EnrollmentDate;
                        if (EnrollmentDate != null)
                        {
                            DateTime?currentDate = DateTime.Now;
                            TimeSpan t           = (TimeSpan)(currentDate - EnrollmentDate);
                            int      totalDays   = t.Days;
                            if (totalDays >= 0 && totalDays <= 50)
                            {
                                string Sid            = String.Empty;
                                var    messageDetails = list.FirstOrDefault(c => c.TriggerEventName.ToLower() == "day " + totalDays);
                                if (messageDetails != null)
                                {
                                    var message0 = MessageResource.Create(to: to, from: from, body: messageDetails.Message);
                                    Sid = Convert.ToString(message0.Sid);
                                    if (!string.IsNullOrEmpty(Sid))
                                    {
                                        SmsReply _smsReply = new SmsReply();
                                        _smsReply.From      = Convert.ToString(from);
                                        _smsReply.To        = Convert.ToString(to);
                                        _smsReply.Sid       = Convert.ToString(Sid);
                                        _smsReply.ParentSid = null;
                                        _smsReply.MessageId = messageDetails.ScheduleMessageID;
                                        _smsReply.UserId    = item.User_ID;
                                        dc.SmsReplies.Add(_smsReply);
                                        dc.SaveChanges();
                                    }
                                }
                                else
                                {
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                }
            }
            //  var call = CallResource.Create(to,from,url: new Uri("http://devintwilio.kindlebit.com/home/SMSReply"));
            using (DevinTwilioEntities dc = new DevinTwilioEntities())
            {
                var data = (from u in dc.SmsReplies
                            select new SMSReplyViewModels
                {
                    MessageId = (int)u.MessageId,
                    Message = dc.ScheduleMessages.Where(x => x.ScheduleMessage_ID == u.MessageId).Select(x => x.ScheduleMessage_Message).FirstOrDefault(),
                    From = u.From,
                    To = u.To,
                    UserName = dc.Users.Where(x => x.User_ID == u.UserId).Select(x => x.User_Name).FirstOrDefault(),
                    MessageResponse = u.MessageResponse,
                    SmsStatus = u.SmsStatus
                }).ToList();
                return(View(data));
            }
        }
        public HttpResponseMessage Receive(ChikkaIncomingSms sms)
        {
            if (sms.shortcode != ConfigurationManager.AppSettings["ChikkaShortCode"])
            {
                return(new HttpResponseMessage(HttpStatusCode.BadRequest));
            }

            ApplicationDbContext db = new ApplicationDbContext();

            Int32  subscriberId    = 1;
            String requestCost     = "FREE";//"P1.00";
            String responseMessage = null;

            String[] customVariable = sms.message.Split(new char[] { ',' }, 3);
            String   type           = customVariable[0];
            String   FirstName      = customVariable[1];
            String   LastName       = customVariable[2];


            if (type.Equals("REGISTER", StringComparison.InvariantCultureIgnoreCase))
            {
                String c_number = sms.mobile_number.Substring(2);
                if (db.Subscribers.Any(r => r.ContactNumber == c_number))
                {
                    responseMessage = "You have already registered, you have been charged P1.00.";
                    Subscriber subscriber = db.Subscribers.SingleOrDefault(m => m.ContactNumber == sms.mobile_number.Substring(2));
                    subscriberId = subscriber.SubscriberId;
                }
                else
                {
                    responseMessage = "You have been registered, you have been charged P1.00.";
                    Subscriber subscriber = new Subscriber()
                    {
                        FirstName = FirstName, LastName = LastName, ContactNumber = c_number
                    };
                    db.Subscribers.Add(subscriber);
                    db.SaveChanges();
                    subscriberId = subscriber.SubscriberId;
                }
            }
            else if (type.Equals("INSURE", StringComparison.InvariantCultureIgnoreCase))
            {
                Subscriber subscriber = db.Subscribers.SingleOrDefault(m => m.ContactNumber == sms.mobile_number.Substring(2));
                subscriberId = subscriber.SubscriberId;
                subscriber.CertificatesLeft++;
                db.Entry(subscriber).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                requestCost     = "FREE";//"P15.00";
                responseMessage = "You have insured 1 certificate for P15, you have been charged P1.00 for this text.";
            }
            else if (type.Equals("INQUIRE", StringComparison.InvariantCultureIgnoreCase))
            {
                Subscriber subscriber = db.Subscribers.SingleOrDefault(m => m.ContactNumber == sms.mobile_number.Substring(2));
                subscriberId = subscriber.SubscriberId;
                Int32 certs = subscriber.CertificatesLeft;
                responseMessage = "You have " + certs + " certificates.You have been charged P1.00.";
            }
            else if (type.Equals("CLAIM", StringComparison.InvariantCultureIgnoreCase))
            {
                Subscriber subscriber = db.Subscribers.SingleOrDefault(m => m.ContactNumber == sms.mobile_number.Substring(2));
                subscriberId = subscriber.SubscriberId;

                customVariable = sms.message.Split(new char[] { ',' }, 4);
                type           = customVariable[0];
                Int32 certs;
                if (Int32.TryParse(customVariable[1], out certs) && certs <= subscriber.CertificatesLeft)
                {
                    FirstName = customVariable[2];
                    LastName  = customVariable[3];
                    subscriber.CertificatesLeft -= certs;
                    db.Entry(subscriber).State   = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    responseMessage = "You have claimed " + certs + " certs. You have been charged P1.00.";
                }
                else
                {
                    responseMessage = "\'" + customVariable[1] + "\' is invalid. You have been charged P1.00.";
                }
            }


            SmsReceive smsReceive = new SmsReceive()
            {
                Message      = sms.message,
                RequestId    = sms.request_id,
                Timestamp    = sms.timestamp_datetime,
                SubscriberId = subscriberId
            };

            db.SmsReceives.Add(smsReceive);
            db.SaveChanges();
            //}
            SmsMessage smsMessage = new SmsMessage()
            {
                Timestamp = DateTime.UtcNow.AddHours(8),
                Message   = sms.message
            };

            SmsReply smsReply = new SmsReply()
            {
                RequestId    = sms.request_id,
                SmsReceiveId = smsReceive.Id,
                Timestamp    = DateTime.Now,
                Status       = (int)UHacMnl.Sms.SmsStatusCode.Pending,
                SmsMessage   = smsMessage,
                SubscriberId = 1
            };

            db.SmsReplies.Add(smsReply);
            db.SaveChanges();

            // Reply
            using (WebClient wc = new WebClient())
            {
                string upload = string.Empty;
                try
                {
                    ChikkaReplySms chikkaSms = new ChikkaReplySms(smsReply.SmsMessageId.ToString(), responseMessage, sms.request_id, sms.mobile_number, requestCost);
                    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
                    string chikkaUpload = chikkaSms.ToString();
                    upload = wc.UploadString(Chikka.Constants.RequestUrl, chikkaUpload);
                }
                catch (Exception e)
                {
                    return(new HttpResponseMessage(HttpStatusCode.BadRequest));
                }
            }

            return(new HttpResponseMessage(HttpStatusCode.Accepted));
        }
예제 #4
0
        public void SendAppointmentMessage()
        {
            try
            {
                // Library.WriteErrorLog("Inside Send Appointment Messages");
                DevinTwilioEntities _context = new DevinTwilioEntities();
                TwilioClient.Init(accountSid, authToken);
                var list = (from appoint in _context.Appointments
                            join user in _context.Users on appoint.Appointment_PatientID equals user.User_ID
                            join msg in _context.ScheduleMessages on appoint.Appointment_Trigger_EventId equals msg.ScheduleMessage_TriggerEventID
                            join trgEventt in _context.TriggerEvents on appoint.Appointment_Trigger_EventId equals trgEventt.TriggerEvent_ID
                            // join trigg in _context.Triggers on msg.ScheduleMessage_TriggerID equals trigg.Trigger_ID
                            // join triggtype in _context.TriggerTypes on msg.ScheduleMessage_TriggerTypeID equals triggtype.TriggerType_ID
                            select new MessageFrequencyModel
                {
                    MessageId = msg.ScheduleMessage_ID,
                    Message = msg.ScheduleMessage_Message,
                    UserId = user.User_ID,
                    UserName = user.User_Name,
                    MobileNum = user.MobileNumber,
                    // Trigger = trigg.Trigger_Trigger,
                    //  TriggerId = (int)msg.ScheduleMessage_TriggerID,
                    TriggerEventId = trgEventt.TriggerEvent_ID,
                    // TriggerType = triggtype.TriggerType_Type,
                    AppointmentDate = appoint.Appointment_StartTime,
                    MobileNumber = user.MobileNumber,
                    // AppoinmentType = trgEventTypes.TriggerEvent_Event,
                    TriggerEventDay = trgEventt.TriggerEvent_Day,
                    Time = msg.ScheduleMessage_Time,
                    AppointmentId = appoint.Appointment_ID,
                    StatusId = user.StatusId,
                    Day = msg.Appointment_Schedule,
                    Appointment_Trigger_EventId = appoint.Appointment_Trigger_EventId ?? 0
                }).Distinct().ToList();
                var distnctMessageList = new List <MessageFrequencyModel>();
                foreach (var item in list)
                {
                    if (distnctMessageList.FirstOrDefault(c => c.AppointmentId == item.AppointmentId) == null)
                    {
                        distnctMessageList.Add(item);
                    }
                }
                foreach (var item in distnctMessageList)
                {
                    if (item.Day != null)
                    {
                        if (item.StatusId == 1 || item.StatusId == 3) // for active or pause
                        {
                            var to = new PhoneNumber(item.MobileNumber.ToString());
                            // Library.WriteErrorLog("Appointment to " + to);
                            var from = new PhoneNumber("+16467591379");
                            //  Library.WriteErrorLog("Appointment from " + from);

                            if ((item.AppointmentDate != null) && (!string.IsNullOrEmpty(item.TriggerEventDay)))
                            {
                                DateTime currentAppointmentDate = Convert.ToDateTime(item.AppointmentDate);
                                //   Library.WriteErrorLog("currentAppointmentDate " + currentAppointmentDate);
                                DateTime currentDate = DateTime.Now;
                                // Library.WriteErrorLog("currentDate " + currentDate);
                                //  int dayDiff = Convert.ToInt32((currentAppointmentDate - currentDate).TotalDays);

                                var finalAppoinmentDate = item.AppointmentDate.Value.AddDays(item.Day.Value);

                                //    var calculatedTime = currentDate.ToString("hh:mm:ss tt"); // 7:00 AM // 12 hour clock
                                var calculatedTime         = currentDate.ToString("htt");
                                var msgToBeSend            = item.Message;
                                var timeAfterRemovingSpace = "";

                                if (!string.IsNullOrEmpty(item.Time))
                                {
                                    timeAfterRemovingSpace = item.Time.Trim().Replace(" ", "");
                                    timeAfterRemovingSpace = timeAfterRemovingSpace.Replace(":00", "");
                                    timeAfterRemovingSpace = timeAfterRemovingSpace.Replace(":30", "");
                                    timeAfterRemovingSpace = timeAfterRemovingSpace.TrimStart('0');
                                }

                                var setTime = item.Time == null ? "9am" : timeAfterRemovingSpace;

                                //  Library.WriteErrorLog("appoinment date after adding number:" + finalAppoinmentDate);
                                //  Library.WriteErrorLog("calculatedTime:" + calculatedTime);
                                //  Library.WriteErrorLog("setTime:" + setTime);
                                try
                                {
                                    if (currentDate.Date == finalAppoinmentDate.Date)
                                    {
                                        if (calculatedTime.ToLower() == setTime.ToLower())
                                        {
                                            //  Library.WriteErrorLog("Inside Condition");
                                            // Appointcondition wll be for 1 day and 7  day before

                                            var eventMessages = new List <ScheduleMessage>();
                                            eventMessages = _context.ScheduleMessages.Where(p => p.ScheduleMessage_TriggerEventID == item.Appointment_Trigger_EventId && p.Appointment_Schedule == item.Day.Value).ToList();

                                            foreach (var em in eventMessages)
                                            {
                                                var userStatusDetails = _context.UserEnrollments.FirstOrDefault(c => c.UserId == item.UserId && c.TriggerEventId == em.ScheduleMessage_TriggerEventID);
                                                if (userStatusDetails == null)
                                                {
                                                    string Sid      = String.Empty;
                                                    var    message0 = MessageResource.Create(to: to, from: from, body: msgToBeSend);
                                                    Sid = Convert.ToString(message0.Sid);
                                                    //    Library.WriteErrorLog("Message Sid " + Sid);
                                                    if (!string.IsNullOrEmpty(Sid))
                                                    {
                                                        SmsReply _smsReply = new SmsReply();
                                                        _smsReply.From      = Convert.ToString(from);
                                                        _smsReply.To        = Convert.ToString(to);
                                                        _smsReply.Sid       = Convert.ToString(Sid);
                                                        _smsReply.ParentSid = null;
                                                        _smsReply.MessageId = item.MessageId;
                                                        _smsReply.UserId    = item.UserId;
                                                        _smsReply.SentDate  = DateTime.Now;
                                                        _context.SmsReplies.Add(_smsReply);
                                                        _context.SaveChanges();
                                                        //  Library.WriteErrorLog("Appoinment Message saved in the SMSReply table");
                                                    }
                                                }
                                                //  Library.WriteErrorLog("Successfully send message for appointment");
                                            }
                                        }
                                    }
                                }
                                catch (Exception ex)
                                {
                                    // Library.WriteErrorLog("Appointment : " + ex.Message);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                // Library.WriteErrorLog(ex.Message);
            }
        }
예제 #5
0
        public void SendScheduledMessage()
        {
            try
            {
                //  Library.WriteErrorLog("Inside Send Scheduled Messages");
                TwilioClient.Init(accountSid, authToken);


                var message = MessageResource.Fetch("SM3fee5df463044d6e1f9edeaab0507327");



                using (DevinTwilioEntities dc = new DevinTwilioEntities())
                {
                    // var statusList = dc.UserStatus.ToList();
                    var users = dc.Users.Where(c => c.EnrollmentDate != null).ToList();
                    // var userEnrollmentList = dc.UserEnrollments.ToList();

                    //if(users.id)
                    //{

                    //}

                    var list = (from schMessage in dc.ScheduleMessages
                                join trgEvent in dc.TriggerEvents.Where(c => c.TriggerTypeId == 5)
                                on schMessage.ScheduleMessage_TriggerEventID equals trgEvent.TriggerEvent_ID
                                select new ScheduleViewModels
                    {
                        Message = schMessage.ScheduleMessage_Message,
                        // TriggerEventName = trgEvent.TriggerEvent_Event,
                        TriggerEventDay = trgEvent.TriggerEvent_Day,
                        TriggerEventId = trgEvent.TriggerEvent_ID,
                        ScheduleMessageID = schMessage.ScheduleMessage_ID,
                        Time = schMessage.ScheduleMessage_Time
                    }).ToList();


                    try
                    {
                        foreach (var item in users)
                        {
                            if (item.StatusId == 1) // 1- Active
                            {
                                //  Library.WriteErrorLog("Inside Patient loop");
                                var to = new PhoneNumber(item.MobileNumber.ToString());
                                //   Library.WriteErrorLog("To Number: " + to);
                                var from = new PhoneNumber("+16467591379");
                                //   Library.WriteErrorLog("From Number: " + from);
                                var EnrollmentDate = item.EnrollmentDate;
                                // Library.WriteErrorLog("EnrollmentDate: " + EnrollmentDate);
                                if (EnrollmentDate != null)
                                {
                                    DateTime currentDate = DateTime.Now;
                                    //   Library.WriteErrorLog("Current Date: " + currentDate);
                                    DateTime currentEnrollmentDate = Convert.ToDateTime(item.EnrollmentDate);
                                    // Library.WriteErrorLog("Current EnrollmentDate: " + currentEnrollmentDate);
                                    int totalDays = Convert.ToInt32((currentDate - currentEnrollmentDate).TotalDays);
                                    //   Library.WriteErrorLog(" scheduled days: " + totalDays);
                                    //if (totalDays >= 0 && totalDays <= 50)
                                    //{
                                    //    Library.WriteErrorLog("Inside total days comparison");
                                    string Sid = String.Empty;
                                    // var messageDetails = list.FirstOrDefault(c => c.TriggerEventName.ToLower() == "day " + totalDays);
                                    //var messageDetails = list.FirstOrDefault(c => c.TriggerEventDay == totalDays.ToString());
                                    var messageList = list.Where(c => c.TriggerEventDay == totalDays.ToString());

                                    if (messageList.Count() > 0)
                                    {
                                        foreach (var msg in messageList)
                                        {
                                            var userStatusDetails = dc.UserEnrollments.FirstOrDefault(c => c.UserId == item.User_ID && c.TriggerEventId == msg.TriggerEventId);
                                            if (userStatusDetails == null)
                                            {
                                                var calculatedTime = DateTime.Now.ToString("htt");

                                                var timeAfterRemovingSpace = "";

                                                if (!string.IsNullOrEmpty(msg.Time))
                                                {
                                                    timeAfterRemovingSpace = msg.Time.Trim().Replace(" ", "");
                                                    timeAfterRemovingSpace = timeAfterRemovingSpace.Replace(":00", "");
                                                    timeAfterRemovingSpace = timeAfterRemovingSpace.Replace(":30", "");

                                                    //string no_start_zeros = s.TrimStart('0');
                                                    timeAfterRemovingSpace = timeAfterRemovingSpace.TrimStart('0');
                                                }

                                                var setTime = msg.Time == null ? "9am" : timeAfterRemovingSpace;

                                                if (calculatedTime.ToLower() == setTime.ToLower())
                                                {
                                                    var message0 = MessageResource.Create(to: to, from: from, body: msg.Message);
                                                    Sid = Convert.ToString(message0.Sid);
                                                    // Library.WriteErrorLog("Schedule Message Sid " + Sid);
                                                    if (!string.IsNullOrEmpty(Sid))
                                                    {
                                                        SmsReply _smsReply = new SmsReply();
                                                        _smsReply.From      = Convert.ToString(from);
                                                        _smsReply.To        = Convert.ToString(to);
                                                        _smsReply.Sid       = Convert.ToString(Sid);
                                                        _smsReply.ParentSid = null;
                                                        _smsReply.MessageId = msg.ScheduleMessageID;
                                                        _smsReply.UserId    = item.User_ID;
                                                        _smsReply.SentDate  = DateTime.Now;
                                                        dc.SmsReplies.Add(_smsReply);
                                                        dc.SaveChanges();
                                                        // Library.WriteErrorLog("Schedule Message saved in the SMSReply table");
                                                    }
                                                    //Library.WriteErrorLog("Successfully send message for scheduled");
                                                }
                                            }
                                            else
                                            {
                                                //Library.WriteErrorLog("Already user send, skip or pause for days: " + totalDays);
                                            }
                                        }
                                    }

                                    //if admin alredy skip, send adn pause message for this this user
                                    //var userStatusDetails = userEnrollmentList.FirstOrDefault(c => c.UserId == item.User_ID && c.TriggerEventId == messageDetails.TriggerEventId);
                                    //if (userStatusDetails == null)
                                    //{
                                    //    if (messageDetails != null)
                                    //    {
                                    //        // check the time

                                    //        var calculatedTime = DateTime.Now.ToString("htt");

                                    //        var timeAfterRemovingSpace = "";

                                    //        if (!string.IsNullOrEmpty(messageDetails.Time))
                                    //        {
                                    //            timeAfterRemovingSpace = messageDetails.Time.Trim().Replace(" ", "");
                                    //            timeAfterRemovingSpace = timeAfterRemovingSpace.Replace(":00", "");
                                    //            timeAfterRemovingSpace = timeAfterRemovingSpace.Replace(":30", "");

                                    //            //string no_start_zeros = s.TrimStart('0');
                                    //            timeAfterRemovingSpace = timeAfterRemovingSpace.TrimStart('0');
                                    //        }

                                    //        var setTime = messageDetails.Time == null ? "9am" : timeAfterRemovingSpace;

                                    //        if (calculatedTime.ToLower() == setTime.ToLower())
                                    //        {
                                    //            var message0 = MessageResource.Create(to: to, from: from, body: messageDetails.Message);
                                    //            Sid = Convert.ToString(message0.Sid);
                                    //            Library.WriteErrorLog("Schedule Message Sid " + Sid);
                                    //            if (!string.IsNullOrEmpty(Sid))
                                    //            {
                                    //                SmsReply _smsReply = new SmsReply();
                                    //                _smsReply.From = Convert.ToString(from);
                                    //                _smsReply.To = Convert.ToString(to);
                                    //                _smsReply.Sid = Convert.ToString(Sid);
                                    //                _smsReply.ParentSid = null;
                                    //                _smsReply.MessageId = messageDetails.ScheduleMessageID;
                                    //                _smsReply.UserId = item.User_ID;
                                    //                _smsReply.SentDate = DateTime.Now;
                                    //                dc.SmsReplies.Add(_smsReply);
                                    //                dc.SaveChanges();
                                    //                Library.WriteErrorLog("Schedule Message saved in the SMSReply table");
                                    //            }
                                    //            Library.WriteErrorLog("Successfully send message for scheduled");
                                    //        }

                                    //    }
                                    //    else
                                    //    {

                                    //    }
                                    //}
                                    //else
                                    //{
                                    //    Library.WriteErrorLog("Already user send, skip or pause for days: " + totalDays);
                                    //}
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        //  Library.WriteErrorLog("Scheduled : " + ex.Message);
                    }
                }
            }
            catch (Exception ex)
            {
                // Library.WriteErrorLog(ex.Message);
            }
        }
예제 #6
0
 public void SaveMessageDetails(SmsReply sms)
 {
     _context.SmsReplies.Add(sms);
     _context.SaveChanges();
 }