예제 #1
0
        /// <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);
        }
예제 #2
0
        public void TestTsr()
        {
            var tsr = new Tsr
            {
                HeadNumber = 1,
                SiteNumber = 1,
            };

            TestRoundTripEquality(tsr);
            tsr.TestSumOfSquares = 47.001f;
            TestRoundTripEquality(tsr);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        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);
            }
        }
예제 #5
0
        /// <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);
        }