Ejemplo n.º 1
0
        public IHttpActionResult CreateConversation([FromBody] JObject request)
        {
            Conversation        conv = request["conversation"].ToObject <Conversation>();
            Repo <Conversation> cr   = new ConversationRepo();

            cr.Create(conv);
            return(Ok());
        }
Ejemplo n.º 2
0
        public IHttpActionResult LeaveConversation([FromBody] JObject request)
        {
            Conversation        conv = request["conversation"].ToObject <Conversation>();
            Repo <Conversation> cr   = new ConversationRepo();
            Account             user = request["account"].ToObject <Account>();

            conv.Leave(user);
            cr.Update(conv);
            return(Ok());
        }
Ejemplo n.º 3
0
        public IHttpActionResult SendMessage([FromBody] JObject request)
        {
            Repo <Conversation> conversationRepo = new ConversationRepo();
            Repo <User>         userRepo         = new UserRepo();
            IPushNotifier       notifier         = new PNotifier();

            Message message = request.ToObject <Message>();
            Account to      = new Account();

            to.Id = message.To.Id;

            Account from = new Account();

            from.Id        = message.From.Id;
            message.Status = MessageStatus.Sent;
            Conversation find = new Conversation();

            find.Members.Add(from);
            find.Members.Add(to);
            find.conversationType = ConversationType.DoubleChat;
            find.Messages.Add(message);


            conversationRepo.Create(find);


            //conversation.NewMessage(message);
            //conversationRepo.Update(conversation);

            //List<User> members = find.Members;
            List <Account> account = new List <Account>();

            foreach (Account mem in find.Members)
            {
                account.Add(mem);
            }

            for (int i = 0; i < account.Count; i++)
            {
                if (account[i].Id != from.Id)
                {
                    account[i] = userRepo.Read(account[i]);
                }
            }

            return(Ok());
        }