Пример #1
0
 /// <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;
 }
Пример #2
0
        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;
                    
                }
            }
        }
Пример #3
0
        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;
        }
Пример #4
0
        /// <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;
        }
Пример #5
0
        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;

                }
            }
        }
Пример #6
0
    /// <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");
        }
    }
Пример #7
0
        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;
        }
Пример #8
0
    /// <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;
    }
Пример #9
0
    /// <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;
    }
Пример #10
0
    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;
    }
Пример #11
0
    /// <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;
    }
Пример #12
0
    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;
    }
Пример #13
0
    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;
    }
Пример #14
0
        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;
        }