/// <summary>
 /// This method is used to get my messages
 /// </summary>
 /// <returns></returns>
 public object GetMyReciviedMessage(MessageRecipientCustomModel model)
 {
     using (_IMessageRepo = new MessageRepo())
     {
         return(_IMessageRepo.GetMyReciviedMessage(model));
     }
 }
        /// <summary>
        /// method is used to get my recivied messages
        /// </summary>
        /// <param name="MessageModel"></param>
        /// <returns></returns>
        public object GetMyReciviedMessage(MessageRecipientCustomModel model)
        {
            List <MessageRecipientCustomModel> MessageListModel = new List <MessageRecipientCustomModel>();

            using (response = new Response())
            {
                using (dbcontext = new ChatApplicationEntities())
                {
                    try
                    {
                        response.success = true;
                        MessageListModel = dbcontext.tblMessageRecipients.Where(x => x.RecipientId == model.RecipientId && (model.SenderId == null || model.SenderId == 0 || x.tblMessage.SenderId == model.SenderId))
                                           .Select(x => new MessageRecipientCustomModel
                        {
                            MessageId          = x.MessageId,
                            MessageRecipientId = x.MessageRecipientId,
                            RecipientId        = x.RecipientId,
                            SenderId           = x.tblMessage != null ? x.tblMessage.SenderId : 0,
                            ReceiverName       = x.tblMember != null ? dbcontext.tblMembers.FirstOrDefault(m => m.MemberId == model.RecipientId).Name : "",
                            SenderName         = x.tblMember != null ? dbcontext.tblMembers.FirstOrDefault(m => m.MemberId == model.SenderId).Name : "",
                            Message            = x.tblMessage != null ? x.tblMessage.MessageBody : "",

                            IsActive    = x.IsActive,
                            CreatedDate = x.CreatedDate,
                        }).OrderBy(x => x.MessageRecipientId).ToList();

                        return(MessageListModel);

                        //                     var query = dbcontext.tblMessageRecipients // your starting point - table in the "from" statement
                        //.Join(dbcontext.tblMessages, // the source table of the inner join
                        //   post => post.MessageId,        // Select the primary key (the first part of the "on" clause in an sql "join" statement)
                        //   meta => meta.Id,   // Select the foreign key (the second part of the "on" clause)
                        //   (post, meta) => new { Post = post, Meta = meta }) // selection
                        //.Where(postAndMeta => postAndMeta.Post.RecipientId == model.RecipientId && postAndMeta.Meta.SenderId == model.SenderId)    // where statement
                        //.Select(m => new MessageRecipientCustomModel
                        //{
                        //    MessageId = m.Post.MessageId,
                        //    RecipientId = m.Post.RecipientId,
                        //    SenderId = m.Meta.SenderId
                        //}
                        //).ToList();

                        //                     return query;
                    }
                    catch (Exception ex)
                    {
                        response.success = false;
                        response.message = ex.Message;
                        return(response);
                    }
                }
            }
        }
 public object GetMyReciviedMessage(MessageRecipientCustomModel model)
 {
     _response = new Response();
     try
     {
         IMessageBusiness MessageService = new MessageBusiness();
         _response.responseData = MessageService.GetMyReciviedMessage(model);
         _response.message      = "Records loaded successfully !!";
         _response.success      = true;
     }
     catch (Exception ex)
     {
         _response.success = false;
         _response.message = ex.Message.ToString();
     }
     finally
     {
         MessageService = null;
     }
     return(_response);
 }