public void Post(SlackPostRequest request) { try { this.MessageProducer3.Publish(new SlackPostMqRequest { Payload = request.Payload, PostType = request.PostType, TenantAccountId = request.TenantAccountId, UserId = request.UserId }); //return true; } catch (Exception e) { //return false; } }
public bool Post(SlackPostRequest req) { string sql = "SELECT slackjson FROM eb_users WHERE id = @id"; EbConnectionFactory dbFactory = new EbConnectionFactory(req.SolnId, this.Redis); try { var dt = dbFactory.DataDB.DoQuery(sql, new DbParameter[] { dbFactory.DataDB.GetNewParameter("id", EbDbTypes.Int32, req.UserId) }); var json = dt.Rows[0][0]; SlackJson slackJson = JsonConvert.DeserializeObject <SlackJson>(json.ToString()); var client = new RestClient("https://slack.com"); if (req.PostType == 1) { var request = new RestRequest("api/files.upload", Method.POST); request.AddParameter("token", slackJson.AccessToken); request.AddParameter("user_id", slackJson.UserId); request.AddParameter("team_id", slackJson.TeamId); request.AddParameter("channels", req.Payload.Channel); if (!string.IsNullOrEmpty(req.Payload.Text)) { request.AddParameter("content", req.Payload.Text); } if (req.Payload.SlackFile != null && req.Payload.SlackFile.FileByte != null && req.Payload.SlackFile.FileByte.Length > 0) { request.AddFile("file", req.Payload.SlackFile.FileByte, req.Payload.SlackFile.FileName, contentType: "multipart/form-data"); } //Execute the request var res = client.ExecuteAsyncPost(request, SlackCallBack, "POST"); } else if (req.PostType == 0) { var request = new RestRequest("api/chat.postMessage", Method.POST); request.AddParameter("token", slackJson.AccessToken); request.AddParameter("channels", req.Payload.Channel); request.AddParameter("user_id", slackJson.UserId); request.AddParameter("team_id", slackJson.TeamId); if (!string.IsNullOrEmpty(req.Payload.Text)) { request.AddParameter("text", req.Payload.Text); } //Execute the request var res = client.ExecuteAsyncPost(request, SlackCallBack, "POST"); } } catch (Exception e) { Log.Info("Exception: " + e.Message.ToString()); return(false); } return(true); }