Exemplo n.º 1
0
        private static string GetAddressMessage(LanguageSelection profile)
        {
            var googleTranslateService = new GoogleTranslateService();
            var context          = new Model1();
            var selectedLanguage = context.Languages.FirstOrDefault(x => x.Id == (int)profile.Language);
            var languageCode     = selectedLanguage != null ? selectedLanguage.Code : "en";

            return(googleTranslateService.TranslateToSelectedLanguage("Enter address", languageCode.Trim()));
        }
Exemplo n.º 2
0
        private static string GetProfileCOnfirmationMessage(LanguageSelection profile)
        {
            var googleTranslateService = new GoogleTranslateService();
            var context          = new Model1();
            var selectedLanguage = context.Languages.FirstOrDefault(x => x.Id == (int)profile.Language);
            var languageCode     = selectedLanguage != null ? selectedLanguage.Code : "en";

            return(googleTranslateService.TranslateToSelectedLanguage("Your's profile is set. You can ask question on your own language", languageCode.Trim()));
        }
        private static string GetAddressMessage(CultureInfo culture)
        {
            var googleTranslateService = new GoogleTranslateService();
            var context          = new Model1();
            var selectedLanguage = context.Languages.FirstOrDefault(x => x.Code == culture.Name);
            var languageCode     = selectedLanguage != null ? selectedLanguage.Code : "en";

            return(googleTranslateService.TranslateToSelectedLanguage("Enter address", languageCode.Trim()));
        }
Exemplo n.º 4
0
        private static void Translate()
        {
            var translation = GoogleTranslateService.Translate("vegetable", "de");

            System.Console.WriteLine(translation);

            var intent = IntentService.GetIntent("schedule a meeting with Mary on Saturday");

            System.Console.WriteLine(intent.TopScoringIntent.Name);
        }
Exemplo n.º 5
0
        public IList <string> Execute(IList <string> parameters)
        {
            var result = new List <string>();

            SetParameters(parameters);
            Validate(parameters, false);
            var translatedWord = GoogleTranslateService.Translate(_text, _sourceLanguage);

            result.Add(_text + " = " + translatedWord);
            _text = string.Empty;
            return(result);
        }
Exemplo n.º 6
0
        private string GetTextInSelectedLanguage(string text, string userSelectedLanguage)
        {
            var    googleApi         = new GoogleTranslateService();
            var    languages         = new LanguagesDict();
            var    parsedLanguageTag = Convert.ToInt32(userSelectedLanguage);
            var    selectedLanguage  = languages.LanguageCodes[parsedLanguageTag];
            string textinEn          = text;

            if (selectedLanguage != "en")
            {
                textinEn = googleApi.TranslateToSelectedLanguage(text, selectedLanguage);
            }

            return(textinEn);
        }
Exemplo n.º 7
0
        /// <summary>
        /// POST: api/Messages
        /// Receive a message from a user and reply to it
        /// </summary>
        ///
        public async Task <HttpResponseMessage> Post([FromBody] Activity activity)
        {
            if (activity.Type == ActivityTypes.Message)
            {
                var dbContext = new Model1();

                ConnectorClient connector            = new ConnectorClient(new Uri(activity.ServiceUrl));
                StateClient     sc                   = activity.GetStateClient();
                BotData         userData             = sc.BotState.GetPrivateConversationData(activity.ChannelId, activity.Conversation.Id, activity.From.Id);
                var             userSelectedLanguage = userData.GetProperty <string>("Language");
                var             userSelectedCity     = userData.GetProperty <string>("City");

                var guid = userData.GetProperty <string>("ApartmantId");
                if (string.IsNullOrEmpty(userSelectedLanguage))
                {
                    await Conversation.SendAsync(activity, MakeRootDialog);
                }
                else if (activity.Text == "/deleteprofile")
                {
                    activity.GetStateClient().BotState.DeleteStateForUser(activity.ChannelId, activity.From.Id);
                }
                else
                {
                    var userCity              = userData.GetProperty <string>("City");
                    var userAddress           = userData.GetProperty <string>("Address");
                    var googleApi             = new GoogleTranslateService();
                    var location              = googleApi.GetLocationFromAddress(userAddress + "," + userCity);
                    var administrationService = new AdministrationService();
                    var possibleLocations     = administrationService.GetPossibleLocations(location);
                    if (possibleLocations.FirstOrDefault(x => x.ApartmentId.ToString() == activity.Text) == null && string.IsNullOrEmpty(guid))
                    {
                        if (possibleLocations.Count > 0)
                        {
                            userData.SetProperty <string>("ApartmantId", "IdComming");
                            sc.BotState.SetPrivateConversationData(activity.ChannelId, activity.Conversation.Id, activity.From.Id, userData);

                            Activity replyToConversation = activity.CreateReply(GetTextInSelectedLanguage("Please select your place", userSelectedLanguage));
                            replyToConversation.Recipient   = activity.From;
                            replyToConversation.Type        = "message";
                            replyToConversation.Attachments = new List <Attachment>();

                            List <CardAction> cardButtons = new List <CardAction>();
                            foreach (var button in possibleLocations)
                            {
                                CardAction plButton = new CardAction()
                                {
                                    Value = button.ApartmentId.ToString(),
                                    Type  = "imBack",
                                    Title = button.Name
                                };
                                cardButtons.Add(plButton);
                            }

                            HeroCard plCard = new HeroCard()
                            {
                                Title   = GetTextInSelectedLanguage("Press the button with your accomodation", userSelectedLanguage),
                                Buttons = cardButtons
                            };
                            Attachment plAttachment = plCard.ToAttachment();
                            replyToConversation.Attachments.Add(plAttachment);
                            await connector.Conversations.SendToConversationAsync(replyToConversation);


                            await sc.BotState.SetUserDataAsync(activity.ChannelId, activity.From.Id, userData);
                        }
                        else
                        {
                            var      responseText            = GetTextInSelectedLanguage("Sorry, havn't found anything. Try again", userSelectedLanguage);
                            Activity replyToSelectedApartmen = activity.CreateReply($"{responseText}");
                            await connector.Conversations.ReplyToActivityAsync(replyToSelectedApartmen);
                        }
                    }
                    else if (guid == "IdComming")
                    {
                        userData.SetProperty <string>("ApartmantId", activity.Text);
                        guid = activity.Text;
                        sc.BotState.SetPrivateConversationData(activity.ChannelId, activity.Conversation.Id, activity.From.Id, userData);
                        //    await sc.BotState.SetUserDataAsync(activity.ChannelId, activity.From.Id, userData);
                        var      responseText            = GetTextInSelectedLanguage("Go ahed and ask me something", userSelectedLanguage);
                        Activity replyToSelectedApartmen = activity.CreateReply($"{responseText}");
                        await connector.Conversations.ReplyToActivityAsync(replyToSelectedApartmen);
                    }
                    else
                    {
                        var tokenizedText = googleApi.SentanceDetect(GetTextInEng(activity.Text, userSelectedLanguage));
                        var resText       = administrationService.GetResponeseToQuery(tokenizedText, guid);
                        if (resText != null)
                        {
                            Activity reply = activity.CreateReply($"{resText.Answer}");
                            await connector.Conversations.ReplyToActivityAsync(reply);
                        }
                        else
                        {
                            var      responseText = GetTextInSelectedLanguage("Sorry, have not found anything. Try again", userSelectedLanguage);
                            Activity reply        = activity.CreateReply($"{responseText}");
                            await connector.Conversations.ReplyToActivityAsync(reply);
                        }
                    }
                }
            }
            else
            {
                HandleSystemMessage(activity);
            }

            return(new HttpResponseMessage());
        }