public IzdajRecept()
        {
            InitializeComponent();
            var app = Application.Current as App;

            medicationController         = app.medicationController;
            treatmentController          = app.treatmentController;
            examinationSurgeryController = app.examinationSurgeryController;

            List <String> usage = new List <String>();

            MyEvents.DemoEvents.PropagateCancellation.CustomEvent += cancelDemo;
            usage.Add("Svejedno");
            usage.Add("3");
            usage.Add("6");
            usage.Add("8");
            usage.Add("12");
            usage.Add("24");

            HourlyUsage.ItemsSource = usage;

            if (Menu.demoOn)
            {
                continuDemoAsync(cts.Token);
            }
        }
Ejemplo n.º 2
0
        public static void ClassInit(TestContext context)
        {
            medicationsData = mockMedications(3);

            mockDatabase = new Mock <IZippyDatabase>(MockBehavior.Strict);
            mockDatabase.SetupGet(x => x.Cabinets)
            .Returns(new List <Cabinet>()
            {
                new Cabinet()
                {
                    Id = 0
                }
            }.AsQueryable());
            mockDatabase.SetupGet(x => x.Medications)
            .Returns(() => medicationsData.AsQueryable());
            mockDatabase.Setup(x => x.Add(It.IsAny <Medication>()))
            .Callback <Medication>(x => { x.Id = new Random().Next(5, int.MaxValue); medicationsData.Add(x); })
            .Returns((Medication x) => x);
            mockDatabase.Setup(x => x.Remove(It.IsAny <Medication>()))
            .Callback <Medication>(x => medicationsData.Remove(x))
            .Returns((Medication x) => x);
            mockDatabase.Setup(x => x.Commit())
            .Returns(0);

            controller = new MedicationController(mockDatabase.Object);
        }
Ejemplo n.º 3
0
        public Report()
        {
            var app = Application.Current as App;

            medicationController = app.medicationController;
            reportController     = app.reportController;

            InitializeComponent();
        }
Ejemplo n.º 4
0
        public EditAllergensAndTherapies()
        {
            var app = Application.Current as App;

            medicalRecordController = app.medicalRecordController;
            medicationController    = app.medicationController;
            allergensController     = app.allergensController;

            InitializeComponent();
            setListBoxes();

            if (Informations.demoOn)
            {
                continueDemoAsync(cts.Token);
            }
        }
Ejemplo n.º 5
0
        public void ShouldFailIfQuantityIsLessThanOne()
        {
            //Arrange
            MedicationViewModel medicationViewModel = new MedicationViewModel()
            {
                CreationDate = DateTime.Now,
                Quantity     = 0
            };


            MedicationController controller = new MedicationController(_medicationService);

            var result = controller.Post(medicationViewModel);


            //Act

            //Assert
        }
        public void ShouldGetSingleMedication()
        {
            // Setup
            Mock <IMedicationService> serviceMock = new Mock <IMedicationService>();

            serviceMock.Setup(s => s.GetMedications(It.IsAny <List <string> >())).Returns(new Dictionary <string, MedicationResult>());

            string drugIdentifier           = "000001";
            string paddedDin                = drugIdentifier.PadLeft(8, '0');
            MedicationController controller = new MedicationController(serviceMock.Object);

            // Act
            RequestResult <MedicationResult> actual = controller.GetMedication(drugIdentifier);

            // Verify
            serviceMock.Verify(s => s.GetMedications(new List <string> {
                paddedDin
            }), Times.Once());
            Assert.True(actual.TotalResultCount == 0);
        }
        public void ShouldGetMultipleMedications()
        {
            // Setup
            Mock <IMedicationService> serviceMock = new Mock <IMedicationService>();

            serviceMock.Setup(s => s.GetMedications(It.IsAny <List <string> >())).Returns(new Dictionary <string, MedicationResult>());

            List <string> drugIdentifiers = new List <string>()
            {
                "000001", "000003", "000003"
            };
            List <string>        paddedDinList = drugIdentifiers.Select(x => x.PadLeft(8, '0')).ToList();
            MedicationController controller    = new MedicationController(serviceMock.Object);

            // Act
            RequestResult <Dictionary <string, MedicationResult> > actual = controller.GetMedications(drugIdentifiers);

            // Verify
            serviceMock.Verify(s => s.GetMedications(paddedDinList), Times.Once());
            Assert.True(actual.ResourcePayload.Count == 0);
        }
