Example #1
0
        public IHttpActionResult Post()
        {
            var     req  = Request.Content.ReadAsStreamAsync().Result;
            var     body = new StreamReader(req).ReadToEnd();
            dynamic json = JsonConvert.DeserializeObject(body);

            var parameters  = json.result.parameters;
            var userId      = MessageHandler.SenderId;
            var userHandler = new UserHandler();

            if ((string)json.result.action == "routes")
            {
                var    origin   = (string)parameters["origin"];
                var    dest     = (string)parameters["destination"];
                var    currency = userHandler.GetCurrency(userId) ?? "USD";
                string currencyCulture;
                Currency.currencies.TryGetValue(currency, out currencyCulture);

                RoutesHandler.EntryPoint(origin, dest, currencyCulture ?? "chr-Cher-US");

                return(Ok());
            }
            else if ((string)json.result.action == "setCurrency")
            {
                var currency = (string)parameters["currency"];

                var newCurrency = userHandler.SetCurrency(userId, currency);

                var message = !string.IsNullOrEmpty(newCurrency)
                    ? $"Currency updated to {newCurrency} ({Currency.CurrencyNames[newCurrency]})"
                    : $"Sorry but {currency} is not currently supported :/. Try again with another one.";

                MessageHandler.SendTextMessage(message);

                return(Ok());
            }
            else if ((string)json.result.action == "showSaved")
            {
                var attr = (string)parameters["attr"];

                ShowHandler.EntryPoint(userId, attr);

                return(Ok());
            }

            return(Ok());
        }