public List <FiftyMeterDataEntry> SelectAllForEvent(Guid eventId)
        {
            List <FiftyMeterDataEntry> dataEntryList = new List <FiftyMeterDataEntry>();

            if (!eventId.Equals(Guid.Empty))
            {
                List <PointCountBeyond50> beyond50List = null;
                List <PointCountWithin50> less50List   = null;
                if (_state.PointSurvey.Id.Equals(eventId))
                {
                    beyond50List = _state.PointSurvey.Observations.OfType <PointCountBeyond50>().ToList();
                    less50List   = _state.PointSurvey.Observations.OfType <PointCountWithin50>().ToList();
                }
                else
                {
                    FiftyMeterPointSurvey survey = _state.SiteVisit.PointSurveys.Find(x => x.Id.Equals(eventId));
                    if (survey != null)
                    {
                        beyond50List = survey.Observations.OfType <PointCountBeyond50>().ToList();
                        less50List   = survey.Observations.OfType <PointCountWithin50>().ToList();
                    }
                }

                FiftyMeterDataEntryFactory.CreateEntriesFromPointCounts <PointCountBeyond50>(beyond50List, dataEntryList);
                FiftyMeterDataEntryFactory.CreateEntriesFromPointCounts <PointCountWithin50>(less50List, dataEntryList);
            }

            return(dataEntryList);
        }
 private void fakeDataSaveObservations(FiftyMeterPointSurvey survey)
 {
     foreach (FiftyMeterPointObservation observation in survey.Observations)
     {
         ObservationMapper.Insert(observation);
     }
 }
    private FiftyMeterPointSurvey getCurrentPointSurvey()
    {
        if (this.SitePointsList.Items.Count.Equals(0))
        {
            // TODO figure out the proper response???
            return(null);
        }

        if (this.UserState.SamplingPoint == null)
        {
            SamplingPoint point = this.SitePointsList.Items[0].DataItem as SamplingPoint;
            this.UserState.SamplingPoint = point;
        }

        FiftyMeterPointSurvey survey =
            this.UserState.SiteVisit.PointSurveys.Find(x => x.LocationId == this.UserState.SamplingPoint.Id);

        if (survey == null)
        {
            survey             = FiftyMeterPointSurvey.CreateNewPointSurvey(this.UserState.SamplingPoint.Id);
            survey.SiteVisitId = this.UserState.SiteVisit.Id;
            this.UserState.SiteVisit.PointSurveys.Add(survey);
        }
        this.UserState.PointSurvey = survey;

        this.ObservationsList.DataBind();

        return(survey);
    }
        public ReviewObservation(FiftyMeterPointSurvey survey, FiftyMeterDataEntry entry, IUserStateManager state, IGlobalMap globalMap)
        {
            State     = state;
            DataEntry = entry;

            SamplingPointName =
                state.PointsRemaining.Union(state.PointsCompleted).Single(x => x.Id.Equals(survey.LocationId)).Name;

            Species species = globalMap.SpeciesList.Find(x => x.AlphaCode.Equals(entry.SpeciesCode));

            if (species == null)
            {
                Warning = "Unknown species code. ";
            }
            else
            {
                SpeciesName = species.CommonName;

                if (entry.CountBeyond50 > species.WarningCount)
                {
                    Warning += "Unusually high count beyond 50m, please verify. ";
                }
                if (entry.CountWithin50 > species.WarningCount)
                {
                    Warning += "Unusually high count within 50m, please verify. ";
                }
            }
        }
Example #5
0
 private static void validateObjectEquality(FiftyMeterPointSurvey survey, PointSurvey_ado adoPointSurvey)
 {
     Assert.IsNotNull(adoPointSurvey, "There is no PointSurvey with the ID to test for");
     Assert.AreEqual(TestHelper.TestString(survey.EndTimeStamp.Value), TestHelper.TestString(adoPointSurvey.EndTime), "EndTimeStamp");
     Assert.AreEqual(survey.Id, adoPointSurvey.EventId, "PointSurveyId");
     Assert.AreEqual(survey.LocationId, adoPointSurvey.LocationId, "LocationId");
     Assert.AreEqual(TestHelper.TestString(survey.StartTimeStamp.Value), TestHelper.TestString(adoPointSurvey.StartTime), "StartTimeStamp");
     Assert.AreEqual(survey.NoiseCode, adoPointSurvey.NoiseCode, "NoiseCode");
 }
