/// <summary> /// 保存为JSON文件 /// </summary> /// <param name="CoverJson">写入JSON文件,默认 false</param> /// <returns></returns> public ActionResultVM SaveAsJson(bool CoverJson = false) { var vm = new ActionResultVM(); var dicKey = new Dictionary <string, object> { { "SysButton", Tsb.ToList() }, { "SysDictionary", Tsd.ToList() }, { "SysMenu", Tsm.ToList() }, { "SysRole", Tsr.ToList() }, { "SysTableConfig", Tstc.ToList() }, { "SysUser", Tsu.ToList() }, { "TempExample", Tte.ToList() }, { "TempInvoiceDetail", Ttid.ToList() }, { "TempInvoiceMain", Ttim.ToList() } }; vm.data = dicKey; if (CoverJson) { Core.FileTo.WriteText(vm.ToJson(), JsonPath, JsonName, false); } vm.Set(ARTag.success); return(vm); }
public void TestTsr() { var tsr = new Tsr { HeadNumber = 1, SiteNumber = 1, }; TestRoundTripEquality(tsr); tsr.TestSumOfSquares = 47.001f; TestRoundTripEquality(tsr); }
/// <summary> /// 根据JSON写入数据 /// </summary> /// <param name="isClear">是否清理表,默认清理</param> /// <returns></returns> public int AddForJson(bool isClear = true) { var json = Core.FileTo.ReadText(JsonPath, JsonName); var objs = json.ToJObject()["data"]; var jsb = objs["SysButton"].ToString().ToEntitys <SysButton>(); var jsd = objs["SysDictionary"].ToString().ToEntitys <SysDictionary>(); var jsm = objs["SysMenu"].ToString().ToEntitys <SysMenu>(); var jsr = objs["SysRole"].ToString().ToEntitys <SysRole>(); var jstc = objs["SysTableConfig"].ToString().ToEntitys <SysTableConfig>(); var jsu = objs["SysUser"].ToString().ToEntitys <SysUser>(); var jte = objs["TempExample"].ToString().ToEntitys <TempExample>(); var jtid = objs["TempInvoiceDetail"].ToString().ToEntitys <TempInvoiceDetail>(); var jtim = objs["TempInvoiceMain"].ToString().ToEntitys <TempInvoiceMain>(); Tsb = Cdb.SysButton; Tsd = Cdb.SysDictionary; Tsm = Cdb.SysMenu; Tsr = Cdb.SysRole; Tstc = Cdb.SysTableConfig; Tsu = Cdb.SysUser; Tte = Cdb.TempExample; Ttid = Cdb.TempInvoiceDetail; Ttim = Cdb.TempInvoiceMain; var num = 0; if (isClear) { Tsb.RemoveRange(Tsb.ToList()); Tsd.RemoveRange(Tsd.ToList()); Tsm.RemoveRange(Tsm.ToList()); Tsr.RemoveRange(Tsr.ToList()); Tstc.RemoveRange(Tstc.ToList()); Tsu.RemoveRange(Tsu.ToList()); Tte.RemoveRange(Tte.ToList()); Ttid.RemoveRange(Ttid.ToList()); Ttim.RemoveRange(Ttim.ToList()); num = Cdb.SaveChanges(); } Tsb.AddRange(jsb); Tsd.AddRange(jsd); Tsm.AddRange(jsm); Tsr.AddRange(jsr); Tstc.AddRange(jstc); Tsu.AddRange(jsu); Tte.AddRange(jte); Ttid.AddRange(jtid); Ttim.AddRange(jtim); Cdb.AddRange(jsb); num += Cdb.SaveChanges(); return(num); }
private void WriteTsr(List <TestResult> list) { Tsr tsr; var groupBySite = list.GroupBy(x => x.SiteNumber); foreach (var colBySite in groupBySite) { List <TestResult> itemsBySite = colBySite.ToList(); var groupByTestName = itemsBySite.GroupBy(x => x.TestName); foreach (var colByTestName in groupByTestName) { List <TestResult> itemsByTestNumber = colByTestName.ToList(); tsr = new Tsr(); tsr.HEAD_NUM = 1; tsr.SITE_NUM = colBySite.Key; tsr.RecordHeader.REC_LEN += 1; tsr.TEST_TYP = 'P'; tsr.TEST_NUM = itemsByTestNumber.First(x => x.TestName == colByTestName.Key).TestNumber; tsr.RecordHeader.REC_LEN += 4; tsr.EXEC_CNT = (uint)itemsByTestNumber.Count; tsr.FAIL_CNT = (uint)itemsByTestNumber.Count(x => x.PFFlag == false); tsr.ALRM_CNT = 0; tsr.TEST_NAM = colByTestName.Key; tsr.RecordHeader.REC_LEN += (ushort)tsr.TEST_NAM.Length; tsr.TEST_LBL = tsr.TEST_NAM; tsr.RecordHeader.REC_LEN += (ushort)tsr.TEST_LBL.Length; tsr.OPT_FLAG = (byte)0xC8; tsr.RecordHeader.REC_LEN += 1; tsr.TEST_TIM = (float)itemsByTestNumber.Average(x => x.Duration); tsr.RecordHeader.REC_LEN += 4; tsr.TEST_MIN = (float)itemsByTestNumber.Min(x => x.Result); tsr.RecordHeader.REC_LEN += 4; tsr.TEST_MAX = (float)itemsByTestNumber.Max(x => x.Result); tsr.RecordHeader.REC_LEN += 4; tsr.TST_SUMS = (float)itemsByTestNumber.Sum(x => x.Result); tsr.RecordHeader.REC_LEN += 4; double sqrs = 0; itemsByTestNumber.ForEach(x => sqrs += Math.Pow(x.Result, 2.0)); tsr.TST_SQRS = (float)sqrs; tsr.RecordHeader.REC_LEN += 4; sfw.WriteRecord(tsr); } } var group = list.GroupBy(x => x.TestName); foreach (var col in group) { List <TestResult> items = col.ToList <TestResult>(); tsr = new Tsr(); tsr.HEAD_NUM = 255; tsr.SITE_NUM = 0; tsr.RecordHeader.REC_LEN += 1; tsr.TEST_TYP = 'P'; tsr.TEST_NUM = items.First(x => x.TestName == col.Key).TestNumber; tsr.RecordHeader.REC_LEN += 4; tsr.EXEC_CNT = (uint)items.Count; tsr.FAIL_CNT = (uint)items.Count(x => x.PFFlag == false); tsr.ALRM_CNT = 0; tsr.TEST_NAM = col.Key; tsr.RecordHeader.REC_LEN += (ushort)tsr.TEST_NAM.Length; tsr.TEST_LBL = tsr.TEST_NAM; tsr.RecordHeader.REC_LEN += (ushort)tsr.TEST_LBL.Length; tsr.OPT_FLAG = (byte)0xC8; tsr.RecordHeader.REC_LEN += 1; tsr.TEST_TIM = (float)items.Average(x => x.Duration); tsr.RecordHeader.REC_LEN += 4; tsr.TEST_MIN = (float)items.Min(x => x.Result); tsr.RecordHeader.REC_LEN += 4; tsr.TEST_MAX = (float)items.Max(x => x.Result); tsr.RecordHeader.REC_LEN += 4; tsr.TST_SUMS = (float)items.Sum(x => x.Result); tsr.RecordHeader.REC_LEN += 4; double sqrs = 0; items.ForEach(x => sqrs += Math.Pow(x.Result, 2.0)); tsr.TST_SQRS = (float)sqrs; tsr.RecordHeader.REC_LEN += 4; sfw.WriteRecord(tsr); } }
/// <summary> /// 根据JSON写入数据 /// </summary> /// <param name="isClear">是否清理表,默认清理</param> /// <returns></returns> public ActionResultVM AddForJson(bool isClear = true) { var vm = new ActionResultVM(); try { var json = Core.FileTo.ReadText(fullJsonData); var objs = json.ToJObject()["data"]; var jsb = objs["SysButton"].ToString().ToEntitys <SysButton>(); var jsd = objs["SysDictionary"].ToString().ToEntitys <SysDictionary>(); var jsm = objs["SysMenu"].ToString().ToEntitys <SysMenu>(); var jsr = objs["SysRole"].ToString().ToEntitys <SysRole>(); var jstc = objs["SysTableConfig"].ToString().ToEntitys <SysTableConfig>(); var jsu = objs["SysUser"].ToString().ToEntitys <SysUser>(); var jte = objs["TempExample"].ToString().ToEntitys <TempExample>(); var jtid = objs["TempInvoiceDetail"].ToString().ToEntitys <TempInvoiceDetail>(); var jtim = objs["TempInvoiceMain"].ToString().ToEntitys <TempInvoiceMain>(); using var db = ContextBaseFactory.CreateDbContext(); Tsb = db.SysButton; Tsd = db.SysDictionary; Tsm = db.SysMenu; Tsr = db.SysRole; Tstc = db.SysTableConfig; Tsu = db.SysUser; Tte = db.TempExample; Ttid = db.TempInvoiceDetail; Ttim = db.TempInvoiceMain; var num = 0; if (isClear) { Tsb.RemoveRange(Tsb.ToList()); Tsd.RemoveRange(Tsd.ToList()); Tsm.RemoveRange(Tsm.ToList()); Tsr.RemoveRange(Tsr.ToList()); Tstc.RemoveRange(Tstc.ToList()); Tsu.RemoveRange(Tsu.ToList()); Tte.RemoveRange(Tte.ToList()); Ttid.RemoveRange(Ttid.ToList()); Ttim.RemoveRange(Ttim.ToList()); num = db.SaveChanges(); } Tsb.AddRange(jsb); Tsd.AddRange(jsd); Tsm.AddRange(jsm); Tsr.AddRange(jsr); Tstc.AddRange(jstc); Tsu.AddRange(jsu); Tte.AddRange(jte); Ttid.AddRange(jtid); Ttim.AddRange(jtim); db.AddRange(jsb); num += db.SaveChanges(); vm.Set(num > 0); } catch (Exception ex) { vm.Set(ex); } return(vm); }