Exemplo n.º 1
0
            public string Post(SlackAuthMqRequest req)
            {
                TenantDbFactory dbFactory = new TenantDbFactory(req.TenantAccountId, this.Redis);

                if (req.IsNew)
                {
                    try
                    {
                        string sql = "UPDATE eb_users SET slackjson = @slackjson WHERE id = @id RETURNING id";

                        var id = dbFactory.DataDB.DoQuery <Int32>(sql, new DbParameter[] {
                            dbFactory.DataDB.GetNewParameter("slackjson", NpgsqlTypes.NpgsqlDbType.Json, EbSerializers.Json_Serialize(req.SlackJson)),
                            dbFactory.DataDB.GetNewParameter("id", System.Data.DbType.Int32, req.UserId)
                        });
                    }

                    catch (Exception e)
                    {
                        return(null);
                    }
                }
                else
                {
                }
                return(null);
            }
Exemplo n.º 2
0
            public string Post(FileMetaPersistMqRequest request)
            {
                string tag = string.Empty;

                if (request.FileDetails.MetaDataDictionary.Count != 0)
                {
                    foreach (var items in request.FileDetails.MetaDataDictionary)
                    {
                        tag = string.Join(",", items.Value);
                    }
                }
                TenantDbFactory tenantDbFactory = new TenantDbFactory(request.TenantAccountId, this.Redis);

                string sql = "INSERT INTO eb_files(userid, objid, length, filetype, tags, bucketname, uploaddatetime) VALUES(@userid, @objid, @length, @filetype,@tags,@bucketname, CURRENT_TIMESTAMP) RETURNING id";

                DbParameter[] parameters =
                {
                    tenantDbFactory.ObjectsDB.GetNewParameter("userid",     System.Data.DbType.Int32,  request.UserId),
                    tenantDbFactory.ObjectsDB.GetNewParameter("objid",      System.Data.DbType.String, request.FileDetails.ObjectId),
                    tenantDbFactory.ObjectsDB.GetNewParameter("length",     System.Data.DbType.Int64,  request.FileDetails.Length),
                    tenantDbFactory.ObjectsDB.GetNewParameter("filetype",   System.Data.DbType.String, request.FileDetails.FileType),
                    tenantDbFactory.ObjectsDB.GetNewParameter("tags",       System.Data.DbType.String, tag),
                    tenantDbFactory.ObjectsDB.GetNewParameter("bucketname", System.Data.DbType.String, request.BucketName)
                };
                var iCount = tenantDbFactory.ObjectsDB.DoQuery(sql, parameters);

                return(null);
            }
Exemplo n.º 3
0
        public bool Post(RefreshSolutionConnectionsMqRequest req)
        {
            using (var con = new TenantDbFactory("expressbase", this.Redis).DataDB.GetNewConnection() as Npgsql.NpgsqlConnection)
            {
                try
                {
                    con.Open();
                    string    sql = @"SELECT con_type, con_obj FROM eb_connections WHERE solution_id = @solution_id AND eb_del = false";
                    DataTable dt  = new DataTable();
                    var       ada = new Npgsql.NpgsqlDataAdapter(sql, con);
                    ada.SelectCommand.Parameters.Add(new Npgsql.NpgsqlParameter("solution_id", NpgsqlTypes.NpgsqlDbType.Text)
                    {
                        Value = req.TenantAccountId
                    });
                    ada.Fill(dt);

                    EbSolutionConnections cons = new EbSolutionConnections();
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["con_type"].ToString() == EbConnectionTypes.EbDATA.ToString())
                        {
                            cons.DataDbConnection = EbSerializers.Json_Deserialize <EbDataDbConnection>(dr["con_obj"].ToString());
                        }
                        else if (dr["con_type"].ToString() == EbConnectionTypes.EbDATA_RO.ToString())
                        {
                            cons.DataDbConnection = EbSerializers.Json_Deserialize <EbDataDbConnection>(dr["con_obj"].ToString());
                        }
                        else if (dr["con_type"].ToString() == EbConnectionTypes.EbOBJECTS.ToString())
                        {
                            cons.ObjectsDbConnection = EbSerializers.Json_Deserialize <EbObjectsDbConnection>(dr["con_obj"].ToString());
                        }
                        else if (dr["con_type"].ToString() == EbConnectionTypes.EbFILES.ToString())
                        {
                            cons.FilesDbConnection = EbSerializers.Json_Deserialize <EbFilesDbConnection>(dr["con_obj"].ToString());
                        }
                        else if (dr["con_type"].ToString() == EbConnectionTypes.EbLOGS.ToString())
                        {
                            cons.LogsDbConnection = EbSerializers.Json_Deserialize <EbLogsDbConnection>(dr["con_obj"].ToString());
                        }
                        else if (dr["con_type"].ToString() == EbConnectionTypes.SMTP.ToString())
                        {
                            cons.SMTPConnection = EbSerializers.Json_Deserialize <SMTPConnection>(dr["con_obj"].ToString());
                        }

                        // ... More to come
                    }

                    Redis.Set <EbSolutionConnections>(string.Format("EbSolutionConnections_{0}", req.TenantAccountId), cons);

                    return(true);
                }
                catch (Exception e)
                {
                    return(false);
                }
            }
        }
        public void Post(ChangeSMTPConnectionRequest request)
        {
            TenantDbFactory dbFactory = new TenantDbFactory("expressbase", this.Redis);

            request.SMTPConnection.Persist(request.TenantAccountId, dbFactory, request.IsNew);

            base.MessageProducer3.Publish(new RefreshSolutionConnectionsMqRequest()
            {
                TenantAccountId = request.TenantAccountId, UserId = request.UserId
            });
        }
Exemplo n.º 5
0
            public string Post(SlackPostMqRequest req)
            {
                TenantDbFactory dbFactory = new TenantDbFactory(req.TenantAccountId, this.Redis);

                string sql = "SELECT slackjson FROM eb_users WHERE id = @id";

                var       dt        = dbFactory.DataDB.DoQuery(sql, new DbParameter[] { dbFactory.DataDB.GetNewParameter("id", System.Data.DbType.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");
                }

                return(null);
            }