Ejemplo n.º 8
0
        public void ShouldGetSingleMedication()
        {
            // Setup
            string drugIdentifier = "00000001";
            Dictionary <string, MedicationResult> expectedResult = new Dictionary <string, MedicationResult>()
            {
                {
                    drugIdentifier,
                    new MedicationResult()
                    {
                        DIN         = drugIdentifier,
                        FederalData = new FederalDrugSource()
                        {
                            DrugProduct = new DrugProduct()
                            {
                                DrugCode = drugIdentifier,
                            }
                        }
                    }
                },
            };

            Mock <IMedicationService> serviceMock = new Mock <IMedicationService>();

            serviceMock.Setup(s => s.GetMedications(It.IsAny <List <string> >())).Returns(expectedResult);


            string paddedDin = drugIdentifier.PadLeft(8, '0');
            MedicationController controller = new MedicationController(serviceMock.Object);

            // Act
            RequestResult <MedicationResult> actual = controller.GetMedication(drugIdentifier);

            // Verify
            serviceMock.Verify(s => s.GetMedications(new List <string> {
                paddedDin
            }), Times.Once());
            Assert.True(actual.TotalResultCount == 1);
        }
Ejemplo n.º 9
0
        public Informations()
        {
            MyEvents.DemoEvents.ContinueDemoInformations.CustomEvent += continueDemo;
            MyEvents.DemoEvents.PropagateCancellation.CustomEvent    += cancelDemo;
            var app = Application.Current as App;

            medicalRecordController = app.medicalRecordController;
            medicationController    = app.medicationController;
            diagnosisController     = app.diagnosisController;

            if (Patients.SelectedRow != null)
            {
                currentRecord = new ModelHCI.MedicalRecordHCI()
                {
                    MedicalRecord = medicalRecordController.GetMedicalRecord(Patients.SelectedRow.record.MedicalRecord.IdRecord)
                };
            }
            else if (Appointments.currentExamination != null)
            {
                currentRecord = new ModelHCI.MedicalRecordHCI()
                {
                    MedicalRecord = medicalRecordController.GetMedicalRecord(Appointments.currentExamination.record.MedicalRecord.IdRecord)
                };
            }


            InitializeComponent();

            MyEvents.ChangeInformation.CustomEvent += ChangeInfo;
            TherapyList.ItemsSource          = new List <ModelHCI.TherapyHCI>();
            AllergiesList.ItemsSource        = new List <ModelHCI.AllergensHCI>();
            IllnessHistory.ItemsSource       = new List <ModelHCI.DiagnosisHCI>();
            FamilyIllnessHistory.ItemsSource = new List <ModelHCI.DiagnosisHCI>();

            SetValues();
        }
 public MedicationControllerTests()
 {
     repo      = Substitute.For <IMedicationRepository>();
     underTest = new MedicationController(repo);
 }
