public void CurrecnyConverterBloomberg_CurrencyToTRY_True()
        {
            //Arrange
            var currency = StringToCurrency.Dictionary.FirstOrDefault(x => "dollar".ToLower().Contains(x.Key)).Value;

            //Act
            var result = new CurrecnyConverterBloomberg().FindRate(currency);

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(Enum.Status.Success, result.Status);
            Assert.AreEqual(true, result.IsSuccess);
        }
示例#2
0
        /// <summary>
        /// POST: api/Messages
        /// Receive a message from a user and reply to it
        /// </summary>
        public async Task <HttpResponseMessage> Post([FromBody] Activity activity)
        {
            var connector = new ConnectorClient(new Uri(activity.ServiceUrl));

            Logger.Info($"User Post an activity, ChannelId : {activity.ChannelId}" +
                        $", Conversation {JsonConvert.SerializeObject(activity.Conversation)}" +
                        $", From {JsonConvert.SerializeObject(activity.From)}" +
                        $", Recipient {JsonConvert.SerializeObject(activity.Recipient)}");

            var currencyConverterBloomberg = new CurrecnyConverterBloomberg();

            //var currencyConverterFixerIo= new CurrencyConverterFixerIo();

            if (activity.Type == ActivityTypes.Message)
            {
                Logger.Debug($"User post a text, activity.Text : {activity.Text}");

                var currency         = StringToCurrency.Dictionary.FirstOrDefault(x => activity.Text.ToLower().Contains(x.Key)).Value;
                var currencyResponse = currencyConverterBloomberg.FindRate(currency);
                //var currencyResponse = currencyConverterFixerIo.FindRate(currency);

                var reply = activity.CreateReply($"TL karşılığını görmek istediğiniz para birimini giriniz ? (💵) (💶)");

                if (currencyResponse.Status != Enum.Status.Success)
                {
                    Logger.Error($"Currency response not created succesfulyl, Detail : {JsonConvert.SerializeObject(currencyResponse)}");
                }
                else
                {
                    reply = activity.CreateReply($"1 {currency.Name} = {currencyResponse.Rate} TL");
                    Logger.Debug($"Bot answered, Detail : 1 {currency.Name} = {currencyResponse.Rate} TL");
                }

                await connector.Conversations.ReplyToActivityAsync(reply);
            }
            else
            {
                HandleSystemMessage(activity);
            }



            var response = Request.CreateResponse(HttpStatusCode.OK);

            return(response);
        }