Beispiel #1
0
        public JsonResult GetCareMessages(string cnId)
        {
            var shamsi = new AvizheCalendar.BLL.WorkingWithPersianCalendar();
            var chats  = _repos
                         .GetDataByCustomFilter(p => p.ConnectionId == cnId)
                         .Select(p => new ChatMessage()
            {
                MessageText        = p.MessageText,
                MessagePersianDate = shamsi.GregorianToPersian(p.CreateDateAndTime),
                MessageTime        = p.CreateDateAndTime.ToShortTimeString(),
                Sender             = p.CreatorIdentityID
            });

            return(Json(chats));
        }
Beispiel #2
0
        public IActionResult CareChat()
        {
            var calendar       = new AvizheCalendar.BLL.WorkingWithPersianCalendar();
            var availCareChats = _repos.GetDataByQuery
                                     (" SELECT * FROM SignalR.CareMessage WHERE CareMessage.ID IN(SELECT Nested.ID " +
                                     " FROM(select ID,RANK() OVER(PARTITION BY CareMessage.ConnectionId ORDER BY CareMessage.CreateDateAndTime DESC) " +
                                     " [Ranking] from SignalR.CareMessage) as Nested WHERE Nested.Ranking =1)  AND IsDeleted = 0 ")
                                 .Select(p => new Chat()
            {
                ConnectionId           = p.ConnectionId,
                LastMessageText        = p.MessageText.Length > 20 ? (p.MessageText.Substring(0, 20) + " ..") : p.MessageText,
                LastMessagePersianDate = calendar.GregorianToPersian(p.CreateDateAndTime),
                LastMessageTime        = p.CreateDateAndTime.ToShortTimeString(),
                SenderName             = (p.CreatorIdentityID == string.Empty ? "Operator" : p.CreatorIdentityID)
            })
                                 .ToList();

            ViewData["OpeId"] = _userManager.GetUserId(User);
            return(View(availCareChats));
        }