Пример #1
0
        private static TableHead ParseTableHead(
            XElement tableHeadTag,
            BaseStyle tablestyle,
            IDictionary <string, BaseStyle> classes)
        {
            var       attrClass = tableHeadTag.Attributes("class").FirstOrDefault();
            BaseStyle theadStyle;

            if (attrClass != null)
            {
                var theadClasses = GetStylesByClasses(classes, attrClass);
                theadStyle = StyleFactory.MergeStyles(tablestyle, theadClasses);
            }
            else
            {
                theadStyle = tablestyle;
            }

            var rows = tableHeadTag.Elements("tr").Select(tr => ParseHeadRow(tr, theadStyle, classes));

            var thead = new TableHead
            {
                Style = theadStyle,
                Rows  = rows.ToArray()
            };

            return(thead);
        }
Пример #2
0
        /// <summary>
        /// 批量更新(事务)
        /// </summary>
        /// <returns></returns>
        public bool Update(int flag = 0)
        {
            bool result = false;

            if (TableHead != null)
            {
                try
                {
                    #region 从表单页面获取数据
                    TableHead.GenerateObjectFromRequest("");
                    EmployeePayrolls.GenerateObjectFromRequest("");
                    EmployeePayrolls.TheadId = TableHead.TheadId;
                    #endregion
                    List <EntityBase> listUpdate = new List <EntityBase>();
                    listUpdate.Add(TableHead);
                    listUpdate.Add(EmployeePayrolls);

                    result = TableHead.db.CommitTran(listUpdate.ToArray()); // 表头 主表表数据保存和更新

                    //  bool result1 = false;

                    //  result1=  EmployeePayrolls.db.CommitTran(listUpdate.ToArray()); //表身 表数据更新
                }
                catch (Exception ex)
                {
                    result = false;
                }
            }
            return(result);
        }
Пример #3
0
        public HtmlTable(string htmlStr)
        {
            _htmlStr = htmlStr.Replace("\r", "").Replace("\n", "");
            StringFinder sf = new StringFinder(_htmlStr);

            if (sf.FindNext("<thead") != -1)
            {
                TableHead = new TableHead();
                sf.FindNext("</thead>", false);
                string ori = sf.Cut();
                SetRows(TableHead, ori, "tr");
            }

            if (sf.FindNext("<tbody") != -1)
            {
                TableBody = new TableBody();
                sf.FindNext("</tbody>");
                string ori = sf.Cut();
                SetRows(TableBody, ori, "tr");
            }

            if (sf.FindNext("<tfoot") != -1)
            {
                TableFoot = new TableFoot();
                sf.FindNext("</tfoot>");
                string ori = sf.Cut();
                SetRows(TableFoot, ori, "tr");
            }
        }
Пример #4
0
        public ObjectResult GetTableKeys(string tableName)
        {
            TableHead        th   = new TableHead();
            List <SelectDto> keys = new List <SelectDto>();

            var relation = _context.Relation.Where(x => x.TableName == tableName).FirstOrDefault();

            if (relation == null)
            {
                return(Ok(new { code = 1, msg = "表名不存在,请检查对应表" }));
            }


            var typeName = (relation.DtoNameSpace.IsNullOrEmpty() ? "DotnetCoreApi.Models" : relation.DtoNameSpace) + "." + relation.TableDtoName;

            //switch (tableName)
            //{
            //    case "C-2-55水泥混凝土面层检验记录表":
            //        GetObjKeys(new CementConcrete(), keys);
            //        break;
            //    case "C-2-74钻(挖)孔灌注桩、地下连续墙钢筋安装检验记录表":
            //        GetObjKeys(new RebarSetting(), keys);
            //        break;
            //    default:
            //        break;
            //}
            GetObjKeys(typeName, keys);
            return(Ok(new { code = 0, msg = "", data = keys }));
        }
