Пример #1
0
        public ActionResult CreateConversation(CreateConversationDTO createConversation)
        {
            if (createConversation.Users.Count != createConversation.Users.Distinct().Count())
            {
                return(BadRequest(new { message = Errors.DuplicateUserIds }));
            }

            //Load users by ids
            var users = _userService.LoadByIds(createConversation.Users);

            if (users.Count != createConversation.Users.Count)
            {
                return(BadRequest(new { message = Errors.InvalidUserIds }));
            }

            var conversation = new Conversation()
            {
                CreateDate = DateTime.Now,
                Type       = createConversation.Type,
                Users      = users.Select(x => new UserConversation()
                {
                    CreateDate         = DateTime.Now,
                    NotificationStatus = 1,
                    Status             = 0,
                    User = x
                }).ToList(),
                Name = string.IsNullOrEmpty(createConversation.Name) ? BuildConversationName(users.Select(x => x.FullName).ToList()) : createConversation.Name
            };

            return(Ok(_conversationService.Save(conversation)));
        }
Пример #2
0
        public Guid CreateConversation(Guid sessionId, CreateConversationDTO conversationInfo)
        {
            string fixHint = null;
            var    request = new RestRequest("api/conversation?token={session}", Method.POST);

            request.AddUrlSegment("session", sessionId);
            request.AddHeader("content-type", "application/json");
            request.AddBody(conversationInfo);
            var response2 = _client.Execute(request);

            if (ProcessResponse(response2, out fixHint))
            {
            }
            return(Guid.Empty);
        }
        public ActionResult CreateConversation(Guid token, [FromBody] CreateConversationDTO createInfo)
        {
            Session session = _loginService.ValidateUserContext(token);
            Guid    conversation;

            if (createInfo.Channel != Guid.Empty)
            {
                conversation = _dataService.CreateConversation(session.User, createInfo.Channel);
            }
            else if (createInfo.UserSet.Any() == true)
            {
                conversation = _dataService.CreateConversationWithUserSet(session.User, createInfo.UserSet);
            }
            else
            {
                return(BadRequest("Users or Channel not available."));
            }
            if (conversation == Guid.Empty)
            {
                return(BadRequest("Unable to create required channel."));
            }
            return(Created("", conversation));
        }