Shuxia Ning
2024-10-08 cf4967a0aebab18c5a37137f3e4c61b2d73a54bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using System.IO;
 
namespace IStation.DAL
{
    /// <summary>
    /// 文件辅助类
    /// </summary>
    public class FileHelper
    {
 
        /// <summary>
        /// 查询数据文件夹路径
        /// </summary>
        public static string GetDataFolder()
        {
            var path = Path.Combine(Settings.File.RootDirectory, Settings.File.DataFolder);
            if (!Directory.Exists(path))
                Directory.CreateDirectory(path);
            return path;
        }
 
        /// <summary>
        /// 查询工作文件夹路径
        /// </summary>
        public static string GetWorkFolder()
        {
            var dataFolder = GetDataFolder();
            var workFolder = Path.Combine(dataFolder, Settings.File.WorkFolder);
            if (!Directory.Exists(workFolder))
                Directory.CreateDirectory(workFolder);
            return workFolder;
        }
 
        /// <summary>
        /// 查询项目文件夹路径
        /// </summary>
        public static string GetProjectFolder(long projectId)
        {
            var workFolder = GetWorkFolder();
            var projectFolder = Path.Combine(workFolder, projectId.ToString());
            if (!Directory.Exists(projectFolder))
                Directory.CreateDirectory(projectFolder);
            return projectFolder;
        }
 
        /// <summary>
        /// 查询数据来源文件夹路径
        /// </summary>
        public static string GetMonitorDataSourcesFolder(long projectId, long monitorDataSourcesId)
        {
            var projectFolder = GetProjectFolder(projectId);
            var monitorDataSourcesFolder = Path.Combine(projectFolder, monitorDataSourcesId.ToString());
            if (!Directory.Exists(monitorDataSourcesFolder))
                Directory.CreateDirectory(monitorDataSourcesFolder);
            return monitorDataSourcesFolder;
        }
 
        /* /// <summary>
         /// 查询文件路径
         /// </summary>
         public static string GetFilePath<T>(long projectId, long monitorDataSourcesId)
         {
             var projectPath = GetMonitorDataSourcesFolder(projectId, monitorDataSourcesId);
             var objType = typeof(T);
             var fileName = Path.Combine(projectPath, objType.Name + Settings.File.FileExtension);
             return fileName;
         }
 
         /// <summary>
         /// 查询文件路径
         /// </summary>
         public static string GetFilePath<T>(string folderPath) where T : class
         {
             if (!Directory.Exists(folderPath))
                 Directory.CreateDirectory(folderPath);
             var objType = typeof(T);
             var fileName = Path.Combine(folderPath, objType.Name + Settings.File.FileExtension);
             return fileName;
         }*/
 
        /// <summary>
        /// 查询文件路径
        /// </summary>
        public static string GetFilePath<T>(string folderPath) where T : class
        {
            if (!Directory.Exists(folderPath))
                Directory.CreateDirectory(folderPath);
            var objType = typeof(T);
            var fileName = Path.Combine(folderPath, objType.Name + Settings.File.FileExtension);
            return fileName;
        }
 
        /// <summary>
        /// 保存对象到文件中
        /// </summary>
        public static void SaveObjectFile<T>(string fileName, T t) where T : class
        {
            var str = JsonHelper.Object2FormatJson(t);
            File.WriteAllText(fileName, str);
        }
 
        /// <summary>
        /// 查询文件对象
        /// </summary>
        public static T GetFileObject<T>(string fileName) where T : class
        {
            if (!File.Exists(fileName))
                return default;
            var str = File.ReadAllText(fileName);
            if (string.IsNullOrEmpty(str))
                return default;
            return JsonHelper.Json2Object<T>(str);
        }
 
    }
}