public async Task Create(PrescriptionInDTO prescriptionInDTO) { var visits = await _repositoryVisit.GetAsync(x => x, x => x.Id == prescriptionInDTO.VisitId); var visit = visits.FirstOrDefault(); Prescription prescription = new Prescription() { Comments = prescriptionInDTO.Comments, DueDate = DateTime.Now.AddDays(30), VisitId = prescriptionInDTO.VisitId, Visit = visit, PrescriptionMedicaments = new List <PrescriptionMedicament>() }; foreach (var item in prescriptionInDTO.Medicaments) { PrescriptionMedicament prescriptionMedicament = new PrescriptionMedicament(); prescriptionMedicament.Medicament = item; prescriptionMedicament.Prescription = prescription; prescription.PrescriptionMedicaments.Add(prescriptionMedicament); } await _repositoryPrescription.InsertAsync(prescription); }
public async Task <IActionResult> CurrentVisit(CurrentVisitVM vm) { if (vm.State == StateVisit.Completed) { return(RedirectToAction("TimeTable", "Home", new { area = "Doctor" })); } if (vm.selectedMedicaments != null && vm.selectedMedicaments.Count > 0) { var medicament = await _medicamentService.GetMedicamentByName(vm.selectedMedicaments); var prescriptionInDTO = new PrescriptionInDTO() { Comments = vm.DescriptionPrescription, VisitId = vm.VisitID, Medicaments = medicament }; await _prescriptionService.Create(prescriptionInDTO); } if (!string.IsNullOrEmpty(vm.selectedSpecialization)) { var selectedSpecialization = await _specializationService.GetByNameAsync(vm.selectedSpecialization); var referralInDTO = new ReferralInDTO() { Description = vm.DescriptionReferral, VisitId = vm.VisitID, SpecializationId = selectedSpecialization.First().SpecializationId }; await _referralService.Create(referralInDTO); } await _visitService.UpdateVisit(new UpdateVisitInDTO() { Description = vm.DescriptionVisit, Id = vm.VisitID, State = StateVisit.Completed }); return(View("Index")); }