private void GenerateCaseReports(int daysToGenerate, List <Guid> dataCollectorGuids, List <Tuple <double, double, Guid> > gpsLocations) { var maxNumberOfReportsDaily = 7; var maxNumberOfMalesUnderFive = 3; var maxNumberOfMalesFiveOrAbove = 5; var maxNumberOfFemalesUnderFive = 6; var maxNumberOfFemalesFiveOrAbove = 10; Random rnd = new Random(); for (int dayOffset = daysToGenerate; dayOffset >= 0; dayOffset--) { var numberOfDailyReports = rnd.Next(maxNumberOfReportsDaily); for (int j = 0; j < numberOfDailyReports; j++) { var gpsRandom = new Random().Next(0, gpsLocations.Count - 1); var caseReport = new CaseReport( Guid.NewGuid(), dataCollectorGuids.ElementAt(rnd.Next(0, dataCollectorGuids.Count - 3)), gpsLocations.ElementAt(gpsRandom).Item3, "phoneNumber", "test message", rnd.Next(maxNumberOfMalesUnderFive), rnd.Next(maxNumberOfMalesFiveOrAbove), rnd.Next(maxNumberOfFemalesUnderFive), rnd.Next(maxNumberOfFemalesFiveOrAbove), gpsLocations.ElementAt(gpsRandom).Item2, gpsLocations.ElementAt(gpsRandom).Item1, DateTimeOffset.UtcNow.AddDays(-dayOffset)); _caseReportsEventHandler.Handle(caseReport); } } }
public ActionResult <IEnumerable <string> > HealthRisks() { var caseReports = JsonConvert.DeserializeObject <CaseReport[]>(System.IO.File.ReadAllText("./TestData/CaseReports.json")); foreach (var caseReport in caseReports) { var report = new CaseReport( Guid.NewGuid(), caseReport.DataCollectorId, caseReport.HealthRisk, caseReport.Origin, caseReport.Message, caseReport.NumberOfMalesUnder5, caseReport.NumberOfMalesAged5AndOlder, caseReport.NumberOfFemalesUnder5, caseReport.NumberOfFemalesAged5AndOlder, caseReport.Longitude, caseReport.Latitude, DateTimeOffset.UtcNow); _caseReportsEventHandler.Handle(report); } return(caseReports.Select(x => x.Message).ToArray()); }
public void TestCaseReport() { IReports report = new CaseReport(); string result = report.CreateReport(); Assert.AreEqual("Case Report", result); }
public void Process(CaseReported @event) { var caseReport = _caseReports.GetById(@event.Id); if (caseReport == null) { caseReport = new CaseReport { Id = @event.Id, DataCollectorId = @event.DataCollectorId, HealthRiskId = @event.HealthRiskId, Location = @event.Location, SubmissionTimestamp = @event.CaseOccured }; } else { caseReport.Id = @event.Id; caseReport.DataCollectorId = @event.DataCollectorId; caseReport.HealthRiskId = @event.HealthRiskId; caseReport.Location = @event.Location; caseReport.SubmissionTimestamp = @event.CaseOccured; } _caseReports.Save(caseReport); var disease = _healthRisks.GetById(caseReport.HealthRiskId) ?? new HealthRisk { Id = @event.HealthRiskId, ThresholdTimePeriodInDays = 7, ThresholdNumberOfCases = 3 }; var latestReports = _caseReports.GetCaseReportsAfterDate( DateTime.UtcNow.Subtract(TimeSpan.FromDays(disease.ThresholdTimePeriodInDays)), caseReport.HealthRiskId); if (latestReports.Count > disease.ThresholdNumberOfCases) { var alert = _alerts.Get(caseReport.HealthRiskId, caseReport.Location); if (alert == null) { alert = new Alert { Id = Guid.NewGuid(), HealthRiskId = caseReport.HealthRiskId, Location = caseReport.Location, }; } alert.CaseReports.Add(caseReport); _alerts.Save(alert); // Todo: Temporary fix - we're not supposed to do this, awaiting the new Policy building block in doLittle to be ready var stream = new UncommittedEventStream(null); stream.Append(new AlertRaised(), EventSourceVersion.Zero.NextCommit()); _uncommittedEventStreamCoordinator.Commit(TransactionCorrelationId.New(), stream); _feedbackService.SendFeedbackToDataCollecorsAndVerifiers(latestReports); } }
private void SaveCaseReport(CaseReport report) { using (var db = new CriminalsContext()) { db.CaseReports.Add(report); db.SaveChanges(); } }
public async Task DeleteCaseReport(CaseReport caseReport) { if (!(await _unitOfWork.CaseReports.IsExists(caseReport.Id))) { throw new NullReferenceException(); } _unitOfWork.CaseReports.Remove(caseReport); await _unitOfWork.CommitAsync(); }
public BasicTestCase() { ActiveCaseContentPool = new Dictionary<int, CaseContentItem>(); ActiveCaseMethodPool = new Dictionary<int, CaseMethodItem>(); ActiveCaseWebBrowserPool = new Dictionary<int, CaseMethodItem>(); ActiveCaseSelectorPool = new Dictionary<int, CaseMethodItem>(); ActiveCaseDataSourcePool = new Dictionary<string, XmlDocument>(); ActiveLoopPool = new List<LoopItem>(); ActiveTestCaseReport = new CaseReport(); ActiveDataBuffer = new Dictionary<string, string>(); ActiveMailList = new List<string>(); }
public CaseReportExpanded(CaseReport caseReport, DataCollector dataCollector, HealthRisk healthRisk) { Id = caseReport.Id; NumberOfFemalesOver5 = caseReport.NumberOfFemalesOver5; NumberOfFemalesUnder5 = caseReport.NumberOfFemalesUnder5; NumberOfMalesOver5 = caseReport.NumberOfMalesOver5; NumberOfMalesUnder5 = caseReport.NumberOfMalesUnder5; Timestamp = caseReport.Timestamp; Location = caseReport.Location; DataCollector = dataCollector; HealthRisk = healthRisk; }
public void UpdateCaseReport_NoItemForUpdate_NullReferenceException() { // Arrange var(unitOfWork, caseReportRepo, dbCollectionCaseReport) = GetMocks(); var service = new CaseReportService(unitOfWork.Object); var caseReport = new CaseReport() { Diagnosis = "Update Track" }; // Act + Assert Assert.ThrowsAsync <NullReferenceException>(async() => await service.UpdateCaseReport(0, caseReport)); }
public async Task <CaseReport> CreateCaseReport(CaseReport newCaseReport) { if (newCaseReport is null) { throw new NullReferenceException(); } await _unitOfWork.CaseReports.AddAsync(newCaseReport); await _unitOfWork.CommitAsync(); return(newCaseReport); }
public void UpdateCaseReport_EmptyFullName_InvalidDataException() { // Arrange var(unitOfWork, caseReportRepo, dbCollectionCaseReport) = GetMocks(); var service = new CaseReportService(unitOfWork.Object); var caseReport = new CaseReport() { Diagnosis = "" }; // Act + Assert Assert.ThrowsAsync <InvalidDataException>(async() => await service.UpdateCaseReport(27, caseReport)); }
public void DeleteCaseReport_ItemDoesNotExists_NullReferenceException() { // Arrange var(unitOfWork, caseReportRepo, dbCollectionCaseReport) = GetMocks(); var service = new CaseReportService(unitOfWork.Object); var caseReport = new CaseReport { Id = 0, Diagnosis = "Delete Diagnosis" }; // Act + Assert Assert.ThrowsAsync <NullReferenceException>(async() => await service.DeleteCaseReport(caseReport)); }
public void ReportReceived(CaseReport caseReport) { var totalReportedCases = caseReport.NumberOfFemalesAged5AndOlder + caseReport.NumberOfFemalesUnder5 + caseReport.NumberOfMalesAged5AndOlder + caseReport.NumberOfMalesUnder5; if (ReportsPerDay.Keys.Contains(caseReport.Timestamp)) { ReportsPerDay[caseReport.Timestamp] += totalReportedCases; } else { ReportsPerDay[caseReport.Timestamp] = totalReportedCases; } }
public ActionResult AddImage(CaseReport model, HttpPostedFileBase imgInp) { var db = new TeraEntities3(); if (imgInp != null) { model.CaseReportPhoto = new byte[imgInp.ContentLength]; imgInp.InputStream.Read(model.CaseReportPhoto, 0, imgInp.ContentLength); } db.CaseReports.Add(model); db.SaveChanges(); return(View(model)); }
public void GivenCaseReportExistsInDatabase() { using (var db = new CriminalsContext()) { var caseReport = new CaseReport { DocketNumber = _docketNumber, Title = "Jessie James Report", Description = "Jessie James broke out of prison.", OpenDate = DateTime.Now }; db.CaseReports.Add(caseReport); db.SaveChanges(); } }
public void GivenCaseReportInDatabase() { _caseReport = new CaseReport { DocketNumber = _docketNumber, Title = "Saved Case Report Title", Description = "Saved Report Description", OpenDate = DateTime.Now }; using (var db = new CriminalsContext()) { db.CaseReports.Add(_caseReport); db.SaveChanges(); } }
private static void SavedCaseReport(Guid docketNumber) { using (var db = new CriminalsContext()) { var caseReport = new CaseReport { DocketNumber = docketNumber, Title = $"Test Title {docketNumber}", Description = $"Test Description {docketNumber}", OpenDate = DateTime.Now }; db.CaseReports.Add(caseReport); db.SaveChanges(); } }
public async Task DeleteCaseReport_TargetItem_Success() { // Arrange var(unitOfWork, caseReportRepo, dbCollectionCaseReport) = GetMocks(); var service = new CaseReportService(unitOfWork.Object); var caseReport = new CaseReport { Id = 26, Diagnosis = "Delete Diagnosis" }; // Act await service.DeleteCaseReport(caseReport); // Assert Assert.IsFalse(dbCollectionCaseReport.ContainsKey(26)); }
public async Task UpdateCaseReport_FullInfo_Success() { // Arrange var(unitOfWork, caseReportRepo, dbCollectionCaseReport) = GetMocks(); var service = new CaseReportService(unitOfWork.Object); var caseReport = new CaseReport { PatientId = 27, Diagnosis = "New Diagnosis" }; // Act await service.UpdateCaseReport(27, caseReport); // Assert Assert.AreEqual((await unitOfWork.Object.CaseReports.GetWithPatientByIdAsync(27)).Diagnosis, caseReport.Diagnosis); }
public async Task CreateCaseReport_FullInfo_Success() { // Arrange var(unitOfWork, caseReportRepo, dbCollection) = GetMocks(); var service = new CaseReportService(unitOfWork.Object); var caseReport = new CaseReport { Id = 28, Diagnosis = "New Diagnosis", Description = "New Description" }; // Act await service.CreateCaseReport(caseReport); // Assert Assert.IsTrue(dbCollection.ContainsKey(caseReport.Id)); }
public ActionResult SubmitReport(CaseReport UI, HttpPostedFileBase image1) { _IDataProvider.InsertCaseReport(UI, image1); ViewBag.VBLayout = Layout_CU; ViewBag.DATETIMENOW = DateTime.Now.Date.ToLongDateString() + " - " + DateTime.Now.TimeOfDay; ViewBag.Title = LabelStruct.CommunityUser.SubmitReport; const string quote = "\""; var html = "<div class=" + quote + "card mb-4" + quote + "><div class=" + quote + "card-body" + quote + ">" + "Environmental Concern Submitted! (" + ViewBag.DATETIMENOW + ") " + UI.Concern + " " + UI.CaseLocation + "</div></div>"; var script = "<script>Swal.fire( 'Report Submitted!','Please go to View Status to check the progress of your report!','success')</script>"; //TempData["message"] = "Environmental Concern Submitted! ("+ViewBag.DATETIMENOW+") "+UI.Concern+" "+UI.CaseLocation; TempData["message"] = script; return(View()); }
public CaseReportViewModel Execute() { using (var context = new CriminalsContext()) { var dbCaseReport = new CaseReport { DocketNumber = Guid.NewGuid(), Title = _caseReport.Title, Description = _caseReport.Description, OpenDate = DateTime.Now }; context.CaseReports.Add(dbCaseReport); context.SaveChanges(); } return(_caseReport); }
public async Task UpdateCaseReport(int id, CaseReport caseReport) { if (!await _unitOfWork.CaseReports.IsExists(id)) { throw new NullReferenceException(); } if (caseReport.Diagnosis.Length <= 0 || caseReport.Diagnosis.Length > 50 || caseReport.Description.Length <= 0 || caseReport.Description.Length >= 100 || caseReport.PatientId <= 0) { throw new InvalidDataException(); } var caseReportToBeUpdated = await GetCaseReportById(id); caseReportToBeUpdated.Diagnosis = caseReport.Diagnosis; caseReportToBeUpdated.Description = caseReport.Description; caseReportToBeUpdated.PatientId = caseReport.PatientId; await _unitOfWork.CommitAsync(); }
public ActionResult AddImage() { CaseReport c1 = new CaseReport(); return(View(c1)); }
public ActionResult UpdateCaseReportConcern(CaseReport UI) { var data = _IDataProvider.UpdateCaseReportConcern(UI); return(Json(data, JsonRequestBehavior.AllowGet)); }
public ActionResult UpdateCaseReportToCompleted(CaseReport UI, HttpPostedFileBase image1) { var data = _IDataProvider.UpdateCaseReport_Completed(UI, image1); return(Json(data, JsonRequestBehavior.AllowGet)); }