/// <summary>
        /// Get all messages of current user.
        /// </summary>
        /// <param name="userID">Sender user idetifier.</param>
        /// <param name="type">Type of message.</param>
        /// <param name="selectType">Type of message selecting.</param>
        /// <returns>List of user messages.</returns>
        public static IEnumerable<Message> GetUserMessages(
            Guid userID, MessageType type, MessageSelectType selectType)
        {
            IEnumerable<Message> recordList = null;
            using (SocialNetworkDBEntities record = new SocialNetworkDBEntities())
            {
                if (type.Equals(MessageType.Posted))
                {
                    switch (selectType)
                    {
                        case MessageSelectType.All:
                            {
                                recordList = record.Messages
                                    .Where(w => w.FromID == userID && !w.IsDeletedBySender)
                                    .OrderByDescending(o => o.SendDate)
                                    .Select(s => new Message
                                    {
                                        MessageID = s.MessageID,
                                        FromID = s.FromID,
                                        ToID = s.ToID,
                                        SendDate = s.SendDate,
                                        Header = s.Header,
                                        Text = s.Text,
                                        Status = s.Status,
                                        IsDeletedBySender = s.IsDeletedBySender,
                                        IsDeletedByReceiver = s.IsDeletedByReceiver
                                    })
                                    .ToList();
                            }
                            break;
                        case MessageSelectType.OnlyNew:
                            {
                            }
                            break;
                        case MessageSelectType.OnlyOld:
                            {
                            }
                            break;
                    }
                }
                else
                {
                    switch (selectType)
                    {
                        case MessageSelectType.All:
                            {
                                recordList = record.Messages
                                    .Where(w => w.ToID == userID && !w.IsDeletedByReceiver)
                                    .OrderByDescending(o => o.SendDate)
                                    .Select(s => new Message
                                    {
                                        MessageID = s.MessageID,
                                        FromID = s.FromID,
                                        ToID = s.ToID,
                                        SendDate = s.SendDate,
                                        Header = s.Header,
                                        Text = s.Text,
                                        Status = s.Status,
                                        IsDeletedBySender = s.IsDeletedBySender,
                                        IsDeletedByReceiver = s.IsDeletedByReceiver
                                    })
                                    .ToList();
                            }
                            break;
                        case MessageSelectType.OnlyNew:
                            {
                            }
                            break;
                        case MessageSelectType.OnlyOld:
                            {
                            }
                            break;
                    }
                }
            }

            return recordList;
        }
Example #2
0
        /// <summary>
        /// Get all messages of current user.
        /// </summary>
        /// <param name="userID">Sender user idetifier.</param>
        /// <param name="type">Type of message.</param>
        /// <param name="selectType">Type of message selecting.</param>
        /// <returns>List of user messages.</returns>
        public static IEnumerable <Message> GetUserMessages(
            Guid userID, MessageType type, MessageSelectType selectType)
        {
            IEnumerable <Message> recordList = null;

            using (SocialNetworkDBEntities record = new SocialNetworkDBEntities())
            {
                if (type.Equals(MessageType.Posted))
                {
                    switch (selectType)
                    {
                    case MessageSelectType.All:
                    {
                        recordList = record.Messages
                                     .Where(w => w.FromID == userID && !w.IsDeletedBySender)
                                     .OrderByDescending(o => o.SendDate)
                                     .Select(s => new Message
                            {
                                MessageID           = s.MessageID,
                                FromID              = s.FromID,
                                ToID                = s.ToID,
                                SendDate            = s.SendDate,
                                Header              = s.Header,
                                Text                = s.Text,
                                Status              = s.Status,
                                IsDeletedBySender   = s.IsDeletedBySender,
                                IsDeletedByReceiver = s.IsDeletedByReceiver
                            })
                                     .ToList();
                    }
                    break;

                    case MessageSelectType.OnlyNew:
                    {
                    }
                    break;

                    case MessageSelectType.OnlyOld:
                    {
                    }
                    break;
                    }
                }
                else
                {
                    switch (selectType)
                    {
                    case MessageSelectType.All:
                    {
                        recordList = record.Messages
                                     .Where(w => w.ToID == userID && !w.IsDeletedByReceiver)
                                     .OrderByDescending(o => o.SendDate)
                                     .Select(s => new Message
                            {
                                MessageID           = s.MessageID,
                                FromID              = s.FromID,
                                ToID                = s.ToID,
                                SendDate            = s.SendDate,
                                Header              = s.Header,
                                Text                = s.Text,
                                Status              = s.Status,
                                IsDeletedBySender   = s.IsDeletedBySender,
                                IsDeletedByReceiver = s.IsDeletedByReceiver
                            })
                                     .ToList();
                    }
                    break;

                    case MessageSelectType.OnlyNew:
                    {
                    }
                    break;

                    case MessageSelectType.OnlyOld:
                    {
                    }
                    break;
                    }
                }
            }

            return(recordList);
        }