Skip to content

Commit

Permalink
EPPlus excel demo + readme
Browse files Browse the repository at this point in the history
  • Loading branch information
José Torres committed Oct 9, 2017
1 parent 17e5169 commit 27b5b73
Show file tree
Hide file tree
Showing 9 changed files with 74 additions and 8 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
using System.Threading.Tasks;
using log4net;
using System.Diagnostics;
using System.IO;
using OfficeOpenXml;

namespace IngeniBridge.Samples.MyCompany
{
Expand Down Expand Up @@ -43,10 +45,18 @@ static int Main ( string [] args )
DataModelFrame frame = new DataModelFrame () { TreeRoot = root };
#endregion
#region Influence zones
InfluenceZone z1 = new InfluenceZone () { Code = "Z1", Label = "Influence Zone 1" };
root.AddElementToArray ( z1 );
InfluenceZone z2 = new InfluenceZone () { Code = "Z2", Label = "Influence Zone 2" };
root.AddElementToArray ( z2 );
// Here you see how to access an Excel file using the EPPlus package
FileInfo fi = new FileInfo ( "..\\..\\Metadata content to consolidate.xlsx" );
ExcelPackage xlConsolidate = new ExcelPackage ( fi );
ExcelWorksheet wksZones = xlConsolidate.Workbook.Worksheets [ "Influence Zone" ];
int line = 2;
while ( wksZones.Cells [ line, 1 ].Value != null )
{
InfluenceZone iz = new InfluenceZone () { Code = wksZones.Cells [ line, 1 ].Text, Label = wksZones.Cells [ line, 2 ].Text };
root.AddElementToArray ( iz );
line += 1;
}
xlConsolidate.Dispose ();
#endregion
#region nomenclatures
Dictionary<string, TypeOfMeasure> measures = new Dictionary<string, TypeOfMeasure> ();
Expand All @@ -69,15 +79,15 @@ static int Main ( string [] args )
root.AddElementToArray ( siteParis );
ProductionSite siteLivry = new ProductionSite () { Code = "Site of Livry", Label = "Site of Livry-Gargan, quality of water", Location = "Livry-Gargan", Sector = sectors [ "S" ], Organization = orgas [ "O2" ] };
root.AddElementToArray ( siteLivry );
GroupOfPumps grouppumps = new GroupOfPumps () { Code = "GP 001", InfluenceZone = z1 };
GroupOfPumps grouppumps = new GroupOfPumps () { Code = "GP 001", InfluenceZone = root.GetElementFromProperty<InfluenceZone> ( "Z1", "InfluenceZones" ) };
siteParis.AddElementToArray ( grouppumps );
PressureSensor iot1 = new PressureSensor () { Code = "PS 001", TelephoneNumber = "0123456789" };
grouppumps.AddElementToArray ( iot1 );
WaterPump wp1 = new WaterPump () { Code = "WP 001", InfluenceZone = z2 };
WaterPump wp1 = new WaterPump () { Code = "WP 001", InfluenceZone = root.GetElementFromProperty<InfluenceZone> ( "Z1", "InfluenceZones" ) };
grouppumps.AddElementToArray ( wp1 );
WaterPump wp2 = new WaterPump () { Code = "WP 002", InfluenceZone = z1 };
WaterPump wp2 = new WaterPump () { Code = "WP 002", InfluenceZone = root.GetElementFromProperty<InfluenceZone> ( "Z1", "InfluenceZones" ) };
grouppumps.AddElementToArray ( wp2 );
ClorineInjector cl1 = new ClorineInjector () { Code = "CI 001", InfluenceZone = z2 };
ClorineInjector cl1 = new ClorineInjector () { Code = "CI 001", InfluenceZone = root.GetElementFromProperty<InfluenceZone> ( "Z2", "InfluenceZones" ) };
siteLivry.AddElementToArray ( cl1 );
MultiFunctionSensor iot2 = new MultiFunctionSensor () { Code = "MFS 001", TelephoneNumber = "1234567890" };
cl1.AddElementToArray ( iot2 );
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
2017-10-09 15:32:28,526;[8];ERROR;IngeniBridge.Samples.MyCompany.Program;Exception => System.NullReferenceException = La r�f�rence d'objet n'est pas d�finie � une instance d'un objet.
2017-10-09 15:32:47,730;[10];ERROR;IngeniBridge.Samples.MyCompany.Program;Exception => System.NullReferenceException = La r�f�rence d'objet n'est pas d�finie � une instance d'un objet.
2017-10-09 15:32:52,632;[1];ERROR;IngeniBridge.Samples.MyCompany.Program;Exception => System.NullReferenceException = La r�f�rence d'objet n'est pas d�finie � une instance d'un objet.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,37 @@
2017-10-02 08:27:49,745;[1];INFO ;IngeniBridge.Samples.MyCompany.Program;Starting => IngeniBridge.Samples.MyCompany v1.0.0.0
2017-10-02 08:27:49,746;[1];INFO ;IngeniBridge.Samples.MyCompany.Program;Data Model => MyCompanyDataModel v1.0.8.15234
2017-10-02 08:27:50,077;[1];INFO ;IngeniBridge.Samples.MyCompany.Program;Terminated => 0
2017-10-09 15:32:27,956;[8];INFO ;IngeniBridge.Samples.MyCompany.Program;IngeniBridge.Samples.MyCompany v1.0.0.0 -- Copyright � 2016
2017-10-09 15:32:28,011;[8];INFO ;IngeniBridge.Samples.MyCompany.Program;Starting => IngeniBridge.Samples.MyCompany v1.0.0.0
2017-10-09 15:32:28,011;[8];INFO ;IngeniBridge.Samples.MyCompany.Program;Data Model => MyCompanyDataModel v1.0.8.15296
2017-10-09 15:32:28,526;[8];ERROR;IngeniBridge.Samples.MyCompany.Program;Exception => System.NullReferenceException = La r�f�rence d'objet n'est pas d�finie � une instance d'un objet.
2017-10-09 15:32:28,528;[8];INFO ;IngeniBridge.Samples.MyCompany.Program;Terminated => 1
2017-10-09 15:32:47,526;[10];INFO ;IngeniBridge.Samples.MyCompany.Program;IngeniBridge.Samples.MyCompany v1.0.0.0 -- Copyright � 2016
2017-10-09 15:32:47,556;[10];INFO ;IngeniBridge.Samples.MyCompany.Program;Starting => IngeniBridge.Samples.MyCompany v1.0.0.0
2017-10-09 15:32:47,556;[10];INFO ;IngeniBridge.Samples.MyCompany.Program;Data Model => MyCompanyDataModel v1.0.8.15296
2017-10-09 15:32:47,730;[10];ERROR;IngeniBridge.Samples.MyCompany.Program;Exception => System.NullReferenceException = La r�f�rence d'objet n'est pas d�finie � une instance d'un objet.
2017-10-09 15:32:47,736;[10];INFO ;IngeniBridge.Samples.MyCompany.Program;Terminated => 1
2017-10-09 15:32:52,493;[1];INFO ;IngeniBridge.Samples.MyCompany.Program;IngeniBridge.Samples.MyCompany v1.0.0.0 -- Copyright � 2016
2017-10-09 15:32:52,515;[1];INFO ;IngeniBridge.Samples.MyCompany.Program;Starting => IngeniBridge.Samples.MyCompany v1.0.0.0
2017-10-09 15:32:52,515;[1];INFO ;IngeniBridge.Samples.MyCompany.Program;Data Model => MyCompanyDataModel v1.0.8.15296
2017-10-09 15:32:52,632;[1];ERROR;IngeniBridge.Samples.MyCompany.Program;Exception => System.NullReferenceException = La r�f�rence d'objet n'est pas d�finie � une instance d'un objet.
2017-10-09 15:32:52,636;[1];INFO ;IngeniBridge.Samples.MyCompany.Program;Terminated => 1
2017-10-09 15:33:09,505;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;IngeniBridge.Samples.MyCompany v1.0.0.0 -- Copyright � 2016
2017-10-09 15:33:09,541;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;Starting => IngeniBridge.Samples.MyCompany v1.0.0.0
2017-10-09 15:33:09,541;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;Data Model => MyCompanyDataModel v1.0.8.15296
2017-10-09 15:40:28,368;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;IngeniBridge.Samples.MyCompany v1.0.0.0 -- Copyright � 2016
2017-10-09 15:40:28,394;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;Starting => IngeniBridge.Samples.MyCompany v1.0.0.0
2017-10-09 15:40:28,394;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;Data Model => MyCompanyDataModel v1.0.8.15296
2017-10-09 15:43:15,577;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;IngeniBridge.Samples.MyCompany v1.0.0.0 -- Copyright � 2016
2017-10-09 15:43:15,630;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;Starting => IngeniBridge.Samples.MyCompany v1.0.0.0
2017-10-09 15:43:15,634;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;Data Model => MyCompanyDataModel v1.0.8.15296
2017-10-09 15:43:58,298;[11];INFO ;IngeniBridge.Samples.MyCompany.Program;IngeniBridge.Samples.MyCompany v1.0.0.0 -- Copyright � 2016
2017-10-09 15:43:58,339;[11];INFO ;IngeniBridge.Samples.MyCompany.Program;Starting => IngeniBridge.Samples.MyCompany v1.0.0.0
2017-10-09 15:43:58,339;[11];INFO ;IngeniBridge.Samples.MyCompany.Program;Data Model => MyCompanyDataModel v1.0.8.15296
2017-10-09 15:44:54,388;[10];INFO ;IngeniBridge.Samples.MyCompany.Program;IngeniBridge.Samples.MyCompany v1.0.0.0 -- Copyright � 2016
2017-10-09 15:44:54,476;[10];INFO ;IngeniBridge.Samples.MyCompany.Program;Starting => IngeniBridge.Samples.MyCompany v1.0.0.0
2017-10-09 15:44:54,476;[10];INFO ;IngeniBridge.Samples.MyCompany.Program;Data Model => MyCompanyDataModel v1.0.8.15296
2017-10-09 15:45:34,801;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;IngeniBridge.Samples.MyCompany v1.0.0.0 -- Copyright � 2016
2017-10-09 15:45:35,290;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;Starting => IngeniBridge.Samples.MyCompany v1.0.0.0
2017-10-09 15:45:35,304;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;Data Model => MyCompanyDataModel v1.0.8.15296
2017-10-09 15:46:09,151;[9];INFO ;IngeniBridge.Samples.MyCompany.Program;Terminated => 0
Binary file not shown.
19 changes: 19 additions & 0 deletions Readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,22 @@ IngeniBridge Git Repo

This repo contains tools to help building and exploiting a local IngeniBridge database

Projects listed below:

IngeniBridge.Programs\IngeniBridge.GenerateFullInventory
- This project shows you how to parse the IngeniBridge database a make a dump to an Excel worksheet (uses EPPlus package)

IngeniBridge.Sample.MyCompany
- This project is a startup project for your metabase
- Includes
- Metamodel project => MyCompanyDataModel
- Contains the entire metamodel : entities, relations, inheritance and attributes
- Metadata project => IngeniBridge.Samples.MyCompany
- Contains data consolidation, check and serialization (produces an IBDB file to be mounted in the IngeniBridge Server)

IngeniBridge.TestServer
- This project is a demonstration on how to invoke an IngeniBridge Server
- REST only access
- Metamodel regeneration access
- Metamodel regeneration + Application Neutrality pattern (the application intelligently uses the metamodel to auto adapt to changes/evolutions on it)

0 comments on commit 27b5b73

Please sign in to comment.