Example #6
0
        public void tPointSurvey_NoiseCode_2()
        {
            FiftyMeterPointSurvey sut = new FiftyMeterPointSurvey()
            {
                NoiseCode = 2
            };
            string text = sut.NoiseCodeText;

            Assert.AreEqual("Noticeable reduction of hearing", text);
        }
Example #7
0
        public void tPointSurvey_NoiseCode_1()
        {
            FiftyMeterPointSurvey sut = new FiftyMeterPointSurvey()
            {
                NoiseCode = 1
            };
            string text = sut.NoiseCodeText;

            Assert.AreEqual("Barely reduces hearing", text);
        }
Example #8
0
        public void tPointSurvey_NoiseCode_0()
        {
            FiftyMeterPointSurvey sut = new FiftyMeterPointSurvey()
            {
                NoiseCode = 0
            };
            string text = sut.NoiseCodeText;

            Assert.AreEqual("No background noise", text);
        }
Example #9
0
        public void tPointSurvey_NoiseCode_3()
        {
            FiftyMeterPointSurvey sut = new FiftyMeterPointSurvey()
            {
                NoiseCode = 3
            };
            string text = sut.NoiseCodeText;

            Assert.AreEqual("Prohibitive (greatly reduces hearing)", text);
        }
Example #10
0
        /// <summary>
        /// Saves the specified  <see cref="FiftyMeterPointSurvey"/> object.
        /// </summary>
        /// <param name="survey">The FiftyMeterPointSurvey object to save.</param>
        private static void save(FiftyMeterPointSurvey survey)
        {
            List <QueryParameter> queryList = EventBaseMapper.CreateSaveParameters(survey);

            queryList.AddRange(new List <QueryParameter>()
            {
                new QueryParameter("NoiseCode", survey.NoiseCode),
                new QueryParameter("SiteVisitId", survey.SiteVisitId)
            });
            BaseMapper.SaveObject(survey, queryList, TABLE_NAME);
        }
Example #11
0
        private static FiftyMeterPointSurvey Load(IDataReader reader)
        {
            FiftyMeterPointSurvey survey = new FiftyMeterPointSurvey();

            EventBaseMapper.Load(reader, survey);

            survey.NoiseCode   = reader.GetByteFromName("NoiseCode");
            survey.SiteVisitId = reader.GetGuidFromName("SiteVisitId");

            return(survey);
        }
Example #12
0
        public void t_PointSurvey_CreateNewPointSurvey()
        {
            safnet.iba.Business.Entities.Moles.MSafnetBaseEntity.AllInstances.SetNewId = (SafnetBaseEntity entity) => { return(entity.Id = LookupConstants.LocationTypeParent); };

            Guid pointId = LookupConstants.LocationTypeSite;

            FiftyMeterPointSurvey actual = FiftyMeterPointSurvey.CreateNewPointSurvey(pointId);

            Assert.IsNotNull(actual, "object is null");
            Assert.AreEqual(LookupConstants.LocationTypeParent, actual.Id, "ID not assigned");
            Assert.AreEqual(pointId, actual.LocationId, "LocationId not assigned");
        }
    private void saveSurvey()
    {
        FiftyMeterPointSurvey survey = getCurrentPointSurvey();

        DateTime newStartTime =
            DateTime.Parse(this.UserState.SiteVisit.StartTimeStamp.Value.ToShortDateString() + " " + this.Time.Text);

        survey.EndTimeStamp   = newStartTime.AddMinutes(5);
        survey.StartTimeStamp = newStartTime;
        survey.NoiseCode      = byte.Parse(this.NoiseCodeDropDown.SelectedValue);

        PointSurveyMapper.Update(survey);
    }
        public void t_CreateSaveParameters_50m_NullEndTimeStamp()
        {
            FiftyMeterPointSurvey survey = new FiftyMeterPointSurvey()
            {
                EndTimeStamp   = null,
                Id             = TestHelper.TestGuid1,
                LocationId     = TestHelper.TestGuid2,
                NoiseCode      = 1,
                SiteVisitId    = TestHelper.TestGuid3,
                StartTimeStamp = DateTime.Now
            };

            EventBaseMapper.CreateSaveParameters(survey);
        }
    private void ObservationsList_ItemInserting(object sender, ListViewInsertEventArgs e)
    {
        if (Page.IsValid)
        {
            // Add the current survey ID to the object before it is saved
            FiftyMeterPointSurvey survey = getCurrentPointSurvey();
            if (survey != null)
            {
                e.Values.Add("PointSurveyId", survey.Id);
            }

            saveSurvey();
        }
    }
    private void loadPointSurveyForm()
    {
        FiftyMeterPointSurvey survey = getCurrentPointSurvey();

        if (survey != null)
        {
            this.PointCountObservationDataSource.DataBind();

            this.NoiseCodeDropDown.DataBind();
            this.NoiseCodeDropDown.Items.FindByValue(survey.NoiseCode.ToString()).Selected = true;
            if (survey.StartTimeStamp.HasValue)
            {
                this.Time.Text = survey.StartTimeStamp.Value.ToString("H:mm");
            }


            this.PointCountObservationDataSource.Select();
        }
    }
        public void t_Load_50m_Normal()
        {
            DataTable table = new DataTable();

            table.Columns.Add("Id", typeof(Guid));
            table.Columns.Add("EndTime", typeof(DateTime));
            table.Columns.Add("LocationId", typeof(Guid));
            table.Columns.Add("StartTime", typeof(DateTime));
            table.Columns.Add("NoiseCode", typeof(byte));
            table.Columns.Add("IsDataEntryComplete", typeof(bool));


            Guid     id         = TestHelper.TestGuid1;
            Guid     locationId = TestHelper.TestGuid2;
            DateTime?start      = DateTime.Now;
            DateTime?end        = DateTime.Now.AddHours(1);

            DataRow row = table.NewRow();

            row["Id"]                  = id;
            row["EndTime"]             = end;
            row["LocationId"]          = locationId;
            row["StartTime"]           = start;
            row["NoiseCode"]           = 1;
            row["IsDataEntryComplete"] = true;

            table.Rows.Add(row);

            IDataReader reader = table.CreateDataReader();

            Assert.IsTrue(reader.Read(), "Reader failed");

            FiftyMeterPointSurvey survey = new FiftyMeterPointSurvey();

            EventBaseMapper.Load(reader, survey);

            Assert.IsNotNull(survey, "Survey object is null");
            Assert.AreEqual(id, survey.Id, "Id");
            Assert.AreEqual(locationId, survey.LocationId, "LocationId");
            Assert.AreEqual(start, survey.StartTimeStamp, "StartTimeStamp");
            Assert.AreEqual(end, survey.EndTimeStamp, "EndTimeStamp");
        }
