コード例 #1
0
        public HttpResponseMessage Tsuke([FromBody] SlackParameters param)
        {
            var    response = new SlackResponseParameter();
            var    calc     = new Calculator();
            string retval   = string.Empty;

            try
            {
                var slotName = Environment.GetEnvironmentVariable("SlackTokenOkami") ?? "None";
                if (slotName.Equals("None"))
                {
                    return(Result(HttpStatusCode.OK, "あなた誰?"));
                }

                // Optionがclearならtsukeをクリア、showなら支払記録を照会する
                if (param.text.Equals("clear"))
                {
                    int truncResult = calc.TruncateOrderTable();
                    retval = "支払記録をリセットしましたよ。";
                }
                else if (param.text.Equals("show"))
                {
                    retval = calc.FetchPaymentResultByName();
                }
                else if (param.text.Equals("showlog"))
                {
                    retval = calc.FetchAllLog();
                }
                else
                {
                    retval = "よくわからないわ。";
                }

                // orderlogに存在する支払者リストを取得して、支払い合計金額を支払者別に取得する
                response.text          = retval;
                response.response_type = "in_channel";
            }
            catch (Exception e)
            {
                response.text = "なにかおかしいわね... " + e.StackTrace;
            }
            return(Result(HttpStatusCode.OK, response));
        }
コード例 #2
0
        public HttpResponseMessage Oaiso([FromBody] SlackParameters param)
        {
            int amount   = 0;
            var response = new SlackResponseParameter();

            string[] values = param.text.Split(' ');

            try
            {
                var slotName = Environment.GetEnvironmentVariable("SlackToken") ?? "None";
                if (slotName.Equals("None"))
                {
                    return(Result(HttpStatusCode.OK, "お前誰?"));
                }

                // 受け取ったtextをチェック。支払者と金額が正しく入力されていればOK.
                if ((values.Length == 2) && Int32.TryParse(values[1], out amount))
                {
                    // 支払者と金額をDB登録して、その結果を受け取る
                    var calc       = new Calculator();
                    int execRetval = calc.Exec(values[0].ToString(), amount, param.user_id);

                    // 登録に成功したら、orderlogに存在する支払者リストを取得して、支払い合計金額を支払者別に取得する
                    response.text = (execRetval == 1) ? "支払いを記録したぜ。" : "支払いの記録に失敗したぜ?";
                }
                else
                {
                    response.text = "なに言ってんだお前?";
                }
            }
            catch (Exception e)
            {
                response.text = "なんかヘンだぜ?" + e.StackTrace;
            }
            response.response_type = "in_channel";
            return(Result(HttpStatusCode.OK, response));
        }