示例#1
0
        public ActionResult ViewDoctorMessage()
        {
            int mid = Convert.ToInt32(Session["MemberId"]);

            List <InboxMessageModel> lst = new List <InboxMessageModel>();

            using (ProjectEntities db = new ProjectEntities())
            {
                var    gta     = db.MemberLogins.FirstOrDefault(a => a.MemberId == mid);
                string emailid = gta.EmailId;
                var    getdata = db.Inboxes.Where(a => a.ToEmailId == emailid);

                foreach (var item in getdata)
                {
                    lst.Add(new InboxMessageModel
                    {
                        MessageId     = item.MessageId,
                        FromEmailId   = item.FromEmailId,
                        ToEmailId     = item.ToEmailId,
                        Subject       = item.Subject,
                        MessageDetail = item.MessageDetail,
                        MessageDate   = Convert.ToDateTime(item.MessageDate)
                    });
                }
            }

            InboxMessageModel model = new InboxMessageModel();

            model.lstMessage = lst;
            return(View(model));
        }
示例#2
0
        public ActionResult PostMessageToDoctor(InboxMessageModel model)
        {
            int mid = Convert.ToInt32(Session["MemberId"]);

            using (ProjectEntities db = new ProjectEntities())
            {
                var    getdata     = db.MemberLogins.FirstOrDefault(a => a.MemberId == mid);
                string Fromemailid = getdata.EmailId;
                int    docid       = Convert.ToInt32(model.ToEmailId);
                var    data        = (from d in db.Doctors join m in db.MemberLogins
                                      on d.MemberId equals m.MemberId
                                      where d.DoctorId == docid
                                      select new { m.EmailId }).FirstOrDefault();

                model.ToEmailId = data.EmailId;
                DateTime msgdate = DateTime.Now;
                int      rid     = 0;
                bool     isread  = false;

                if (model.ToEmailId != null)
                {
                    db.InsertMessage(Fromemailid, model.ToEmailId, model.Subject, model.MessageDetail, msgdate, rid, isread);
                    ViewBag.Message = "Message Sent To Doctor";
                }
                else
                {
                    ViewBag.Message = "Select Your Doctor";
                }
            }

            List <SelectListItem> lst = new List <SelectListItem>();     // populate ddlDoctor after submit

            using (ProjectEntities db = new ProjectEntities())
            {
                var getdata = db.Doctors.ToList();
                foreach (var item in getdata)
                {
                    lst.Add(new SelectListItem
                    {
                        Value = item.DoctorId.ToString(),
                        Text  = item.FirstName
                    });
                }
            }

            DoctorAppointmentModel model1 = new DoctorAppointmentModel();

            model1.lstDoctor = lst;
            return(View("DoctorAppointment", model1));
        }
示例#3
0
        public ActionResult SendMessageToDoctor()
        {
            List <SelectListItem> lst = new List <SelectListItem>();

            using (ProjectEntities db = new ProjectEntities())
            {
                var getdata = db.Doctors.ToList();
                foreach (var item in getdata)
                {
                    lst.Add(new SelectListItem
                    {
                        Value = item.DoctorId.ToString(),
                        Text  = item.FirstName
                    });
                }
            }

            InboxMessageModel model = new InboxMessageModel();

            model.lstDoctor = lst;
            return(View(model));
        }
