Пример #1
0
        public static Chat GetChat(this string id, string filterId, string name, string surname, bool patient)
        {
            Chat chat = new Chat();

            chat.Id      = Convert.ToInt16(filterId);
            chat.Name    = name;
            chat.Surname = surname;

            Models.ForApi.MessageList received = id.GetMessage(patient, "received", filterId);
            Models.ForApi.MessageList sent     = id.GetMessage(patient, "sent", filterId);

            if (received != null)
            {
                foreach (Models.ForApi.MessageMedicPatient message in received.Messages_received)
                {
                    chat.MessageList.Add(message);
                }
            }

            if (sent != null)
            {
                foreach (Models.ForApi.MessageMedicPatient message in sent.Messages_sent)
                {
                    chat.MessageList.Add(message);
                }
            }


            chat.MessageList = chat.MessageList.OrderBy(x => x.Timedate).ToList();

            return(chat);
        }
Пример #2
0
        public static Message GetMessage(this Models.ForApi.MessageList received, List <Models.ForApi.Patient> patients, List <Models.ForApi.Medic> medics)
        {
            Message message = new Message();

            if (patients != null)
            {
                foreach (Models.ForApi.Patient p in patients)
                {
                    Int16 toRead = 0;

                    if (received != null)
                    {
                        foreach (Models.ForApi.MessageMedicPatient m in received.Messages_received)
                        {
                            if (m.Patient_id == p.Id)
                            {
                                if (!m.Read)
                                {
                                    toRead++;
                                }
                            }
                        }
                    }

                    message.chatProfiles.Add(new ChatProfile(p.Id, p.Name, p.Surname, toRead));
                }
            }

            if (medics != null)
            {
                foreach (Models.ForApi.Medic me in medics)
                {
                    Int16 toRead = 0;

                    if (received != null)
                    {
                        foreach (Models.ForApi.MessageMedicPatient m in received.Messages_received)
                        {
                            if (m.Medic_id == me.Id)
                            {
                                if (!m.Read)
                                {
                                    toRead++;
                                }
                            }
                        }
                    }

                    message.chatProfiles.Add(new ChatProfile(me.Id, me.Name, me.Surname, toRead));
                }
            }

            return(message);
        }