public List <FileMeta> Post(FindFilesByTagRequest request)
        {
            List <FileMeta> FileList = new List <FileMeta>();

            string    sql = @"SELECT id, userid, filestore_id, length, tags, filecategory, filetype, uploadts, eb_del FROM eb_files_ref WHERE regexp_split_to_array(tags, ',') @> @tags AND COALESCE(eb_del, 'F')='F';";
            DataTable dt  = new DataTable();

            if (EbConnectionFactory.DataDB.Vendor == DatabaseVendors.MYSQL)
            {
                throw new NotImplementedException();
            }
            else if (EbConnectionFactory.DataDB.Vendor == DatabaseVendors.PGSQL)
            {
                using (var con = this.EbConnectionFactory.DataDB.GetNewConnection() as Npgsql.NpgsqlConnection)
                {
                    try
                    {
                        con.Open();

                        var ada = new Npgsql.NpgsqlDataAdapter(sql, con);
                        ada.SelectCommand.Parameters.Add(new Npgsql.NpgsqlParameter("tags", NpgsqlTypes.NpgsqlDbType.Array | NpgsqlTypes.NpgsqlDbType.Text)
                        {
                            Value = request.Tags
                        });
                        ada.Fill(dt);

                        foreach (DataRow dr in dt.Rows)
                        {
                            FileList.Add(
                                new FileMeta()
                            {
                                FileStoreId    = dr["objid"].ToString(),
                                FileType       = dr["filetype"].ToString(),
                                Length         = (Int64)dr["length"],
                                UploadDateTime = (DateTime)dr["uploaddatetime"]
                            });
                        }
                        return(FileList);
                    }
                    catch (Exception e)
                    {
                        Log.Info("Exception:" + e.ToString());
                        return(null);
                    }
                }
            }
            return(null);
        }
Exemple #2
0
        public List <FileMeta> FindFilesByTags(int i, string tags, string bucketname)
        {
            FindFilesByTagRequest findFilesByTagRequest = new FindFilesByTagRequest();

            //tags = (string.IsNullOrEmpty(tags)) ? string.Empty : tags;
            if (string.IsNullOrEmpty(tags))
            {
                return(null);
            }
            findFilesByTagRequest.Tags = new List <string>(tags.Split(','));

            List <FileMeta> FileInfoList = new List <FileMeta>();

            FileInfoList = this.ServiceClient.Post(findFilesByTagRequest);

            return(FileInfoList);
        }
Exemple #3
0
        public List <FileMeta> Post(FindFilesByTagRequest request)
        {
            List <FileMeta> FileList = new List <FileMeta>();

            using (var con = this.TenantDbFactory.DataDB.GetNewConnection() as Npgsql.NpgsqlConnection)
            {
                try
                {
                    con.Open();
                    string    sql = @"SELECT id, userid, objid, length, tags, bucketname, filetype, uploaddatetime, eb_del FROM public.eb_files WHERE regexp_split_to_array(tags, ',') @> @tags AND COALESCE(eb_del, FALSE)=FALSE;";
                    DataTable dt  = new DataTable();
                    var       ada = new Npgsql.NpgsqlDataAdapter(sql, con);
                    ada.SelectCommand.Parameters.Add(new Npgsql.NpgsqlParameter("tags", NpgsqlTypes.NpgsqlDbType.Array | NpgsqlTypes.NpgsqlDbType.Text)
                    {
                        Value = request.Tags
                    });
                    ada.Fill(dt);

                    foreach (DataRow dr in dt.Rows)
                    {
                        FileList.Add(
                            new FileMeta()
                        {
                            ObjectId       = dr["objid"].ToString(),
                            FileType       = dr["filetype"].ToString(),
                            Length         = (Int64)dr["length"],
                            UploadDateTime = (DateTime)dr["uploaddatetime"]
                        });
                    }
                    return(FileList);
                }
                catch (Exception e)
                {
                    return(null);
                }
            }
        }