From d451d8041d2c8735bb0f1a28e402c07743e42d21 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 11 Sep 2020 19:40:19 +0000 Subject: [PATCH] --- server/AyaNova/biz/ReportBiz.cs | 10 +++++- .../rpt/stock-report-templates/1200x400.png | Bin 5575 -> 24923 bytes .../rpt/stock-report-templates/300x100.png | Bin 702 -> 2347 bytes .../rpt/stock-report-templates/600x200.png | Bin 1569 -> 9389 bytes server/AyaNova/util/Seeder.cs | 33 ++++++++++++++++-- 5 files changed, 40 insertions(+), 3 deletions(-) diff --git a/server/AyaNova/biz/ReportBiz.cs b/server/AyaNova/biz/ReportBiz.cs index d7ef5a2e..71638d8d 100644 --- a/server/AyaNova/biz/ReportBiz.cs +++ b/server/AyaNova/biz/ReportBiz.cs @@ -409,8 +409,16 @@ namespace AyaNova.Biz var serverMeta = $"{{ayApiUrl:`{apiUrl}`}}"; log.LogDebug($"Preparing page: adding Report meta data"); + + //Custom fields definition for report usage + string CustomFieldsTemplate="null"; + var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == report.ObjectType.ToString()); + if(FormCustomization!=null){ + CustomFieldsTemplate=FormCustomization.Template; + } + //Report meta data - var reportMeta = $"{{Id:{report.Id},Name:`{report.Name}`,Notes:`{report.Notes}`,ObjectType:`{report.ObjectType}`,DataListKey:`{reportParam.DataListKey}`,ListView:`{reportParam.ListView}`,SelectedRowIds: `{string.Join(",", reportParam.SelectedRowIds)}`}}"; + var reportMeta = $"{{Id:{report.Id},Name:`{report.Name}`,Notes:`{report.Notes}`,ObjectType:`{report.ObjectType}`,CustomFieldsDefinition:{CustomFieldsTemplate},DataListKey:`{reportParam.DataListKey}`,ListView:`{reportParam.ListView}`,SelectedRowIds: `{string.Join(",", reportParam.SelectedRowIds)}`}}"; //duplicate meta data in report page wide variable for use by our internal functions diff --git a/server/AyaNova/resource/rpt/stock-report-templates/1200x400.png b/server/AyaNova/resource/rpt/stock-report-templates/1200x400.png index 7e944e26e7025029f3d08906ff4ac7487ba9450d..4bf6f0084046071356e91a180f191a16e85cc5e6 100644 GIT binary patch literal 24923 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 ZNGI5QSLU2~?JmuQ4fITO-{{;7`5*f%7mxq| literal 5575 zcmdT|i93{S)YmKY+UhNaY?HOdSdt}KizeAd*=8`z7)gw=?|ZzeF_owxdxjxqY%z9* zG9+6KDTM6VL-vtx@_yeR@y&HT*Idu@+`s$$&hMQ2oHK*F1vTR17U5=NW8*WvdEJtY z?RYsG+p%XS*jZ0-7BQ{3D(xw$_nDE#8#S^4K5v5ARheff! z$_mfSOo@qoxo|go;GuP0+L9h#c8Mn;KVUZ0ed+O)N+jg4O+k+WydzSY%zV{V@5;?k|EO1pZs z?AEQ+d-pmuG#U*Ji*0OPU@!wQQj8{J=o9kx`4jetcM%=+x8z2-J7+Vu__?Y-A+g+FEo> z%(SQ|!NUWalvEFayoSM^dwPb -()_ME3=EjYuzP<_!#^Cw$xlT@x{r&lW{zT;F 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 NSzbe~PR1(oKLCL)E%yKb delta 1516 zcma)+Ydn(+0LFKsKAdue1D`{lI zolsp5S8pT)B1b?v7?3j(h=Cje>3|^4Ko|xP2?zlfzU&Al+wTB3=Kzil-igAwVz;Q5 zPQRoBTqA;&=O#|;U!Kchw8qr#*SO*}Dk^Ky|w=BLmCJ6V@_dk_4Haj7(S z+NTB?e~@igq95{2|NkTDXA$L}!4KXW)f)@9=v3-01}FqumVe$zTs;<#fpHDo1|Rw$ z#jN#V?L&aTrmF|OU@p+6L0L|TQP?rX=FE4{HR04i;tZy*UQpvorPInWz4&-{a>--g zitrTGpW6qWf+@anT1k30i3M3)z}Ak^oOEt-xX_i#bANN7iYKgD2S45@sf;Y@oHsA4 zK*HUKaiWI7~-*SW@^bMB9))=UXfHqlkpwFJ#wo}0X@9hM4 zQ-g(%&!SlTSrN#)7IX->pipbD&5lj~Uz3mYf&X zq#(hXzyWl@*%7|~qB*_fBK8rvq%zv90vr*f`YTVMV8DcDO^1O!=>%S<(nOC7U`=`;4G1FU~PB%%DXf%3;o5O(j9d(uIbh26sUqT5+Z{Q9tlXU6v8w-&;KdTnuF3o zx2;PzV4UCct%C(3$4tyWa`M|x3HMBs zuMBW9k~1oUFPxu!jhGH>S)de(TibRrjA$^WNp&zqgoxn89q(7lvqnDmEDX&T4ub7A z>grR}Ya*WZeUB6^uGP#g^q79rTa_W$uUde!=|;;DDjayKI%ESI#*XPa%og)ajBy9n z(S9bBY&7g^Y>1F@OYQyTduEx~q9* zV;1SO!E`}O(o%hpmoTN0WT6(_dC$;}|CgdA&Ol^Rnm7 zl^R=!7^ybSAm2#>(os2$FUleg+bLEJ-SMsF8V0bxmdp60Wi0^hvyFRp==OAqcAu5D z`|;q8VnQpGBoSE+6?G^lUC>NyjhisKuU{>U>plwO z^86eyRUDJ&cjpss-tV)qm-)USHL2xz+V_7T^nkb?31bcSYY41-xb;Y9RNso$9sRCz49L#J>j(g diff --git a/server/AyaNova/util/Seeder.cs b/server/AyaNova/util/Seeder.cs index 0a76d158..dacafcf1 100644 --- a/server/AyaNova/util/Seeder.cs +++ b/server/AyaNova/util/Seeder.cs @@ -7,6 +7,7 @@ using Microsoft.Extensions.Logging; using Bogus; using AyaNova.Api.ControllerHelpers; using System.Diagnostics; +using Microsoft.EntityFrameworkCore; namespace AyaNova.Util @@ -446,6 +447,34 @@ namespace AyaNova.Util break; } + + //Seed logo files + var LogoFilesPath = System.IO.Path.Combine(ServerBootConfig.AYANOVA_CONTENT_ROOT_PATH, "resource", "rpt", "stock-report-templates"); + if (System.IO.Directory.Exists(LogoFilesPath)) + { + using (var ct = ServiceProviderProvider.DBContext) + { + var logo = await ct.Logo.FirstOrDefaultAsync(); + if (logo == null) + { + logo = new Logo(); + ct.Logo.Add(logo); + await ct.SaveChangesAsync(); + } + logo.Small = System.IO.File.ReadAllBytes(System.IO.Path.Combine(LogoFilesPath, "300x100.png")); + logo.SmallType = "image/png"; + + logo.Medium = System.IO.File.ReadAllBytes(System.IO.Path.Combine(LogoFilesPath, "600x200.png")); + logo.MediumType = "image/png"; + + logo.Large = System.IO.File.ReadAllBytes(System.IO.Path.Combine(LogoFilesPath, "1200x400.png")); + logo.LargeType = "image/png"; + + await ct.SaveChangesAsync(); + } + } + + await LogStatusAsync(JobId, LogJob, log, "Seeding completed successfully"); } catch (Exception ex) @@ -594,8 +623,8 @@ namespace AyaNova.Util u.UserType = userType; u.EmployeeNumber = "A-" + (454 + SeededUserCount + x).ToString() + "-Y"; u.Notes = Fake.Lorem.Sentence(null, 5);//Fake.Lorem.Paragraph(2); - //TODO: After have USER and HEADOFFICE and VENDOR, if usertype is subcontractor or client or headoffice it needs to set a corresponding user's parent org record id to go with it - //use provided tags or generate them + //TODO: After have USER and HEADOFFICE and VENDOR, if usertype is subcontractor or client or headoffice it needs to set a corresponding user's parent org record id to go with it + //use provided tags or generate them if (tags == null) u.Tags = RandomTags(); else