Пример #1
0
        //private Task PostMessageAsync(ChatMessage message)
        //{
        //  return new Task(new Action(delegate ()
        //  {
        //    using (var db = new JobyJobsDB2())
        //    {
        //      db.conversation_messages.Add(message.ToDB());
        //      db.SaveChanges();
        //    }
        //  }));
        //}

        public ConversationMessagesSeekerOverview GetAllConversationsSeeker(int seekerId)
        {
            using (var db = new JobyJobsDB2())
            {
                int takeMax = 10;
                var res     = new ConversationMessagesSeekerOverview(seekerId);

                //assigned.
                var dbOverview1 = db.conversation_messages
                                  .Where(item => item.is_unassigned != true && item.seeker_id == seekerId)
                                  .GroupBy(item => item.employer_person_id.Value)
                                  .ToDictionary(kp => kp.Key, kp => kp.Take(10).ToList());
                dbOverview1.ToList().ForEach(kp =>
                                             res.Chats.Add(kp.Key,
                                                           new ConversationMessagesSeekerOverviewRecord(0, false, kp.Key,
                                                                                                        kp.Value.ToDictionary(kp0 => kp.Key, kp0 => kp0.ToBusiness()))));

                //unassigned.
                var dbOverview2 = db.conversation_messages
                                  .Where(item => item.is_unassigned == true && item.seeker_id == seekerId)
                                  .GroupBy(item => item.employer_id)
                                  .ToDictionary(kp => kp.Key, kp => kp.Take(10).ToList());
                dbOverview2.ToList().ForEach(kp =>
                                             res.Chats.Add(kp.Key,
                                                           new ConversationMessagesSeekerOverviewRecord(kp.Key, true, 0,
                                                                                                        kp.Value.ToDictionary(kp0 => kp.Key, kp0 => kp0.ToBusiness()))));

                return(res);
            }
        }
Пример #2
0
        public IActionResult GetAllConversationsSeeker(int seekerId)
        {
            ConversationMessagesSeekerOverview res = _sp.GetService <IConversationsBL>().GetAllConversationsSeeker(seekerId);

            return(Json(res));
        }