Пример #5
0
        /// <summary>
        /// 通用查询方法
        /// </summary>
        /// <typeparam name="T">dto类</typeparam>
        /// <typeparam name="F">dto类下的Data类</typeparam>
        /// <param name="dto"></param>
        /// <returns></returns>
        public ObjectResult GetTableDto <T, F>(GetTableDataDto dto) where T : class, BaseData <T, F>, new() where F : class, BaseParent, new()
        {
            TableHead th = _context.TableHead.Where(x => x.Id == dto.Id).FirstOrDefault();

            if (th == null)
            {
                T entity = new T()
                {
                    TableName = dto.TableName
                };

                List <F> lst = new List <F>();
                for (int i = 0; i < dto.InstanceCount; i++)
                {
                    F s = new F();
                    lst.Add(s);
                }
                entity.Data = lst;
                return(Ok(new { code = 0, msg = "", data = entity, postion = GetPostion(dto.TableName) }));
            }
            else
            {
                var entity = _mapper.Map <T>(th);
                var lst    = _helper.Quyery <F>(x => x.TableHeadId == th.Id).ToList();
                entity.Data = lst;
                return(Ok(new { code = 0, msg = "", data = entity, postion = GetPostion(dto.TableName) }));
            }
        }
Пример #6
0
        private ObjectResult GetRebarSetting(GetTableDataDto dto)
        {
            TableHead th = _context.TableHead.Where(x => x.Id == dto.Id).FirstOrDefault();

            if (th == null)
            {
                RebarSetting entity = new RebarSetting()
                {
                    TableName = dto.TableName
                };
                List <GangJingAnZhuang> lst = new List <GangJingAnZhuang>();
                for (int i = 0; i < GetDataLength(dto.TableName, "Data"); i++)
                {
                    GangJingAnZhuang s = new GangJingAnZhuang();
                    lst.Add(s);
                }
                entity.Data = lst;
                return(Ok(new { code = 0, msg = "", data = entity, postion = GetPostion(dto.TableName) }));
            }
            else
            {
                var entity = _mapper.Map <RebarSetting>(th);
                var lst    = _context.GangJingAnZhuang.Where(x => x.TableHeadId == th.Id).ToList();
                entity.Data = lst;
                return(Ok(new { code = 0, msg = "", data = entity, postion = GetPostion(dto.TableName) }));
            }
        }
Пример #7
0
        private ObjectResult GetCementConcrete(GetTableDataDto dto)
        {
            TableHead th = _context.TableHead.Where(x => x.Id == dto.Id).FirstOrDefault();

            if (th == null)
            {
                CementConcrete entity = new CementConcrete()
                {
                    TableName = dto.TableName
                };
                List <ShuiNiHunLingTu> lst = new List <ShuiNiHunLingTu>();
                for (int i = 0; i < GetDataLength(dto.TableName, "Data"); i++)
                {
                    ShuiNiHunLingTu s = new ShuiNiHunLingTu();
                    lst.Add(s);
                }
                entity.Data = lst;
                return(Ok(new { code = 0, msg = "", data = entity, postion = GetPostion(dto.TableName) }));
            }
            else
            {
                var entity = _mapper.Map <CementConcrete>(th);
                var lst    = _context.ShuiNiHunLingTu.Where(x => x.TableHeadId == th.Id).ToList();
                entity.Data = lst;
                return(Ok(new { code = 0, msg = "", data = entity, postion = GetPostion(dto.TableName) }));
            }
        }