示例#4
0
        public ActionResult PostPatientReply(InboxMessageModel model)
        {
            bool isread = false;

            using (ProjectEntities db = new ProjectEntities())
            {
                if (model.MessageDetail != null)
                {
                    // Insert Reply
                    db.InsertMessage(model.ToEmailId, model.FromEmailId, model.Subject, model.MessageDetail,
                                     DateTime.Now, model.MessageId, isread);

                    // update IsRead
                    db.UpdateIsRead(model.MessageId, true);

                    return(Json("Reply Sent"));
                }
                else
                {
                    return(Json("Reply Message Body is Empty"));
                }
            }
        }
        public dynamic getinboxmessage(int UserId, int Count)
        {
            int skip = Count * 10;
            MainInboxMessageModel    Minbox    = new MainInboxMessageModel();
            List <InboxMessageModel> InboxUser = new List <InboxMessageModel>();
            string baseURL = HttpContext.Current.Request.Url.Authority;

            baseURL += (WebConfigurationManager.AppSettings["userimagepath"]).Replace("~", "");
            var TotalCount = 0;

            using (LystenEntities db = new LystenEntities())
            {
                var userdataTimeZone = db.User_Master.Where(x => x.Id == UserId).Select(x => x.TimeZone).FirstOrDefault();



                List <int> Ids = new List <int>();

                var obj = db.MessageRequests.Where(x => x.FromUserId == UserId || x.ToUserId == UserId).ToList();
                foreach (var item in obj)
                {
                    if (!Ids.Contains(item.ToUserId.Value) && item.ToUserId.Value != UserId)
                    {
                        Ids.Add(item.ToUserId.Value);
                    }

                    if (!Ids.Contains(item.FromUserId.Value) && item.FromUserId.Value != UserId)
                    {
                        Ids.Add(item.FromUserId.Value);
                    }
                }
                if (obj.Count > 0)
                {
                    TotalCount = Ids.ToList().Count;
                    var data = Ids.ToList().Skip(skip).Take(10);
                    foreach (var item in data)
                    {
                        //var obj123 = db.MessageRecipients.Where(x => x.RecipientId == UserId || x.Message.CreatorId == UserId && x.RecipientGroupId == null).Select(x => new { x.User_Master.UserName }).OrderBy(x => x.UserName).ToList();
                        var newdatttt = db.User_Master.Where(x => x.Id == item).FirstOrDefault();

                        var datess = db.MessageRecipients.Where(x => x.User_Master.Id == UserId && x.Message.CreatorId == item || x.User_Master.Id == item && x.Message.CreatorId == UserId).OrderByDescending(x => x.Id).Select(x => x.Message.CreatedDate.Value).FirstOrDefault();
                        InboxMessageModel newModel = new InboxMessageModel()
                        {
                            Id          = newdatttt.Id,
                            Image       = US.GetFavouriteImage(baseURL, newdatttt.Id),
                            CreatorName = newdatttt.FullName == null ? "" : newdatttt.FullName,
                            IsAccept    = db.MessageRequests.Where(t => t.FromUserId == UserId && t.ToUserId == item || t.FromUserId == item && t.ToUserId == UserId).FirstOrDefault() == null ? false : db.MessageRequests.Where(t => t.FromUserId == UserId && t.ToUserId == item || t.FromUserId == item && t.ToUserId == UserId).Select(y => y.IsAccept).FirstOrDefault(),
                            IsReject    = db.MessageRequests.Where(t => t.FromUserId == UserId && t.ToUserId == item || t.FromUserId == item && t.ToUserId == UserId).FirstOrDefault() == null ? false : db.MessageRequests.Where(t => t.FromUserId == UserId && t.ToUserId == item || t.FromUserId == item && t.ToUserId == UserId).Select(y => y.IsReject).FirstOrDefault(),
                            IsRequested = db.MessageRequests.Where(t => t.FromUserId == UserId && t.ToUserId == item || t.FromUserId == item && t.ToUserId == UserId).FirstOrDefault() == null ? false : db.MessageRequests.Where(t => t.FromUserId == UserId && t.ToUserId == item || t.FromUserId == item && t.ToUserId == UserId).Select(y => y.IsRequested).FirstOrDefault(),


                            //CreatedDate = db1.CreatedDate.Value.Date == DateTime.Now.Date ? "Today " + Convert.ToDateTime((db1.CreatedDate)).ToString("HH:mm") : Convert.ToDateTime((db1.CreatedDate)).ToString("dd MMM, yyyy HH:mm"),
                            CreatedDate = datess == null ? System.DateTime.UtcNow : datetimeset(userdataTimeZone, datess),



                            //CreatedDate = datess.Date == DateTime.Now.Date ? "Today " + Convert.ToDateTime((datess)).ToString("HH:mm") : Convert.ToDateTime(datess).ToString("dd MM yyyy HH:mm"),
                            Message   = db.MessageRecipients.Where(x => x.User_Master.Id == UserId && x.Message.CreatorId == item || x.User_Master.Id == item && x.Message.CreatorId == UserId).OrderByDescending(x => x.Id).Select(x => x.Message.Body).FirstOrDefault() == null ? "" : db.MessageRecipients.Where(x => x.User_Master.Id == UserId && x.Message.CreatorId == item || x.User_Master.Id == item && x.Message.CreatorId == UserId).OrderByDescending(x => x.Id).Select(x => x.Message.Body).FirstOrDefault(),
                            IsWaiting = false
                        };
                        var data123 = db.MessageRequests.Where(t => t.FromUserId == UserId && t.ToUserId == item).FirstOrDefault();
                        if (data123 == null)
                        {
                            if (newModel.IsAccept.Value)
                            {
                                newModel.IsRequested = false;
                                newModel.IsWaiting   = false;
                            }
                            else if (newModel.IsReject.Value)
                            {
                                newModel.IsRequested = false;
                                newModel.IsWaiting   = false;
                            }
                            else
                            {
                                newModel.IsRequested = true;
                                newModel.IsWaiting   = false;
                            }
                        }
                        else
                        {
                            newModel.IsRequested = false;
                            newModel.IsWaiting   = true;
                        }

                        InboxUser.Add(newModel);
                    }
                }
            }
            Minbox.InboxUser  = InboxUser;
            Minbox.TotalCount = TotalCount;
            return(Minbox);
        }
示例#6
0
        public IPutResponse MarkMessageAsReadOrUnRead([FromUri] String userId, [FromBody] InboxMessageModel message)
        {
            var response = Business.User.User.MarkMessageAsReadOrUnRead(userId, message);

            return(response);
        }