public async Task <IActionResult> CreateSession(MessageSessionCreateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var fromEmail =
                    await Services.AuthorizationServices.VerifyToken(clientFactory, viewModel.FromJwt);

                if (fromEmail != null)
                {
                    var session = new MessageSession
                    {
                        Title       = viewModel.Title,
                        Description = viewModel.Description,
                        Emails      = fromEmail
                    };

                    if (viewModel.Emails != null)
                    {
                        session.Emails += ";" + string.Join(';', viewModel.Emails).ToLower();
                    }

                    await sessionRepository.CreateMessageSessionAsync(session);

                    return(Ok(JsonConvert.SerializeObject(session)));
                }

                return(BadRequest("Specified Token Not Found"));
            }
            return(BadRequest(ModelState));
        }
Пример #2
0
        public static async Task <ResponseResult <MessageSession> > CreateMessageSession(string jwt, string title, string description, List <string> emails)
        {
            using (var request = new HttpRequestMessage(HttpMethod.Post, $"{URI}/CreateSession"))
            {
                var viewModel = new MessageSessionCreateViewModel
                {
                    FromJwt     = jwt,
                    Title       = title,
                    Description = description,
                    Emails      = emails
                };

                request.Content = new StringContent(JsonConvert.SerializeObject(viewModel), Encoding.UTF8, "application/json");
                var response = await _client.SendAsync(request);

                if (response.IsSuccessStatusCode)
                {
                    return(new ResponseResult <MessageSession>(
                               true,
                               JsonConvert.DeserializeObject <MessageSession>(await response.Content.ReadAsStringAsync())
                               ));
                }

                return(new ResponseResult <MessageSession>(false, null));
            }
        }