Пример #8
0
        internal static void VerifyCharisSILBoldItalicHead(TableHead target)
        {
            Assert.IsTrue(target.MajorVersion == 1, "Error: unexpected Version");
            Assert.IsTrue(target.MinorVersion == 0, "Error: unexpected Version");
            Assert.IsTrue(target.FontRevision == (OTFixed)0x00050000, "Error: unexpected FontRevision");
            Assert.IsTrue(target.CheckSumAdjustment == 0xD3D50036, "Error: unexpected CheckSumAdjustment");
            Assert.IsTrue(target.MagicNumber == 0x5F0F3CF5, "Error: unexpected MagicNumber");
            Assert.IsTrue(target.FlagsRaw == 0x0019, "Error: unexpected FlagsRaw");
            Assert.IsTrue(target.UnitsPerEm == 2048, "Error: unexpected UnitsPerEm");
            Assert.IsTrue(target.CreatedRaw == 3496972867, "Error: unexpected CreatedRaw");
            Assert.IsTrue(target.ModifiedRaw == 3496972890, "Error: unexpected ModifiedRaw");
            Assert.IsTrue(target.XMin == -1517, "Error: unexpected XMin");
            Assert.IsTrue(target.YMin == -1092, "Error: unexpected YMin");
            Assert.IsTrue(target.XMax == 6244, "Error: unexpected XMax");
            Assert.IsTrue(target.YMax == 2600, "Error: unexpected YMax");
            Assert.IsTrue(target.MacStyleRaw == 0x0003, "Error: unexpected MacStyleRaw");
            Assert.IsTrue(target.LowestRecPPEm == 9, "Error: unexpected LowestRecPPEm");
            Assert.IsTrue(target.FontDirectionHint == 2, "Error: unexpected FontDirectionHint");
            Assert.IsTrue(target.IndexToLocFormat == 1, "Error: unexpected IndexToLocFormat");
            Assert.IsTrue(target.GlyphDataFormat == 0, "Error: unexpected GlyphDataFormat");

            TableHead.HeadFlags flags = target.Flags;
            Assert.IsTrue(flags.BaselineAt0, "Error: unexpected Flags value");
            Assert.IsFalse(flags.LeftSideBearingAt0, "Error: unexpected Flags value");
            Assert.IsFalse(flags.InstructionsDependOnPointSize, "Error: unexpected Flags value");
            Assert.IsTrue(flags.ForceIntegerPPEmCalculations, "Error: unexpected Flags value");
            Assert.IsTrue(flags.InstructionsMayAlterAdvance, "Error: unexpected Flags value");
            Assert.IsFalse(flags.Apple_IsForVertical, "Error: unexpected Flags value");
            Assert.IsFalse(flags.Apple_Reserved6, "Error: unexpected Flags value");
            Assert.IsFalse(flags.Apple_RequiresComplexLayout, "Error: unexpected Flags value");
            Assert.IsFalse(flags.Apple_HasGxDefaultMortEffects, "Error: unexpected Flags value");
            Assert.IsFalse(flags.Apple_HasStrongRtlGlyphs, "Error: unexpected Flags value");
            Assert.IsFalse(flags.Apple_HasIndicRearrangementEffects, "Error: unexpected Flags value");
            Assert.IsFalse(flags.IsAgfaMTELossless, "Error: unexpected Flags value");
            Assert.IsFalse(flags.IsConverted, "Error: unexpected Flags value");
            Assert.IsFalse(flags.IsClearTypeOptimized, "Error: unexpected Flags value");
            Assert.IsFalse(flags.LastResortFont, "Error: unexpected Flags value");
            Assert.IsFalse(flags.Reserved15, "Error: unexpected Flags value");

            DateTime c = new DateTime(2014, 10, 24, 5, 21, 7);

            Assert.AreEqual(c, target.Created, "Error: unexpected created date");

            DateTime m = new DateTime(2014, 10, 24, 5, 21, 30);

            Assert.AreEqual(m, target.Modified, "Error: unexpected modified date");

            TableHead.HeadMacStyle macStyle = target.MacStyle;
            Assert.IsTrue(macStyle.Bold, "Error: unexpected MacStyle value");
            Assert.IsTrue(macStyle.Italic, "Error: unexpected MacStyle value");
            Assert.IsFalse(macStyle.Underline, "Error: unexpected MacStyle value");
            Assert.IsFalse(macStyle.Outline, "Error: unexpected MacStyle value");
            Assert.IsFalse(macStyle.Shadow, "Error: unexpected MacStyle value");
            Assert.IsFalse(macStyle.Condensed, "Error: unexpected MacStyle value");
            Assert.IsFalse(macStyle.Extended, "Error: unexpected MacStyle value");
            Assert.IsTrue(macStyle.Reserved == 0, "Error: unexpected MacStyle value");
        }