Example #18
0
        public void t_PointSurvey_Select_ByGuid()
        {
            PointSurvey_ado setupObject = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                setupObject = PointSurvey_ado.CreatePointSurvey_ado(TestHelper.TestGuid3, TestHelper.TestGuid1,
                                                                    DateTime.Now, DateTime.Now.AddMinutes(5));
                setupObject.NoiseCode   = 0;
                setupObject.SiteVisitId = TestHelper.TestGuid1;
                iba.AddToPointSurvey_ado1(setupObject);
            });
            List <PointSurvey_ado> extraList = DbTestHelper.LoadExtraneousPointSurveys();

            // Exercise the test
            FiftyMeterPointSurvey resultObject = PointSurveyMapper.Select(setupObject.EventId);

            validateObjectEquality(resultObject, setupObject);
        }
        public void t_CreateSaveParameters_50m_Normal()
        {
            FiftyMeterPointSurvey survey = new FiftyMeterPointSurvey()
            {
                EndTimeStamp   = DateTime.Now,
                Id             = TestHelper.TestGuid1,
                LocationId     = TestHelper.TestGuid2,
                NoiseCode      = 1,
                SiteVisitId    = TestHelper.TestGuid3,
                StartTimeStamp = DateTime.Now.AddHours(-1.0)
            };

            List <QueryParameter> resultList = EventBaseMapper.CreateSaveParameters(survey);

            Assert.IsNotNull(resultList, "Result list is null");
            Assert.AreEqual(4, resultList.Count, "Wrong number of parameters");
            Assert.AreEqual(survey.Id, resultList.First(x => x.Name.Equals("Id")).Value, "Id");
            Assert.AreEqual(survey.EndTimeStamp, resultList.First(x => x.Name.Equals("EndTime")).Value, "EndTimeStamp");
            Assert.AreEqual(survey.LocationId, resultList.First(x => x.Name.Equals("LocationId")).Value, "LocationId");
            Assert.AreEqual(survey.StartTimeStamp, resultList.First(x => x.Name.Equals("StartTime")).Value, "StartTimeStamp");
        }
