public void Initialize()
 {
     specie = new Specie("Ab", "Ab", DateTime.MinValue, DateTime.MaxValue, 5);
     observation = new Observation(1, 1, specie, ObservationType.BirdPresent, 5, 5, 5);
     observation2 = new Observation(1, 1, specie, ObservationType.TerritoryIndicating, 5, 5, 5);
     observation3 = new Observation(1, 1, specie, ObservationType.NestIndicating, 5, 5, 5);
     visit = new Visit(1, 1, DateTime.MinValue, DateTime.MaxValue, null);
     area = new Area(1, 1, "Test", "Image", null);
     project = new Project(1, "Project", DateTime.MinValue, DateTime.MaxValue, null);
     visits = new Visits();
     observations = new Observations();
     speciePoint = new SpeciePoint("Sp", 5, 6);
     projectRepo = new ProjectRepository(new ProjectOracleContext());
     visitRepo = new VisitRepository(new VisitOracleContext());
     visitForm = new VisitForm(visit);
     observationForm = new ObservationForm(observation);
     observationForm2 = new ObservationForm(5, 5, 5, 5);
 }
        private void panelMap_MouseClick(object sender, MouseEventArgs e)
        {
            x = e.X;
            y = e.Y;

            var observationForm = new ObservationForm(x, y, visit.VisitId, visitRepository.GetSequenceNextValObservation()) { Text = "Nieuwe waarneming" };

            DialogResult dr = new DialogResult();
            dr = observationForm.ShowDialog();

            if (dr == DialogResult.OK)
            {
                observation = ObservationForm.ReturnObservation();

                try
                {
                    observations.Add(observation);
                    Panel panel = new Panel();
                    panel.Height = 35;
                    panel.Width = 35;
                    panel.Location = new Point(x, y);
                    panel.MouseClick += p_Click;

                    switch (observation.ObsType)
                    {
                        case ObservationType.BirdPresent:
                            panel.BackgroundImage = images.Images[0];
                            break;
                        case ObservationType.TerritoryIndicating:
                            panel.BackgroundImage = images.Images[1];
                            break;
                        case ObservationType.NestIndicating:
                            panel.BackgroundImage = images.Images[2];
                            break;
                    }

                    panelMap.Controls.Add(panel);
                }
                catch (Exception)
                {
                    MessageBox.Show("Waarneming kon niet worden toegevoegd, probeer het nog eens.", "Error");
                }
            }
        }
        private void p_Click(object sender, MouseEventArgs e)
        {
            foreach (var o in observations)
            {
                Rectangle rect = new Rectangle(new Point(o.XCor, o.YCor), new Size(35, 35));

                if (rect.Contains(e.X + x, e.Y + y))
                {
                    selectedObservation = o;
                }
            }

            var observationForm = new ObservationForm(selectedObservation) { Text = "Waarneming aanpassen" };
            observationForm.ShowDialog();
            observation = ObservationForm.ReturnObservation();

            try
            {
                observations.Remove(selectedObservation);
                observations.Add(observation);
                Panel panel = new Panel();
                panel.Height = 35;
                panel.Width = 35;
                panel.Location = new Point(x, y);
                panel.MouseClick += p_Click;

                switch (observation.ObsType)
                {
                    case ObservationType.BirdPresent:
                        panel.BackgroundImage = images.Images[0];
                        break;
                    case ObservationType.TerritoryIndicating:
                        panel.BackgroundImage = images.Images[1];
                        break;
                    case ObservationType.NestIndicating:
                        panel.BackgroundImage = images.Images[2];
                        break;
                }

                panelMap.Controls.Add(panel);
                panel.BringToFront();
                selectedObservation = null;   
            }
            catch (Exception)
            {
                MessageBox.Show("Waarneming kon niet worden aangepast, probeer het nog eens.", "Error");
            }
        }