/// <summary> /// Deze haalt locatienamen op uit de DB. /// De property LocatieNamen wordt hier ook geset. /// </summary> /// <returns></returns> public Collection<string> GetLocatieNamen(int gegevensSetId) { if (RootDirectory != null) { LocatieNamen = new Collection<string>(); using (DataClasses1DataContext contextDb = new DataClasses1DataContext()) { ///DeleteAllData(contextDb); var locatiesFromDb = (from locaie in contextDb.ImplicLocaties where locaie.GegevensSetId == gegevensSetId select locaie).OrderBy(o => o.Volgnummer); foreach (var locatie in locatiesFromDb) { LocatieNamen.Add(locatie.LocatieNaam); } ///contextDb.Dispose(); } } else//else prototype => uses hardcoded array. { LocatieNamen = new Collection<string>(); LocatieNamen.Add("Roompot Buiten "); LocatieNamen.Add("Roompot Binnen "); LocatieNamen.Add("Burghsluis "); LocatieNamen.Add("Wemeldinge "); LocatieNamen.Add("Rattekaai "); LocatieNamen.Add("Marollegat "); LocatieNamen.Add("Stavenisse "); LocatieNamen.Add("Philipsdam West "); LocatieNamen.Add("Colijnsplaat "); LocatieNamen.Add("Zeelandbrug Noord"); LocatieNamen.Add("Roompot OSK "); } return LocatieNamen; }
private void SetTnoFileName() { if (RootDirectory != null) { using (DataClasses1DataContext contextDb = new DataClasses1DataContext()) { var project = (from aproject in contextDb.Projects where aproject.ProjectId == ProjectId select aproject).First(); //TnoDirectory = locatie.GegevensSet2 + "_" + locatie.ProjectId; var datFile = (from aFile in project.GegevensSet2.BronBestands select aFile).First(); TnoFileName = datFile.BestandsNaam; } } }
public ArrayList SetImplicNamen() { ArrayList implicNamen = new ArrayList(); if (RootDirectory != null) { using (DataClasses1DataContext contextDb = new DataClasses1DataContext()) { ///DeleteAllData(contextDb); var project = (from aproject in contextDb.Projects where aproject.ProjectId==ProjectId select aproject).First(); var datFiles = from aFile in project.GegevensSet.BronBestands where project.GegevensSet.SofAanwezig == IsSof || project.GegevensSet.SofAanwezig == IsSaf select aFile.BestandsNaam; foreach (var dat in datFiles) { implicNamen.Add(dat); } ///contextDb.Dispose(); } } return implicNamen; }
/// <summary> /// Update met now. /// </summary> /// <param name="projectId"></param> /// <returns></returns> public DateTime UpdateProjectBerekenDatum(int projectId) { DateTime now; using (DataClasses1DataContext contextDb = new DataClasses1DataContext()) { ///DeleteAllData(contextDb); var project = (from aProject in contextDb.Projects where aProject.ProjectId == projectId select aProject).FirstOrDefault(); now = DateTime.Now; project.BerekenDatum = now; contextDb.SubmitChanges(); ///contextDb.Dispose(); } return now; }
public void SetToetspeilenFileName() { if (RootDirectory != null) { using (DataClasses1DataContext contextDb = new DataClasses1DataContext()) { var project = (from aproject in contextDb.Projects where aproject.ProjectId == ProjectId select aproject).First(); //FaalkansDirectory = locatie.GegevensSet1 + "_" + locatie.ProjectId; var toetsFile = (from aFile in project.GegevensSet3.BronBestands select aFile).First(); ToetsPeilenName = toetsFile.BestandsNaam; } } }
/// <summary> /// Creates the toetspeilen en prestatiepeilen per locatienamen. ///# Toetspeilen en Prestatiepeilen per locatie in cm t.o.v. NAP ///# Resultaten gegenereerd: 20091118 13:34 ///# Projectnaam: Test23 ///# Projectomschrijving: Test van de nieuwe versie 0.4 van RETPOK ///# Soort locatie: Experimenteel ///# SOF: Nee ///# SAF: Ja ///# Gebruikte invoersets: ///# IMPLIC: implic_SAF_20091103 ///# Faalkansen: Faalkansen-01 ///# TNO: TNO-06 ///# Toetspeilen: Toetspeilen_20090101 ///# ///Locatie Toetspeil Prestatiepeil Verschil ///Roompot Binnen 350 316 34 ///Burghsluis 350 317 33 ///Zeelandbrug Noord 350 325 25 ///… ///… ///Marollegat 400 382 18 /// </summary> public static void CreateToetspeilenEnPrestatiepeilen(IEnumerable prestatiePeilen) { using (DataClasses1DataContext context = new DataClasses1DataContext()) { var project = (from aProject in context.Projects where aProject.ProjectId == ProjectId select aProject).FirstOrDefault(); } ///Create subdir string subDir = InitData.UniqueInstance.OutputDir; if (!Directory.Exists(subDir)) { Directory.CreateDirectory(subDir); } string prefix = Project.ProjectNaam; string datFile = String.Format("{0}\\{1}.dat", subDir, prefix); if (File.Exists(datFile)) File.Delete(datFile); CreateHeader(datFile, "# Toetspeilen en Prestatiepeilen per locatie in cm t.o.v. NAP", "Locatie\tToetspeil\tPrestatiepeil\tVerschil"); foreach (KeyValuePair<string, double> pair in prestatiePeilen) { string locatieNaam = pair.Key; int index = InitData.UniqueInstance.GetToetsPeilIndex(locatieNaam); double toetspeil = InitData.UniqueInstance.Tpeilen[index]; double prestatiepeil = pair.Value; double verschil = toetspeil - prestatiepeil; string line = string.Format("{0}\t{1}\t{2}\t{3}", locatieNaam, toetspeil, prestatiepeil, verschil); File.AppendAllText(datFile, line + "\n"); } }
public Collection<int> GetProjects() { Collection<int> result = new Collection<int>(); using (DataClasses1DataContext contextDb = new DataClasses1DataContext()) { ///DeleteAllData(contextDb); var projects = (from project in contextDb.Projects select project.ProjectId); foreach (var project in projects) { result.Add(project); } ///contextDb.Dispose(); } return result; }
/// <summary> /// Returns the path whilst creating files or not. Bronpaden are stored. /// </summary> /// <param name="projectId"></param> /// <param name="root"></param> /// <param name="sof"></param> /// <param name="saf"></param> /// <param name="createFiles"></param> /// <returns></returns> private CollectionBronPaden HandleBronPadenEnBestanden(int projectId, string root, bool sof, bool saf, bool createFiles) { ProjectId = projectId; ///NOTE: caller must anticipate exception. Collection<int> gegevensSetIds; var gegevensSoorten = new Dictionary<int, int>(); Bronpaden = new Collection<string>(); using (DataClasses1DataContext context = new DataClasses1DataContext()) { gegevensSetIds = GetGegevensSetIds(context, projectId); gegevensSoorten = GetGegevensSoort(context, gegevensSetIds); if (Directory.Exists(root)) { string bronBestanden = root + "\\BronBestanden"; string resultaten = root + "\\Resultaten"; string projectFolder = resultaten + "\\ProjectId_" + projectId; ProjectPath = projectFolder; if (createFiles) { Directory.CreateDirectory(bronBestanden); Directory.CreateDirectory(resultaten); Directory.CreateDirectory(projectFolder); } foreach (var gegevensSoort in gegevensSoorten) { string gegevensSoortDir = bronBestanden + "\\GegevensSoortId_" + gegevensSoort.Key; string gegevensSetDir = gegevensSoortDir + "\\GegevensSetId_" + gegevensSoort.Value; if (createFiles) { Directory.CreateDirectory(gegevensSoortDir); Debug.Assert(Directory.Exists(gegevensSoortDir)); Directory.CreateDirectory(gegevensSetDir); Debug.Assert(Directory.Exists(gegevensSetDir)); } Bronpaden.Add(gegevensSetDir); } } if (DeploymentDirectory != null) HandleBronBestanden(sof, saf, Bronpaden, createFiles); } return BronBestanden; }
/// <summary> /// Creates a header for output files. /// </summary> /// <param name="projectId"></param> /// <returns></returns> #endregion #region Non-interface Implementation public static Collection<string> CreateHeader(int projectId, string title, string columnNames) { Collection<string> header = new Collection<string>(); using (DataClasses1DataContext contextDb = new DataClasses1DataContext()) { ///DeleteAllData(contextDb); var project = (from aProject in contextDb.Projects where aProject.ProjectId == projectId select aProject).FirstOrDefault(); header.Add(title); header.Add("# Resultaten gegenereerd: " + project.BerekenDatum); header.Add("# Projectnaam: " + project.ProjectNaam); header.Add("# Projectomschrijving: " + project.ProjectOmschrijving); header.Add("# Soort project: " + (project.Experimenteel ? "Experimenteel" : "Niet Experimenteel")); header.Add("# SOF: " + (project.GegevensSet.SofAanwezig ? "Ja" : "Nee")); header.Add("# SAF: " + (project.GegevensSet.SafAanwezig ? "Ja" : "Nee")); header.Add("# Gebruikte invoersets: "); header.Add("# IMPLIC: " + project.GegevensSet.GegevensSetNaam); header.Add("# Faalkansen: " + project.GegevensSet1.GegevensSetNaam); header.Add("# TNO: " + project.GegevensSet2.GegevensSetNaam); header.Add("# Toetspeilen: " + project.GegevensSet3.GegevensSetNaam); header.Add("# ");//lege regel header.Add(columnNames); } return header; }
public bool SaveBronBestand(int gegevensetId, string naam) { ///NOTE: caller must anticipate exception. var bronBestand = new DataResource.LinQToSqlServer.BronBestand(); bronBestand.BestandsNaam = naam; bronBestand.GegevensSetId = gegevensetId; bronBestand.AanleverDatum = DateTime.Now; using (DataClasses1DataContext context = new DataClasses1DataContext()) { context.BronBestands.InsertOnSubmit(bronBestand); context.SubmitChanges(); } return true; }
/// <summary> /// Gets bronbestanden via gegegevenssetid(implic) and projectid. /// </summary> /// <param name="projectId"></param> /// <returns></returns> public Collection<string> GetBronBestanden(int projectId) { ///NOTE: caller must anticipate exception. var bronbestanden = new Collection<string>(); using (DataClasses1DataContext context = new DataClasses1DataContext()) { var gegegevenSetId = (from project in context.Projects where project.ProjectId == projectId select project).FirstOrDefault().ImplicGegevensSetId; var bronbestandenLinQ = (from bronBestand in context.BronBestands where bronBestand.GegevensSetId == gegegevenSetId select bronBestand.BestandsNaam); ///Note: do not export List<T>. foreach (var bestand in bronbestandenLinQ) { bronbestanden.Add(bestand); } } return bronbestanden; }
public static Collection<int> GetGegevensSetIds(DataClasses1DataContext context, int projectId) { var gegevensSetIds = new Collection<int>(); var projects = from project in context.Projects where project.ProjectId == projectId select new { project.ImplicGegevensSetId, project.FaalkansGegevensSetId, project.TNOGegevensSetId, project.ToetspeilGegevensSetId }; var curProject = (from project in context.Projects where project.ProjectId == projectId select project).FirstOrDefault(); Project = curProject; int? implicGegevensSetId = projects.FirstOrDefault().ImplicGegevensSetId;//gegevenssoort 1 int? faalkansGegevensSetId = projects.FirstOrDefault().FaalkansGegevensSetId;//gegevenssoort 2 int? tnoGegevensSetId = projects.FirstOrDefault().TNOGegevensSetId;//gegevenssoort 3 int? toetspeilGegevensSetId = projects.FirstOrDefault().ToetspeilGegevensSetId;//gegevenssoort 4 gegevensSetIds.Add((int)implicGegevensSetId); gegevensSetIds.Add((int)faalkansGegevensSetId); gegevensSetIds.Add((int)tnoGegevensSetId); gegevensSetIds.Add((int)toetspeilGegevensSetId); return gegevensSetIds; }
private static Dictionary<int, int> GetGegevensSoort(DataClasses1DataContext context, Collection<int> gegevensSetIds) { var gegevensSoorten = new Dictionary<int, int>(); var res = context.GegevensSets.Where( x => x.GegevensSoortId == 1 && x.GegevensSetId == gegevensSetIds[0]); int gegevensSoort1 = context.GegevensSets.Where( x => x.GegevensSoortId == 1 && x.GegevensSetId == gegevensSetIds[0]).First().GegevensSoortId; int gegevensSoort2 = context.GegevensSets.Where( x => x.GegevensSoortId == 2 && x.GegevensSetId == gegevensSetIds[1]).First().GegevensSoortId; int gegevensSoort3 = context.GegevensSets.Where( x => x.GegevensSoortId == 3 && x.GegevensSetId == gegevensSetIds[2]).First().GegevensSoortId; int gegevensSoort4 = context.GegevensSets.Where( x => x.GegevensSoortId == 4 && x.GegevensSetId == gegevensSetIds[3]).First().GegevensSoortId; gegevensSoorten.Add(gegevensSoort1, gegevensSetIds[0]); gegevensSoorten.Add(gegevensSoort2, gegevensSetIds[1]); gegevensSoorten.Add(gegevensSoort3, gegevensSetIds[2]); gegevensSoorten.Add(gegevensSoort4, gegevensSetIds[3]); return gegevensSoorten; }
public IGraphInfo GetGraphInfo(int projectId, string locatie, string root) { bool saf; bool sof; InitData.UniqueInstance.ProjectId = projectId; InitData.UniqueInstance.RootDirectory = root; using (DataClasses1DataContext context = new DataClasses1DataContext()) { var project = (from aProject in context.Projects where aProject.ProjectId == projectId select aProject).FirstOrDefault(); saf = project.GegevensSet.SafAanwezig; sof = project.GegevensSet.SofAanwezig; HandleBronPadenEnBestanden(projectId, root, sof, saf, false); } InitData.UniqueInstance.SetToetspeilenFileName(); string toetspeilPath = Bronpaden[3]; string toetspeilenFile = toetspeilPath + "\\" + InitData.UniqueInstance.ToetsPeilenName; InitData.UniqueInstance.ToetsPeilenDirectory = toetspeilPath ; Debug.Assert(File.Exists(toetspeilenFile)); InitData.UniqueInstance.GetToetspeilen(); string overschrijdingsFile = ProjectPath + "\\overschrijding_" + locatie + ".dat"; Debug.Assert(File.Exists(overschrijdingsFile), "Overschrijdingsfile is niet gevonden."); string prestatiePeilFile = ProjectPath + "\\prestatiepeil.dat" ; Debug.Assert(File.Exists(prestatiePeilFile), "prestatiePeilFile is niet gevonden."); Collection<string> fileRef= ReadFile(overschrijdingsFile); Collection<string> fileRefOverschrijdingsKansen = new Collection<string>(); RemoveHeader(fileRef, fileRefOverschrijdingsKansen); Collection<string> fileRefPrestatiePeil = new Collection<string>(); fileRef = ReadFile(prestatiePeilFile); RemoveHeader(fileRef, fileRefPrestatiePeil); DataGraph curve = new DataGraph(); DataPoint prestatiepeilPunt; DataPoint toetspeilPunt; try { foreach (string line in fileRefOverschrijdingsKansen) { //string locatieRemoved = Utility.Postfix(line, locatie); StringParser parsedLine = new StringParser(line, "\t"); double x = Convert.ToDouble(parsedLine.LineItems[1]); double y = Convert.ToDouble(parsedLine.LineItems[2]); curve.Add(new DataPoint(x, y)); } double prestatiepeil = 0d; foreach (string line in fileRefPrestatiePeil) { StringParser parsedLine = new StringParser(line, "\t"); if(parsedLine.LineItems[0].Equals(locatie)) { double.TryParse(parsedLine.LineItems[1],NumberStyles.Any, CultureInfo.InvariantCulture, out prestatiepeil); } } double y_waarde= curve[prestatiepeil].Y; prestatiepeilPunt = new DataPoint(prestatiepeil, y_waarde); int index = InitData.UniqueInstance.GetToetsPeilIndex(locatie); int toetspeil = Convert.ToInt32(InitData.UniqueInstance.Tpeilen[index]); toetspeilPunt = new DataPoint(toetspeil, y_waarde); } catch (Exception ex) { throw new CheckedException(ErrorType.ParseFailure, ex.Message); } ///NOTE: met GraphInfoSimple(curve, toetspeilPunt, prestatiepeilPunt) is loosely-coupling onmogelijk(assemblies scheiden). ///Gebruik minimaal een pattern. IGraphInfo result = new Factory<MyAccess>().CreateGraphInfo(); result.OverschrijdingsKansen = curve; result.PrestatiePeil = prestatiepeilPunt; result.ToetsPeil = toetspeilPunt; return result; }