Example #20
0
        public void t_PointSurvey_Save_Update()
        {
            PointSurvey_ado setupObject = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                setupObject = PointSurvey_ado.CreatePointSurvey_ado(TestHelper.TestGuid3, TestHelper.TestGuid1,
                                                                    DateTime.Now, DateTime.Now.AddMinutes(5));
                setupObject.NoiseCode   = 0;
                setupObject.SiteVisitId = TestHelper.TestGuid1;
                iba.AddToPointSurvey_ado1(setupObject);
            });
            List <PointSurvey_ado> extraList = DbTestHelper.LoadExtraneousPointSurveys();

            // Setup object to be saved. Change everything except the Id.
            FiftyMeterPointSurvey toSave = new FiftyMeterPointSurvey()
            {
                Id             = setupObject.EventId,
                EndTimeStamp   = setupObject.EndTime.AddHours(1),
                LocationId     = TestHelper.TestGuid4,
                NoiseCode      = 0,
                StartTimeStamp = setupObject.StartTime.AddHours(0.5)
            };

            // Execute the test
            PointSurveyMapper.Update(toSave);

            // Validate results
            using (IbaUnitTestEntities iba = new IbaUnitTestEntities())
            {
                var PointSurveyQuery = from PointSurveys in iba.PointSurvey_ado1 select PointSurveys;
                Assert.IsNotNull(PointSurveyQuery, "Query result is null");
                Assert.AreEqual(extraList.Count() + 1, PointSurveyQuery.Count(), "Wrong number of results in query");
                PointSurvey_ado adoPointSurvey = PointSurveyQuery.First(x => x.EventId == setupObject.EventId);
                validateObjectEquality(toSave, adoPointSurvey);

                validateExtraPointSurveyAdos(extraList, PointSurveyQuery);
            }
        }
Example #21
0
        public void t_PointSurvey_Save_Insert()
        {
            FiftyMeterPointSurvey toInsert = new FiftyMeterPointSurvey()
            {
                Id             = TestHelper.TestGuid1,
                EndTimeStamp   = DateTime.Now,
                LocationId     = TestHelper.TestGuid4,
                NoiseCode      = 0,
                StartTimeStamp = DateTime.Now.AddHours(-2)
            };

            PointSurveyMapper.Insert(toInsert);

            using (IbaUnitTestEntities iba = new IbaUnitTestEntities())
            {
                var PointSurveyQuery = from PointSurveys in iba.PointSurvey_ado1 select PointSurveys;
                Assert.IsNotNull(PointSurveyQuery, "Query result is null");
                Assert.AreEqual(1, PointSurveyQuery.Count(), "Wrong number of results in query");
                PointSurvey_ado adoPointSurvey = PointSurveyQuery.First();
                validateObjectEquality(toInsert, adoPointSurvey);
            }
        }
Example #22
0
    private void PointSurveyList_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        ListViewDataItem      item   = (ListViewDataItem)e.Item;
        FiftyMeterPointSurvey survey = (FiftyMeterPointSurvey)item.DataItem;


        // find the SamplingPoint in order to get the right text for the PointName label
        SamplingPoint point =
            this.UserState.PointsRemaining.Union(this.UserState.PointsCompleted)
            .SingleOrDefault(x => x.Id.Equals(survey.SamplingPointId));

        if (point == null)
        {
            Master.SetErrorMessage(
                "<p>Apologies for the inconvenience, but there seems to have been an unexpected problem. Please close this browser window and start your data entry session over.</p>");
            return;
        }
        Label pointName = item.FindControl("SurveyPointName") as Label;

        pointName.Text = point.Name;

        Label startTime = item.FindControl("SurveyStartTime") as Label;
        Label noise     = item.FindControl("SurveyNoise") as Label;
        Label count     = item.FindControl("SurveyCountSpecies") as Label;


        if (survey.StartTimeStamp.HasValue)
        {
            startTime.Text = survey.StartTimeStamp.Value.ToString("yyyy-MM-dd HH:mm");
            noise.Text     = survey.NoiseCode + " - " + survey.NoiseCodeText;
            count.Text     = survey.Observations.GroupBy(x => x.SpeciesCode).Count().ToString();
        }
        else
        {
            startTime.Text = noise.Text = count.Text = "n/a";
        }
    }
Example #23
0
        public void t_PointSurvey_Constructor()
        {
            FiftyMeterPointSurvey survey = new FiftyMeterPointSurvey();

            Assert.IsNotNull(survey);
        }
Example #24
0
 public static void Update(FiftyMeterPointSurvey survey)
 {
     save(survey);
 }
Example #25
0
 public static void Insert(FiftyMeterPointSurvey survey)
 {
     save(survey);
 }
Example #26
0
 public static void Delete(FiftyMeterPointSurvey survey)
 {
     BaseMapper.DeleteObject(survey, TABLE_NAME);
 }