Example #1
0
        public static async Task <ConversationCreated> CreateConversation(CreateConversation createConversation)
        {
            try
            {
                using (HttpClient httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AuthService.Instance.GetToken());
                    string json     = JsonConvert.SerializeObject(createConversation);
                    var    response = await httpClient.PostAsync($"{ApiConstant.ApiUrl}/conversations", new StringContent(json, Encoding.UTF8, "application/json"));

                    var responseText = await response.Content.ReadAsStringAsync();

                    if (response.IsSuccessStatusCode)
                    {
                        return(JsonConvert.DeserializeObject <ConversationCreated>(responseText));
                    }
                    return(null);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
        public NewConversation Create(CreateConversation conversation)
        {
            ClientResponse <NewConversation> result = null;
            String body = Serialize <CreateConversation>(conversation);

            result = Post <NewConversation>(body, resource: CONVERSATIONS_RESOURCE);
            return(result.Result);
        }
Example #3
0
        public async Task <IActionResult> CreateConversation(CreateConversation model)
        {
            List <ObjectId> members = new List <ObjectId>();

            foreach (var member in model.Members)
            {
                members.Add(new ObjectId(member));
            }
            await dbConversations.InsertConversation(new Conversation { Members = members.ToArray() });

            return(NoContent());
        }
Example #4
0
        public async Task OnGet()
        {
            if (this.UserName == null)
            {
                this.UserName = GetString("UserName");
                if (this.UserName == null)
                {
                    this.UserName = "******";
                }
            }

            ConversationId identity;
            var            test = GetString("identity"); //get identity from current conversation in session

            if (test == null)
            {
                identity = ConversationId.New;
                SetString("identity", identity.ToString());                     // save identity to session
                var command = new CreateConversation(identity);
                await CommandBus.PublishAsync(command, CancellationToken.None); //transferring command to its handler
            }
            else
            {
                identity = new ConversationId(test);
            }

            var result = await QueryProcessor.ProcessAsync(new ReadModelByIdQuery <ConversationReadModel>(identity),
                                                           CancellationToken.None); // ReadModelByIDQuery is out of the box in Event Flow for quering read models

            if (result.Messages == null)
            {
                Messages = new List <Message>();
            }
            else
            {
                Messages = result.Messages;
            }
        }
        public async Task <IActionResult> AddConversation([FromBody] CreateConversation command)
        {
            await DispatchAsync(command);

            return(Ok());
        }