public IHttpActionResult PostDiseaseTypeModify(DiseaseDto disease) { string msg = ""; if (disease == null) { msg = "参数错误"; } var diseaseToUpdate = _context.Diseases.Find(disease.Id); diseaseToUpdate.Name = disease.Name; diseaseToUpdate.DiseaseTypeId = disease.DiseaseTypeId; try { _context.Entry(diseaseToUpdate).State = EntityState.Modified; _context.SaveChanges(); msg = "修改成功"; } catch (RetryLimitExceededException) { msg = "网络故障"; } var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }"; return(Ok(str)); }
public async Task GetDiseaseByNameAsync() { var diseaseId = Guid.Parse("00000000-0000-0000-0000-000000000001"); const string name = "tuberkulosis"; var diseaseDto = new DiseaseDto { Id = diseaseId, Name = name }; var expectedResult = new List <DiseaseDto> { diseaseDto }; var returnedResult = new QueryResultDto <DiseaseDto, DiseaseFilterDto> { Items = new List <DiseaseDto> { diseaseDto } }; var mockManager = new FacadeMockManager(); var diseaseRepositoryMock = mockManager.ConfigureRepositoryMock <Disease>(); var diseaseQueryMock = mockManager.ConfigureQueryObjectMock <DiseaseDto, Disease, DiseaseFilterDto>(returnedResult); var sympthomRepositoryMock = mockManager.ConfigureRepositoryMock <Sympthom>(); var sympthomQueryMock = mockManager.ConfigureQueryObjectMock <SympthomDto, Sympthom, SympthomFilterDto>(null); var diseaseFacade = CreateDiseaseFacade(diseaseQueryMock, diseaseRepositoryMock, sympthomQueryMock, sympthomRepositoryMock); var actualResult = await diseaseFacade.GetDiseaseByNameAsync("tuber"); Assert.AreEqual(actualResult, expectedResult); }
public async Task <ActionResult> AddDiseaseHealthCard(AddDiseaseModel addDiseaseModel) { List <Guid> existingSympthomGuids = new List <Guid>(); DiseaseDto diseaseToCreateDto = new DiseaseDto { Name = addDiseaseModel.Name }; var diseaseGuid = await DiseaseFacade.CreateDiseaseAsync(diseaseToCreateDto); var sympthomStrings = addDiseaseModel.Sypthoms.Split(','); foreach (var sympthom in sympthomStrings) { var sympthomsByName = await SympthomFacade.GetSympthomByNameAsync(sympthom); if (sympthomsByName.Count() != 0) { existingSympthomGuids.Add(sympthomsByName.First().Id); } else { SympthomDto newSympthomDto = new SympthomDto { Name = sympthom }; existingSympthomGuids.Add(await SympthomFacade.CreateSympthomAsync(newSympthomDto)); } } await MatchDiseaseAndSypthoms(diseaseGuid, existingSympthomGuids); string identificationNum = await UpdateHealthCard(new HealthCardUpdateModel { DiseaseId = diseaseGuid }); return(RedirectToAction("PatientAskForGetInfoDoctor", "Patient", new { identificationNumber = identificationNum })); }
private async Task <Guid> MatchDiseaseAndHealthCard(DiseaseDto diseaseDto, HealthCardDto healthCard) { var diseaseToHealthCard = new DiseaseToHealthCardDto { DiseaseDto = diseaseDto, HealthCardDto = healthCard }; return(await DiseaseToHealthCardFacade.Create(diseaseToHealthCard)); }
public IActionResult EditDisease([FromBody] DiseaseDto diseaseDto) { if (ModelState.IsValid) { _diseaseService.EditDisease(diseaseDto); return(Ok()); } return(BadRequest()); }
public IActionResult AddDisease([FromBody] DiseaseDto diseaseDto) { if (ModelState.IsValid) { _diseaseService.AddDisease(diseaseDto); return(StatusCode(StatusCodes.Status201Created)); } return(BadRequest()); }
public async Task <Guid> CreateDiseaseAsync(DiseaseDto disease) { // need to create Sympthom as well? using (var uow = UnitOfWorkProvider.Create()) { var diseaseId = diseaseService.Create(disease); await uow.Commit(); return(diseaseId); } }
public async Task <ActionResult> Create(DiseaseDto disease) { if (!ModelState.IsValid) { return(View(disease)); } await _repository.CreateAsync(disease); return(RedirectToAction("Details", "Doctors", new { id = disease.DoctorId })); }
public async Task PostDiseaseAsync(DiseaseDto diseaseDto) { var disease = new Disease { // DiseaseId=diseaseDto.DiseaseDtoId, Name = diseaseDto.Name }; _context.Disease.Add(disease); await _context.SaveChangesAsync(); }
public async Task <DiseaseDto> GetDiseaseAsync(int id) { var diseaseDto = new DiseaseDto(); var disease = await _context.Disease.FirstOrDefaultAsync(x => x.DiseaseId == id); if (disease != null) { diseaseDto.DiseaseDtoId = disease.DiseaseId; diseaseDto.Name = disease.Name; } return(diseaseDto); }
public async Task <List <DiagnosticResultDto> > GetResult(List <Guid> SymptomIds) { try { using (DHContext db = new DHContext()) { var AllDisease = await db.Diseases.Include(d => d.ICD).Include(d => d.Symptoms).ToListAsync(); List <DiagnosticResultDto> result = new List <DiagnosticResultDto>(); foreach (var disease in AllDisease) { DiagnosticResultDto currnetresult = null; foreach (var diseaseSymptom in disease.Symptoms) { if (SymptomIds.Contains(diseaseSymptom.Id)) { if (currnetresult == null) { currnetresult = new DiagnosticResultDto(); currnetresult.NumberOfCoincidences = 1; var diseaseresult = new DiseaseDto { Id = disease.Id, Description = disease.Description, ICDID = disease.ICDID, ICDName = disease.ICD.Name, Name = disease.Name, SymptomIds = disease.Symptoms.Select(s => s.Id).ToList(), SymptomNames = disease.Symptoms.Select(s => s.Name).ToList() }; currnetresult.Disease = diseaseresult; } else { currnetresult.NumberOfCoincidences++; } } } if (currnetresult != null) { result.Add(currnetresult); } } return(result.OrderByDescending(r => r.NumberOfCoincidences).ToList()); } } catch (Exception exc) { _logger.Error($"Failed get result for diagnostic : {exc}"); throw; } }
public async Task <bool> EditDiseaseAsync(DiseaseDto diseaseDto) { using (var uow = UnitOfWorkProvider.Create()) { if ((await diseaseService.GetAsync(diseaseDto.Id, false)) == null) { return(false); } await diseaseService.Update(diseaseDto); await uow.Commit(); return(true); } }
public async Task <IList <DiseaseDto> > GetAllAsync() { var diseasesDto = new List <DiseaseDto>(); var diseases = await _context.Disease.ToListAsync(); foreach (var item in diseases) { var diseaseDto = new DiseaseDto(); diseaseDto.DiseaseDtoId = item.DiseaseId; diseaseDto.Name = item.Name; //diseaseDto.diseaseTypeDto = item.DiseaseType; diseasesDto.Add(diseaseDto); } return(diseasesDto); }
public static async Task <DiseaseDto> DiseaseParser(SqlDataReader reader) { var disease = new DiseaseDto { Id = await reader.GetFieldValueAsync <int>(0), PatientId = await reader.GetFieldValueAsync <int>(1), DoctorId = await reader.GetFieldValueAsync <int>(2), Name = await reader.GetFieldValueAsync <string>(3), StartAt = await reader.GetFieldValueAsync <DateTime>(4), EndAt = await reader.IsDBNullAsync(5) ? null : await reader.GetFieldValueAsync <DateTime?>(5), ProfileName = await reader.GetFieldValueAsync <string>(6), Doctor = new DoctorDto(), Patient = new PatientDto() }; return(disease); }
public async Task <DiseaseDto> PostDiseaseAsync(DiseaseDto diseaseDto) { var disease = new Disease { // DiseaseId=diseaseDto.DiseaseDtoId, Name = diseaseDto.Name }; _context.Disease.Add(disease); await _context.SaveChangesAsync(); var value = new DiseaseDto { DiseaseDtoId = disease.DiseaseId, Name = disease.Name }; return(value); }
public async Task <DiseaseTypeDto> GetDiseaseAsync(int id) { var diseaseTypeDto = new DiseaseTypeDto(); var diseaseType = await _context.DiseaseType.FirstOrDefaultAsync(x => x.DiseaseTypeId == id); if (diseaseType != null) { diseaseTypeDto.DiseaseTypeId = diseaseType.DiseaseTypeId; diseaseTypeDto.TypeOfDisease = diseaseType.TypeOfDisease; diseaseTypeDto.Disease = new List <DiseaseDto>(); foreach (var item in diseaseTypeDto.Disease) { var disease = new DiseaseDto(); disease.DiseaseDtoId = item.DiseaseDtoId; disease.Name = item.Name; diseaseTypeDto.Disease.Add(disease); } } return(diseaseTypeDto); }
public IHttpActionResult PostDiseaseTAdd(DiseaseDto disease) { string msg = ""; if (disease == null) { msg = "参数错误"; } var diseaseToAdd = Mapper.Map <DiseaseDto, Disease>(disease); try { _context.Diseases.Add(diseaseToAdd); _context.SaveChanges(); msg = "添加成功"; } catch (RetryLimitExceededException) { msg = "网络故障"; } var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }"; return(Ok(str)); }
public async Task <IActionResult> PostDiseaseAsync(DiseaseDto diseaseDto) { return(Ok(await _diseaseService.PostDiseaseAsync(diseaseDto))); }
public IHttpActionResult PostDiseaseDelete(DiseaseDto disease) { string msg = ""; if (disease == null) { msg = "参数错误"; } var diseaseToDelete = _context.Diseases.Find(disease.Id); _context.Entry(diseaseToDelete).Collection(u => u.DiseaseCases).Load(); foreach (DiseaseCase dc in diseaseToDelete.DiseaseCases) { _context.Entry(dc).Collection(u => u.DiseaseCaseTabs).Load(); foreach (DiseaseCaseTab dct in dc.DiseaseCaseTabs) { _context.Entry(dct).Collection(u => u.Analyses); _context.Entry(dct).Collection(u => u.Drugs); _context.Entry(dct).Collection(u => u.Texts); _context.Entry(dct).Collection(u => u.Pictures); _context.Entry(dct).Collection(u => u.Videos); } } if (diseaseToDelete == null) { msg = "删除失败,该用户不存在"; } else { try { DiseaseDto diseaseToDeleteDto = Mapper.Map <Disease, DiseaseDto>(diseaseToDelete); foreach (DiseaseCaseDto dc in diseaseToDeleteDto.DiseaseCases) { var diseaseCase = _context.DiseaseCases.Find(dc.Id); _context.Entry(diseaseCase).Collection(u => u.Diseases).Load(); _context.Entry(diseaseCase).Collection(u => u.DiseaseCaseTabs).Load(); if (diseaseCase.Diseases.Count == 1) { foreach (DiseaseCaseTabDto dct in dc.DiseaseCaseTabs) { var diseaseCaseTab = _context.DiseaseCaseTabs.Find(dct.Id); _context.Entry(diseaseCaseTab).Collection(u => u.Analyses).Load(); _context.Entry(diseaseCaseTab).Collection(u => u.Drugs).Load(); _context.Entry(diseaseCaseTab).Collection(u => u.Texts).Load(); _context.Entry(diseaseCaseTab).Collection(u => u.Pictures).Load(); _context.Entry(diseaseCaseTab).Collection(u => u.Videos).Load(); diseaseCaseTab.Drugs.Clear(); diseaseCaseTab.Analyses.Clear(); foreach (TextDto t in dct.Texts) { var text = _context.Texts.Find(t.Id); _context.Texts.Remove(text); } foreach (PictureDto p in dct.Pictures) { var picture = _context.Pictures.Find(p.Id); _context.Pictures.Remove(picture); } foreach (VideoDto v in dct.Videos) { var video = _context.Videos.Find(v.Id); _context.Videos.Remove(video); } diseaseCaseTab.Texts.Clear(); diseaseCaseTab.Pictures.Clear(); diseaseCaseTab.Videos.Clear(); _context.DiseaseCaseTabs.Remove(diseaseCaseTab); } diseaseCase.DiseaseCaseTabs.Clear(); _context.DiseaseCases.Remove(diseaseCase); } disease.DiseaseCases.Clear(); } _context.Diseases.Remove(diseaseToDelete); _context.SaveChanges(); msg = "删除成功"; } catch (RetryLimitExceededException) { msg = "网络故障"; } } var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }"; return(Ok(str)); }
public async Task <IActionResult> Put([FromBody] DiseaseDto disease) { return(Success(await _diseaseService.CreateAsync(disease))); }
public async Task <IActionResult> Post([FromBody] DiseaseDto disease) { await _diseaseService.UpdateAsync(disease); return(Success()); }
public IHttpActionResult PostDiseaseCaseAdd(DiseaseDto disease) { string msg = ""; if (disease == null) { msg = "参数错误"; } var diseaseToAdd = _context.Diseases.Find(disease.Id); _context.Entry(diseaseToAdd).Collection(u => u.DiseaseCases).Load(); try { Charge charge = new Charge(); charge.Amount = 0; charge.Description = ""; charge.Name = diseaseToAdd.Name + "的费用"; foreach (DiseaseCaseDto dcd in disease.DiseaseCases) { var diseaseCaseToAdd = Mapper.Map <DiseaseCaseDto, DiseaseCase>(dcd); foreach (DiseaseCaseTab dct in diseaseCaseToAdd.DiseaseCaseTabs) { switch (dct.Index) { case "2": charge.Description += "接诊费用:" + 2 + "\n"; charge.Amount += 2; break; case "3": charge.Description += "检查费用:" + 3 + "\n"; charge.Amount += 3; break; case "4": charge.Description += "诊断费用:" + 4 + "\n"; charge.Amount += 4; break; case "5": charge.Description += "治疗费用:" + 5 + "\n"; charge.Amount += 5; break; } foreach (Analysis a in dct.Analyses) { charge.Description += a.Name + ":" + a.Amount + "\n"; charge.Amount += a.Amount; } foreach (Drug d in dct.Drugs) { charge.Description += d.Name + ":" + d.Price + "\n"; charge.Amount += d.Price; } } diseaseCaseToAdd.Charge = charge; diseaseToAdd.DiseaseCases.Add(diseaseCaseToAdd); } _context.Diseases.Add(diseaseToAdd); _context.SaveChanges(); msg = "添加成功"; } catch (RetryLimitExceededException) { msg = "网络故障"; } var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }"; return(Ok(str)); }
public void EditDisease(DiseaseDto disease) { _diseaseRepository.EditDisease(_mapper.Map <DiseaseDto, Disease>(disease)); }