Ejemplo n.º 1
0
 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;
     }
 }
Ejemplo n.º 2
0
        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);
        }