Пример #9
0
        public void HeadCalculatedChecksumsTest()
        {
            OTFile f   = TestFonts.GetOTFile_AndikaRegular();
            uint?  idx = f.GetFont(0).OffsetTable.GetTableRecordIndex((OTTag)("head"));

            Assert.IsTrue(idx.HasValue);
            OTTable table;
            bool    result = f.GetFont(0).TryGetTable((OTTag)("head"), out table);

            Assert.IsTrue(result);
            TableHead head = (TableHead)table;

            Assert.AreEqual(head.CalculatedChecksum, head.TableRecordChecksum);
            Assert.AreEqual(head.CalculatedCheckSumAdjustment, head.CheckSumAdjustment);

            f   = TestFonts.GetOTFile_CharisSILBold();
            idx = f.GetFont(0).OffsetTable.GetTableRecordIndex((OTTag)("head"));
            Assert.IsTrue(idx.HasValue);
            table  = null;
            result = f.GetFont(0).TryGetTable((OTTag)("head"), out table);
            Assert.IsTrue(result);
            head = (TableHead)table;
            Assert.AreEqual(head.CalculatedChecksum, head.TableRecordChecksum);
            Assert.AreEqual(head.CalculatedCheckSumAdjustment, head.CheckSumAdjustment);

            f   = TestFonts.GetOTFile_CharisSILBoldItalic();
            idx = f.GetFont(0).OffsetTable.GetTableRecordIndex((OTTag)("head"));
            Assert.IsTrue(idx.HasValue);
            table  = null;
            result = f.GetFont(0).TryGetTable((OTTag)("head"), out table);
            Assert.IsTrue(result);
            head = (TableHead)table;
            Assert.AreEqual(head.CalculatedChecksum, head.TableRecordChecksum);
            Assert.AreEqual(head.CalculatedCheckSumAdjustment, head.CheckSumAdjustment);

            f   = TestFonts.GetOTFile_NotoNastaliqUrduRegular();
            idx = f.GetFont(0).OffsetTable.GetTableRecordIndex((OTTag)("head"));
            Assert.IsTrue(idx.HasValue);
            table  = null;
            result = f.GetFont(0).TryGetTable((OTTag)("head"), out table);
            Assert.IsTrue(result);
            head = (TableHead)table;
            Assert.AreEqual(head.CalculatedChecksum, head.TableRecordChecksum);
            Assert.AreEqual(head.CalculatedCheckSumAdjustment, head.CheckSumAdjustment);

            f   = TestFonts.GetOTFile_SelawikRegular();
            idx = f.GetFont(0).OffsetTable.GetTableRecordIndex((OTTag)("head"));
            Assert.IsTrue(idx.HasValue);
            table  = null;
            result = f.GetFont(0).TryGetTable((OTTag)("head"), out table);
            Assert.IsTrue(result);
            head = (TableHead)table;
            Assert.AreEqual(head.CalculatedChecksum, head.TableRecordChecksum);
            Assert.AreEqual(head.CalculatedCheckSumAdjustment, head.CheckSumAdjustment);
        }
Пример #10
0
 public override TableHead VisitTableHead(TableHead tableHead)
 {
     tableHead = tableHeadDelegate?.Invoke(tableHead) ?? tableHead;
     return(base.VisitTableHead(tableHead));
 }
Пример #11
0
 public Table()
 {
     Head   = new TableHead();
     Footer = new TableFooter();
     Body   = new TableBody();
 }