提交记录修改Core/Librarys/SQLite/StatisticContext.cs+4 −0看文件
新增Core/Models/HoursLogModel.cs+33 −0看文件
修改Core/Servicers/Instances/Data.cs+40 −1看文件
| @@ -15,6 +15,10 @@ namespace Core.Librarys.SQLite | ||
| 15 | 15 | /// 每日数据 |
| 16 | 16 | /// </summary> |
| 17 | 17 | public DbSet<DailyLogModel> DailyLog { get; set; } |
| 18 | 新增: /// <summary> | |
| 19 | 新增: /// 时段数据 | |
| 20 | 新增: /// </summary> | |
| 21 | 新增: public DbSet<HoursLogModel> HoursLog { get; set; } | |
| 18 | 22 | |
| 19 | 23 | // public StatisticContext(string n) |
| 20 | 24 | //: base("StatisticContext") |
| @@ -0,0 +1,33 @@ | ||
| 1 | 新增:using System; | |
| 2 | 新增:using System.Collections.Generic; | |
| 3 | 新增:using System.Linq; | |
| 4 | 新增:using System.Text; | |
| 5 | 新增:using System.Threading.Tasks; | |
| 6 | 新增: | |
| 7 | 新增:namespace Core.Models | |
| 8 | 新增:{ | |
| 9 | 新增: /// <summary> | |
| 10 | 新增: /// 每小时的使用数据 | |
| 11 | 新增: /// </summary> | |
| 12 | 新增: public class HoursLogModel | |
| 13 | 新增: { | |
| 14 | 新增: public int ID { get; set; } | |
| 15 | 新增: /// <summary> | |
| 16 | 新增: /// 统计时段(YYYY-MM-dd HH:00:00) | |
| 17 | 新增: /// </summary> | |
| 18 | 新增: public DateTime DataTime { get; set; } | |
| 19 | 新增: /// <summary> | |
| 20 | 新增: /// 使用时长(单位:秒) | |
| 21 | 新增: /// </summary> | |
| 22 | 新增: public int Time { get; set; } = 0; | |
| 23 | 新增: /// <summary> | |
| 24 | 新增: /// 进程名称 | |
| 25 | 新增: /// </summary> | |
| 26 | 新增: public string ProcessName { get; set; } | |
| 27 | 新增: | |
| 28 | 新增: /// <summary> | |
| 29 | 新增: /// 进程文件(记录以防止进程名称重复) | |
| 30 | 新增: /// </summary> | |
| 31 | 新增: public string File { get; set; } | |
| 32 | 新增: } | |
| 33 | 新增:} | |
| @@ -39,6 +39,32 @@ namespace Core.Servicers.Instances | ||
| 39 | 39 | { |
| 40 | 40 | res.Time += seconds; |
| 41 | 41 | } |
| 42 | 新增: | |
| 43 | 新增: // 分时段记录数据 | |
| 44 | 新增: | |
| 45 | 新增: // 当前时段 | |
| 46 | 新增: var nowtime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, 0, 0); | |
| 47 | 新增: var hourslog = db.HoursLog.SingleOrDefault( | |
| 48 | 新增: m => | |
| 49 | 新增: m.DataTime == nowtime | |
| 50 | 新增: && m.ProcessName == processName | |
| 51 | 新增: && m.File == file); | |
| 52 | 新增: if (hourslog == null) | |
| 53 | 新增: { | |
| 54 | 新增: // 没有时创建 | |
| 55 | 新增: db.HoursLog.Add(new Models.HoursLogModel() | |
| 56 | 新增: { | |
| 57 | 新增: DataTime = nowtime, | |
| 58 | 新增: ProcessName = processName, | |
| 59 | 新增: File = file, | |
| 60 | 新增: Time = seconds | |
| 61 | 新增: }); | |
| 62 | 新增: } | |
| 63 | 新增: else | |
| 64 | 新增: { | |
| 65 | 新增: hourslog.Time += seconds; | |
| 66 | 新增: } | |
| 67 | 新增: | |
| 42 | 68 | db.SaveChanges(); |
| 43 | 69 | } |
| 44 | 70 | } |
| @@ -117,9 +143,22 @@ namespace Core.Servicers.Instances | ||
| 117 | 143 | if (res != null) |
| 118 | 144 | { |
| 119 | 145 | res.Time += seconds; |
| 120 | 删除: db.SaveChanges(); | |
| 121 | 146 | } |
| 122 | 147 | |
| 148 | 新增: // 分时段记录数据 | |
| 149 | 新增: | |
| 150 | 新增: // 当前时段 | |
| 151 | 新增: var nowtime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, 0, 0); | |
| 152 | 新增: var hourslog = db.HoursLog.SingleOrDefault( | |
| 153 | 新增: m => | |
| 154 | 新增: m.DataTime == nowtime | |
| 155 | 新增: && m.ProcessName == processName); | |
| 156 | 新增: if (hourslog != null) | |
| 157 | 新增: { | |
| 158 | 新增: hourslog.Time += seconds; | |
| 159 | 新增: } | |
| 160 | 新增: db.SaveChanges(); | |
| 161 | 新增: | |
| 123 | 162 | } |
| 124 | 163 | } |
| 125 | 164 | |

