private void downloadWorker_DoWork(object sender, DoWorkEventArgs e) { downloadWorker.ReportProgress(0); // Add new scriptures to library int i = 0; int total = scriptures.allReferences.Count(); foreach (ScriptureReference reference in scriptures.allReferences) { /* Checks for existing scriptures that match. * Library now is reset to empty, so this is unnecessary. * int exists = -1; * foreach (int id in library.ResourceIDs) * { * ScriptureReference existing = ScriptureReference.Parse(library.GetResource(id).reference); * * if (existing != null && existing.Overlap(reference) > 1) * { * exists = id; * break; * } * }*/ StudyResource newResource = new StudyResource(reference, scriptures.Topics(reference)); if (newResource != null) { library.resources.Add(newResource); } i++; downloadWorker.ReportProgress((int)(100 * ((float)i / total))); } }
public IActionResult CreateStudy([FromBody] StudyResource studyResource) { Guid studyId = Guid.NewGuid(); // TODO: Clean up null checking to not duplicate checks Guid facilityId = studyResource.Facility != null ? studyResource.Facility.Id : Guid.Empty; string facilityName = studyResource.Facility != null ? studyResource.Facility.Name : string.Empty; Guid procedureId = studyResource.Procedure != null ? studyResource.Procedure.Id : Guid.Empty; string procedureName = studyResource.Procedure != null ? studyResource.Procedure.Name : string.Empty; Guid imageSetId = studyResource.ImageSet != null ? studyResource.ImageSet.Id : Guid.Empty; string dicomInstanceId = studyResource.ImageSet != null ? studyResource.ImageSet.DicomInstanceId : string.Empty; int totalImages = studyResource.ImageSet != null ? studyResource.ImageSet.TotalImages : 0; string patientFirstName = studyResource.Patient != null ? studyResource.Patient.FirstName : string.Empty; string patientLastName = studyResource.Patient != null ? studyResource.Patient.LastName : string.Empty; string patientGender = studyResource.Patient != null ? studyResource.Patient.Gender : string.Empty; string patientMrn = studyResource.Patient != null ? studyResource.Patient.Mrn : string.Empty; DateTime?patientDateOfBirth = studyResource.Patient != null ? studyResource.Patient.DateOfBirth : null; string referringPhysicianFirstName = studyResource.ReferringPhysician != null ? studyResource.ReferringPhysician.FirstName : string.Empty; string referringPhysicianLastName = studyResource.ReferringPhysician != null ? studyResource.ReferringPhysician.LastName : string.Empty; var command = new CreateStudyCommand(studyId, facilityId, facilityName, studyResource.AccessionNumber, procedureId, procedureName, studyResource.ProcedureDate, studyResource.Reason, imageSetId, dicomInstanceId, totalImages, totalImages, patientFirstName, patientLastName, patientGender, patientDateOfBirth, patientMrn, referringPhysicianFirstName, referringPhysicianLastName); Task.Run(() => _commandBus.Send(command)); return(Ok(studyId.ToString() + " created")); }
public void SetResource(StudyResource resource) { this.resource = resource; UpdateView(); }
public Task <ReturnStudyResource> GetStudyResource(int moduleID, string Sorting) { return(Task.Run(() => { using (MIUEntities db = new MIUEntities()) { ReturnStudyResource StudyResource = new ReturnStudyResource(); List <RecommendedEbookInfo> BookInfoList = new List <RecommendedEbookInfo>(); List <StudyResourceDetailInfo> SRInfoList = new List <StudyResourceDetailInfo>(); StudyResourceInfoList studyResourceInfoList = new StudyResourceInfoList(); try { #region LearningOutcome LearningOutcomeInfo learningOutcomeInfo = new LearningOutcomeInfo(); List <LearningOutcome> lcs = db.LearningOutcomes.Where(x => x.ModuleID == moduleID).ToList(); List <LearningOutcomeInfoList> LearningOutcomeInfoList = new List <LearningOutcomeInfoList>(); List <AssignmentCriteriaInfo> AssignmentCriterias = new List <AssignmentCriteriaInfo>(); List <AssignmentCriteriaDetailInfo> AssignmentCriteriaDetails = new List <AssignmentCriteriaDetailInfo>(); foreach (var lc in lcs) { LearningOutcomeInfoList LearningOutcome = new LearningOutcomeInfoList(); LearningOutcome.AssignmentCriteriaInfo = new List <AssignmentCriteriaInfo>(); LearningOutcome.AssignmentCriteriaDetailInfo = new List <AssignmentCriteriaDetailInfo>(); PropertyCopier <LearningOutcome, LearningOutcomeInfoList> .Copy(lc, LearningOutcome); foreach (var ac in lc.AssignmentCriterias) { if (lc.ID == ac.LearningOutcomeID) { AssignmentCriteriaInfo AssignmentCriteriaInfo = new AssignmentCriteriaInfo(); PropertyCopier <AssignmentCriteria, AssignmentCriteriaInfo> .Copy(ac, AssignmentCriteriaInfo); LearningOutcome.AssignmentCriteriaInfo.Add(AssignmentCriteriaInfo); } foreach (var acd in ac.AssignmentCriteriaDetails) { if (acd.AssignmentCriteriaID == ac.ID) { AssignmentCriteriaDetailInfo AssignmentCriteriaDetailInfo = new AssignmentCriteriaDetailInfo(); PropertyCopier <AssignmentCriteriaDetail, AssignmentCriteriaDetailInfo> .Copy(acd, AssignmentCriteriaDetailInfo); LearningOutcome.AssignmentCriteriaDetailInfo.Add(AssignmentCriteriaDetailInfo); } } } LearningOutcomeInfoList.Add(LearningOutcome); } learningOutcomeInfo.LearningOutcomeInfoList = LearningOutcomeInfoList; #endregion var items = db.StudyResources.Where(s => s.ModuleID == moduleID); if (items != null && items.Count() > 0) { StudyResource studyResource = new StudyResource(); studyResource = items.First(); PropertyCopier <StudyResource, StudyResourceInfoList> .Copy(studyResource, studyResourceInfoList); List <StudyResourceDetail> StudyResourceDetails = studyResource.StudyResourceDetails.ToList(); foreach (var StudyResourceDetail in StudyResourceDetails) { StudyResourceDetailInfo srinfo = new StudyResourceDetailInfo(); PropertyCopier <StudyResourceDetail, StudyResourceDetailInfo> .Copy(StudyResourceDetail, srinfo); srinfo.Name = MIUFileServer.GetFileUrl("Resource/" + moduleID, srinfo.Name); SRInfoList.Add(srinfo); } List <RecommendedEbook> recommendedEbooks = studyResource.RecommendedEbooks.ToList(); foreach (var recommendedEbook in recommendedEbooks) { RecommendedEbookInfo bookinfo = new RecommendedEbookInfo(); PropertyCopier <RecommendedEbook, RecommendedEbookInfo> .Copy(recommendedEbook, bookinfo); bookinfo.Name = MIUFileServer.GetFileUrl("Resource/" + moduleID, bookinfo.Name); BookInfoList.Add(bookinfo); } } StudyResource.LearningOutcomeInfo = learningOutcomeInfo; switch (Sorting) { case "all": StudyResource.RecommendedEbookInfo = BookInfoList.OrderByDescending(a => a.ModifiedDate).ToList(); break; case "ascending": StudyResource.RecommendedEbookInfo = BookInfoList.OrderBy(a => a.Name).ToList(); break; case "descending": StudyResource.RecommendedEbookInfo = BookInfoList.OrderByDescending(a => a.Name).ToList(); break; } switch (Sorting) { case "all": StudyResource.ModuleMaterials = SRInfoList.OrderByDescending(a => a.ModifiedDate).ToList(); break; case "ascending": StudyResource.ModuleMaterials = SRInfoList.OrderBy(a => a.Name).ToList(); break; case "descending": StudyResource.ModuleMaterials = SRInfoList.OrderByDescending(a => a.Name).ToList(); break; } StudyResource.StudyResourceInfo.Reference = studyResourceInfoList.Reference; return StudyResource; } catch (Exception) { return StudyResource; } } })); }