protected override void Serialize(object target, HeaderdFileContext context) { Argument.NotNull(context, nameof(context)); if (string.IsNullOrEmpty(_keyName)) { return; } _listBuilder?.Begin(GetValue(target), true); try { var writer = context.CurrentWriter; foreach (var obj in _listBuilder?.Objects ?? Array.Empty <object>()) { var cobj = _converter?.Convert(obj); if (cobj == null) { continue; } writer.Add(_keyName, cobj); } } finally { _listBuilder?.End(); } }
static void Main(string[] args) { var mySuperCar = new Car(new ExtraCarFactory()); mySuperCar.ShowInfo(); var library = new Library(); var xml = library.GetBooksXML(); var adapter = new BookAnalyzerAdapter(new BookAnalyzer()); var book = adapter.GetOldestBook(xml); var convert = new SimpleConverter(); convert.Convert("cats.mp4", "MPEG4"); IYesterdayRate yesterdayRate = new YesterdayRateProxy(new YesterdayRate()); var list = yesterdayRate.GetRate(); foreach (var rate in list) { Console.WriteLine(rate); } Console.ReadKey(true); }
protected override void Serialize(object target, IniContext context) { Argument.NotNull(context, nameof(context)); var value = GetValue(target); context.File = context.File.SetData(_section, _key, _converter?.Convert(value) ?? Array.Empty <string>()); }
public override IEnumerable <string> Convert(object?source) { _listBuilder.Begin(source, true); var temp = (from object value in _listBuilder.Objects select _baseConverter.Convert(value)).ToArray(); _listBuilder.End(); return(temp); }
private void ProgressString(SerializerMode mode, ref string str, ref object?obj) { switch (mode) { case SerializerMode.Deserialize: obj = _converter?.ConvertBack(str); break; case SerializerMode.Serialize: str = _converter?.Convert(obj) ?? string.Empty; break; default: throw new ArgumentOutOfRangeException(nameof(mode)); } }
public void NameTest() { var mapper = new SimpleMapper <UserDto, User>(); mapper.AddMapping(c => c.FirstName, c => c.Name); mapper.AddMapping(c => c.FirstLogin, c => c.Login); mapper.AddMapping(c => c.RegisterDateOne, c => c.RegisterDate); mapper.AddMapping(c => c.CredentialsDto, c => c.Credentials); mapper.AddMapping(c => c.CredentialsDto.Password, c => c.Credentials.Password); mapper.AddMapping(c => c.CredentialsDto.Token, c => c.Credentials.Token); mapper.AddMapping(c => c.CredentialsDto.Token.CurrentTokenNumber, c => c.Credentials.Token.CurrentTokenNumber); mapper.AddMapping(c => c.ActivitiesDto, c => c.Activities); var converter = new SimpleConverter <UserDto, User>(mapper); Expression <Func <User, bool> > expression = user => user.IsActive == true; converter.Convert(expression); }
protected override void Serialize(object target, HeaderdFileContext context) { Argument.NotNull(context, nameof(context)).CurrentWriter.Content = _converter?.Convert(GetValue(target)); }
protected override void Serialize(object target, HeaderdFileContext context) { var content = _converter?.Convert(GetValue(target)); Argument.NotNull(context, nameof(context)).CurrentWriter.Add(_keyName, content ?? string.Empty); }
public void WordConvertTest() { var dataSource = new DataSource { { "QuotationNo", new DataItem { Type = (int)RenderMode.Plain, Value = "QR140507000" } }, }; var item = new DataItem { Type = (int)RenderMode.Plain, Value = "2014-05-07" }; dataSource.Add("Date", item); item = new DataItem { Type = (int)RenderMode.Plain, Value = "7623" }; dataSource.Add("CustomerCode", item); item = new DataItem { Type = (int)RenderMode.Plain, Value = string.Empty }; dataSource.Add("VenderCode", item); item = new DataItem { Type = (int)RenderMode.Plain, Value = "Microsoft Corporation" }; dataSource.Add("CustomerName", item); item = new DataItem { Type = (int)RenderMode.Plain, Value = "Jon Aswad" }; dataSource.Add("To", item); item = new DataItem { Type = (int)RenderMode.Plain, Value = "张振龙[Zhenlong Zhang]" }; dataSource.Add("From", item); item = new DataItem { Type = (int)RenderMode.Plain, Value = "One Microsoft Way,ASHBURN,VA,20147" }; dataSource.Add("ToAddress", item); dataSource.Add("FromAddress", DataItem.NewItem(RenderMode.Plain, "No.98-5, Rd.19 Hangzhou Eco.& Tec. Dev. Zone Hangzhou")); dataSource.Add("ToTel", DataItem.NewItem(RenderMode.Plain, "+1(802)8647358 ")); dataSource.Add("FromTel", DataItem.NewItem(RenderMode.Plain, "+86-571-86714425-323")); dataSource.Add("ToFax", DataItem.NewItem(RenderMode.Plain, "")); dataSource.Add("FromFax", DataItem.NewItem(RenderMode.Plain, "+86-571-86714426-229")); var data = new DataTable(); var column = new DataColumn("No_0") { DataType = typeof(int) }; data.Columns.Add(column); column = new DataColumn("Item_0") { DataType = typeof(string) }; data.Columns.Add(column); column = new DataColumn("Desc_0") { DataType = typeof(string) }; data.Columns.Add(column); column = new DataColumn("Qty_0") { DataType = typeof(double) }; data.Columns.Add(column); column = new DataColumn("UP_0") { DataType = typeof(double) }; data.Columns.Add(column); column = new DataColumn("CUR_0") { DataType = typeof(string) }; data.Columns.Add(column); column = new DataColumn("AMT_0") { DataType = typeof(double) }; data.Columns.Add(column); var random = new Random(); double sum = 0.0; for (int i = 0; i < 32; i++) { double value = random.NextDouble(); DataRow row = data.NewRow(); row["No_0"] = i + 1; row["Item_0"] = string.Format("APEA30{0}", i + 1); row["Desc_0"] = string.Format("SHIELD-EMI,FENCE,FRONTSIDE,1{0}", i + 1); row["Qty_0"] = 1.0000; row["UP_0"] = value; row["CUR_0"] = "USD"; row["AMT_0"] = value; sum += value; data.Rows.Add(row); } dataSource.Add("Quotation", DataItem.NewItem(RenderMode.List, data)); dataSource.Add("Remark", DataItem.NewItem(RenderMode.Plain, @"* This quotation is set up based on current design on May-7-2014. * This quotation is flexible according to the change of design in the future. * Exchange rate: 1 USD = 6.2 RMB. This quotation will be updated if currency fluctuates more than 2%.")); dataSource.Add("PriceTerm", DataItem.NewItem(RenderMode.Plain, "DAP Suzhou")); dataSource.Add("Payment", DataItem.NewItem(RenderMode.Plain, "T/T 30 days")); dataSource.Add("LeadTime", DataItem.NewItem(RenderMode.Plain, "")); dataSource.Add("Amt_Sum", DataItem.NewItem(RenderMode.Plain, sum.ToString(CultureInfo.InvariantCulture))); dataSource.Add("Cur_Sum", DataItem.NewItem(RenderMode.Plain, "USD")); dataSource.Add("Origin", DataItem.NewItem(RenderMode.Plain, "P.R.Chinas")); dataSource.Add("Packing", DataItem.NewItem(RenderMode.Plain, "Standard bulk packing")); dataSource.Add("Beneficiary", DataItem.NewItem(RenderMode.Plain, "Hangzhou Amphenol Phoenix Telecom Parts Co., Ltd.")); dataSource.Add("AccountNo", DataItem.NewItem(RenderMode.Plain, "3753 5834 2400")); dataSource.Add("Name", DataItem.NewItem(RenderMode.Plain, "Bank Of China Hangzhou Economical & Technological Development Area Sub-Branch")); dataSource.Add("BankAddress", DataItem.NewItem(RenderMode.Plain, "NO 3 Road Hangzhou Economic And Technological Development Zone Hangzhou China")); dataSource.Add("SwiftCode", DataItem.NewItem(RenderMode.Plain, "BKCHCNBJ910")); dataSource.Add("PM", DataItem.NewItem(RenderMode.Image, "D:\\Template\\zhenglong.zhang.png")); var serializer = new JsonSerializer(); serializer.Converters.Add(new DataSourceJsonConverter()); serializer.Converters.Add(new DataItemJsonConverter()); JObject obj = JObject.FromObject(dataSource, serializer); string s = obj.ToString(); var doc = new DocumentEntity { ID = Guid.NewGuid(), TemplateName = "模板.docx", OutputType = (int)(OutputType.PDF | OutputType.Word), DataSource = s }; // 测试文档转换 var converter = new SimpleConverter(); converter.Convert(doc); // 再生产环境可以调用如下语句直接加入数据库,然后增加文档转换服务自定转换 //DocumentService.Instance.AddDocument(doc); //Enterprises.Framework.Plugin.Office.Converters.DocumentConvert service = new Enterprises.Framework.Plugin.Office.Converters.DocumentConvert(); //service.Process(); }
protected override void Serialize(object target, IniContext context) { var value = GetValue(target); context.File = context.File.SetData(_section, _key, _converter?.Convert(value) ?? string.Empty); }
protected override void Serialize(object target, IniContext context) { Argument.NotNull(context, nameof(context)); var value = GetValue(target); context.File.GetSection(_section)?.GetOrAddListEntry(_key).Values.AddRange(_converter?.Convert(value)); }