Ejemplo n.º 11
0
        public App()
        {
            var medicationRepository           = new MedicationRepository(new Stream <Medication>(MEDICATION_FILE));
            var diagnosisRepository            = new DiagnosisRepository(new Stream <Diagnosis>(DIAGNOSIS_FILE));
            var allergenRepository             = new AllergensRepository(new Stream <Allergens>(ALLERGEN_FILE));
            var categoryRepository             = new MedicationCategoryRepository(new Stream <MedicationCategory>(CATEGORY_FILE));
            var symptomsRepository             = new SymptomsRepository(new Stream <Symptoms>(SYMPTOMS_FILE));
            var ingredientsRepository          = new MedicationIngredientRepository(new Stream <MedicationIngredient>(INGREDIENTS_FILE));
            var specializationRepository       = new SpecializationRepository(new Stream <Specialization>(SPECIALIZATION_FILE));
            var cityRepository                 = new CityRepository(new Stream <City>(CITY_FILE));
            var addressRepository              = new AddressRepository(new Stream <Address>(ADDRESS_FILE), cityRepository);
            var stateRepository                = new StateRepository(new Stream <State>(STATE_FILE));
            var hospitalRepository             = new HospitalRepository(new Stream <Hospital>(HOSPITAL_FILE));
            var departmentRepository           = new DepartmentRepository(hospitalRepository, new Stream <Department>(DEPARTMENT_FILE));
            var roomRepository                 = new RoomRepository(departmentRepository, new Stream <Room>(ROOM_FILE));
            var userRepository                 = new UserRepository(new Stream <RegisteredUser>(USER_FILE), cityRepository, addressRepository, departmentRepository, roomRepository);
            var renovationRepository           = new RenovationRepository(roomRepository, new Stream <Renovation>(RENOVATION_FILE));
            var medicalRecordRepository        = new MedicalRecordRepository(new Stream <MedicalRecord>(RECORD_FILE), diagnosisRepository, medicationRepository, userRepository);
            var bedRepository                  = new BedRepository(roomRepository, medicalRecordRepository, new Stream <Bed>(BED_FILE));
            var equipmentTypeRepository        = new EquipmentTypeRepository(new Stream <EquipmentType>(EQUIPMENT_TYPE_FILE));
            var equipmentRepository            = new HospitalEquipmentRepository(new Stream <HospitalEquipment>(EQUIPMENT_FILE));
            var treatmentsRepository           = new TreatmentRepository(medicationRepository, departmentRepository, new Stream <Treatment>(TREATMENTS_FILE));
            var examinationSurgeryRepository   = new ExaminationSurgeryRepository(treatmentsRepository, medicalRecordRepository, userRepository, new Stream <ExaminationSurgery>(EXAMINATION_SURGERY_FILE));
            var emergencyRequestRepository     = new EmergencyRequestRepository(medicalRecordRepository, new Stream <EmergencyRequest>(EMERGENCY_REQUEST_FILE));
            var vaccinesRepository             = new VaccinesRepository(new Stream <Vaccines>(VACCINES_FILE));
            var notificationRepository         = new NotificationRepository(userRepository, new Stream <Notification>(NOTIFICATION_FILE));
            var articleRepository              = new ArticleRepository(userRepository, new Stream <Article>(ARTICLE_FILE));
            var questionRepository             = new QuestionRepository(userRepository, new Stream <Question>(QUESTIONS_FILE));
            var doctorReviewsRepository        = new DoctorReviewRepository(userRepository, new Stream <DoctorReview>(DOCTOR_REVIEWS_FILE));
            var feedbackRepository             = new FeedbackRepository(userRepository, new Stream <Feedback>(FEEDBACK_FILE));
            var surveyRepository               = new SurveyRepository(userRepository, new Stream <Survey>(SURVEY_FILE));
            var appointmentsRepository         = new AppointmentRepository(userRepository, medicalRecordRepository, roomRepository, new Stream <Appointment>(APPOINTMENTS_FILE));
            var workDayRepository              = new WorkDayRepository(userRepository, new Stream <WorkDay>(WORK_DAY_FILE));
            var vacationRequestRepository      = new VacationRequestRepository(userRepository, new Stream <VacationRequest>(VACATION_REQUEST_FILE));
            var reportsRepository              = new ReportRepository(new Stream <Report>(REPORTS_FILE));
            var labTestTypeRepository          = new LabTestTypeRepository(new Stream <LabTestType>(LAB_TEST_TYPE_FILE));
            var validationMedicationRepository = new ValidationMedicationRepository(new Stream <ValidationMed>(VALIDATION_FILE), userRepository, medicationRepository);

            var equipmentTypeService        = new EquipmentTypeService(equipmentTypeRepository);
            var medicationService           = new MedicationService(medicationRepository, validationMedicationRepository);
            var diagnosisService            = new DiagnosisService(diagnosisRepository);
            var allergenService             = new AllergensService(allergenRepository);
            var categoryService             = new MedicationCategoryService(categoryRepository);
            var symptomsService             = new SymptomsService(symptomsRepository);
            var ingredientsService          = new MedicationIngredientService(ingredientsRepository);
            var specializationService       = new SpecializationService(specializationRepository);
            var cityService                 = new CityService(cityRepository);
            var stateService                = new StateService(stateRepository);
            var addressService              = new AddressService(addressRepository);
            var notificationService         = new NotificationService(notificationRepository, userRepository, medicalRecordRepository);
            var validationMedicationService = new ValidationMedicationService(validationMedicationRepository, notificationService);
            var hospitalService             = new HospitalService(hospitalRepository);
            var departmentService           = new DepartmentService(departmentRepository);
            var bedService                = new BedService(bedRepository);
            var medicalRecordService      = new MedicalRecordService(medicalRecordRepository);
            var treatmentService          = new TreatmentService(treatmentsRepository, notificationService);
            var examiantionSurgeryService = new ExaminationSurgeryService(examinationSurgeryRepository);
            var emergencyRequestService   = new EmergencyRequestService(emergencyRequestRepository, notificationService);
            var vaccinesService           = new VaccinesService(vaccinesRepository);
            var articleService            = new ArticleService(articleRepository);
            var questionService           = new QuestionService(questionRepository, notificationService);
            var doctorsReviewService      = new DoctorReviewService(doctorReviewsRepository);
            var feedbackService           = new FeedbackService(feedbackRepository);
            var surveyService             = new SurveyService(surveyRepository);
            var userService               = new UserService(userRepository, medicalRecordService);
            var workDayService            = new WorkDayService(workDayRepository, MAX_HOURS_PER_WEEK);
            var appointmentService        = new AppointmentService(appointmentsRepository, workDayService, notificationService, VALID_HOURS_FOR_SCHEDULING, APPOINTMENT_LENGTH_IN_MINUTES,
                                                                   SURGERY_LENGTH_IN_MINUTES, START_WORKING_HOURS, END_WORKING_HOURS);
            var vacationRequestService      = new VacationRequestService(vacationRequestRepository, notificationService, NUMBER_OF_ALLOWED_VACAY_REQUESTS);
            var reportsService              = new ReportService(reportsRepository, treatmentsRepository, medicationRepository, examinationSurgeryRepository, roomRepository);
            var labTestTypeService          = new LabTestTypeService(labTestTypeRepository);
            var roomService                 = new RoomService(roomRepository, appointmentsRepository);
            var hospitalEquipmentService    = new HospitalEquipmentService(equipmentRepository);
            var renovationService           = new RenovationService(renovationRepository, roomService, appointmentsRepository, hospitalEquipmentService, notificationService, RENOVATION_DAYS_RESTRICTION, RENOVATION_DAYS_RESTRICTION);
            var availableAppointmentService = new AvailableAppointmentService(appointmentsRepository, workDayService, VALID_HOURS_FOR_SCHEDULING,
                                                                              APPOINTMENT_LENGTH_IN_MINUTES, SURGERY_LENGTH_IN_MINUTES, START_WORKING_HOURS, END_WORKING_HOURS);

            equipmentTypeController        = new EquipmentTypeController(equipmentTypeService);
            medicationController           = new MedicationController(medicationService);
            userController                 = new UserController(userService);
            diagnosisController            = new DiagnosisController(diagnosisService);
            symptomsController             = new SymptomsController(symptomsService);
            categoryController             = new MedicationCategoryController(categoryService);
            allergensController            = new AllergensController(allergenService);
            vaccinesController             = new VaccinesController(vaccinesService);
            labTestTypeController          = new LabTestTypeController(labTestTypeService);
            medicationIngredientController = new MedicationIngredientController(ingredientsService);
            cityController                 = new CityController(cityService);
            specializationController       = new SpecializationController(specializationService);
            addressController              = new AddressController(addressService);
            stateController                = new StateController(stateService);
            departmentController           = new DepartmentController(departmentService);
            hospitalController             = new HospitalController(hospitalService);
            roomController                 = new RoomController(roomService);
            renovationController           = new RenovationController(renovationService);
            hospitalEquipmentController    = new HospitalEquipmentController(hospitalEquipmentService);
            medicalRecordController        = new MedicalRecordController(medicalRecordService);
            treatmentController            = new TreatmentController(treatmentService);
            examinationSurgeryController   = new ExaminationSurgeryController(examiantionSurgeryService);
            articleController              = new ArticleController(articleService);
            questionController             = new QuestionController(questionService);
            doctorReviewController         = new DoctorReviewController(doctorsReviewService);
            surveyController               = new SurveyController(surveyService);
            feedbackController             = new FeedbackController(feedbackService);
            workDayController              = new WorkDayController(workDayService);
            reportController               = new ReportController(reportsService);
            validationMedicationController = new ValidationMedicationController(validationMedicationService);
            vacationRequestController      = new VacationRequestController(vacationRequestService);
            bedController = new BedController(bedService);
            emergencyRequestController     = new EmergencyRequestController(emergencyRequestService);
            appointmentController          = new AppointmentController(appointmentService);
            notificationController         = new NotificationController(notificationService);
            availableAppointmentController = new AvailableAppointmentController(availableAppointmentService);

            validations = new Validations(UNDERAGE_RESTRICTION);
        }
        public Medications()
        {
            InitializeComponent();
            var app = Application.Current as App;

            medicationController           = app.medicationController;
            validationMedicationController = app.validationMedicationController;

            MyEvents.OpenRecord.CustomEvent += ClosePanel;
            if (Validation != null)
            {
                Validation.ItemsSource = new List <ModelHCI.MedicationHCI>();
                List <ModelHCI.MedicationHCI> validations = new List <ModelHCI.MedicationHCI>();
                List <string> allergens   = new List <string>();
                List <string> ingredients = new List <string>();

                foreach (Medication medication in medicationController.GetAllOnValidationForDoctor(MainWindow.doctor))
                {
                    allergens   = new List <string>();
                    ingredients = new List <string>();

                    foreach (Allergens allergen1 in medication.Allergens)
                    {
                        allergens.Add(allergen1.Allergen);
                    }
                    foreach (DosageOfIngredient dosage in medication.MedicationContent)
                    {
                        ingredients.Add(dosage.MedicationIngredient.Name + " " + dosage.Amount + " mg");
                    }

                    validations.Add(new ModelHCI.MedicationHCI(medication.Med, true, allergens, ingredients, "Tableta")
                    {
                        medication = medication
                    });
                }
                Validation.ItemsSource = validations;
                Storage.ItemsSource    = new List <ModelHCI.MedicationHCI>();

                List <ModelHCI.MedicationHCI> storage = new List <ModelHCI.MedicationHCI>();

                foreach (Medication medication in medicationController.GetAllApprovedMeds())
                {
                    allergens   = new List <string>();
                    ingredients = new List <string>();

                    foreach (Allergens allergen1 in medication.Allergens)
                    {
                        allergens.Add(allergen1.Allergen);
                    }
                    foreach (DosageOfIngredient dosage in medication.MedicationContent)
                    {
                        ingredients.Add(dosage.MedicationIngredient.Name + " " + dosage.Amount + " mg");
                    }


                    storage.Add(new ModelHCI.MedicationHCI(medication.Med, false, allergens, ingredients, "Tableta")
                    {
                        medication = medication
                    });
                }
                Storage.ItemsSource = storage;
            }
        }