Ejemplo n.º 1
0
        public async Task <object> GetConversation([FromBody] GetConversationViewModel getConversationViewModel)
        {
            try
            {
                bool   result = true;
                string error  = string.Empty;

                List <ConversationViewModel> listConversation        = new List <ConversationViewModel>();
                List <ConversationViewModel> listDecodedConversation = new List <ConversationViewModel>();
                try
                {
                    listConversation = _conversationRepository.GetConversation(getConversationViewModel.QuestionId);


                    foreach (ConversationViewModel item in listConversation)
                    {
                        ConversationViewModel newItem = item;
                        byte[] data          = Convert.FromBase64String(item.Message);
                        string decodedString = Encoding.UTF8.GetString(data);
                        newItem.Message = decodedString;
                        listDecodedConversation.Add(newItem);
                    }
                }
                catch (Exception ex)
                {
                    result = false;
                    error  = ex.Message;
                }
                return(new ListResponse <ConversationViewModel>
                {
                    Message = error,
                    DidError = !result,
                    ErrorMessage = error,
                    Token = string.Empty,
                    Model = listDecodedConversation,
                });
            }
            catch (Exception ex)
            {
                return(new ListResponse <ConversationViewModel>
                {
                    Message = ex.Message,
                    DidError = true,
                    ErrorMessage = ex.InnerException.ToString(),
                    Token = string.Empty,
                    Model = new List <ConversationViewModel>()
                });
            }
        }
Ejemplo n.º 2
0
        public async Task <JsonResult> GetConversation(int questionId)
        {
            try
            {
                GetConversationViewModel getConversationViewModel = new GetConversationViewModel();
                getConversationViewModel.QuestionId = questionId;
                string response = await APICallerExtensions.APICallAsync("Conversation/GetConversation", getConversationViewModel, false, HttpContext.Session.GetObject(StorageType.Token).ToString());

                if (response.ToLower().Contains("exception:"))
                {
                    ModelState.AddModelError(string.Empty, response);
                    return(Json(new
                    {
                        isSuccessfull = false,
                        errorMessage = response
                    }));
                }
                var content = JsonConvert.DeserializeObject <ListResponse <ConversationViewModel> >(response);
                if (!content.DidError)
                {
                    return(Json(new
                    {
                        isSuccessfull = true,
                        listDecodedConversation = content.Model,
                    }));
                }
                else
                {
                    return(Json(new
                    {
                        isSuccessfull = false,
                        errorMessage = content.Message
                    }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    isSuccessfull = false,
                    errorMessage = ex.Message
                }));
            }
        }