Exemplo n.º 1
0
        public async Task <bool> AcceptPreDefinitionExamination(ExaminationPOCO examinationPOCO)
        {
            examinationPOCO.Status = ExaminationStatus.Finished;
            await _examinationRepository.Update(_mapper.Map <ExaminationPOCO, Examination>(examinationPOCO));   //ako nije ceo model uzmi samo idPatient

            return(true);
        }
Exemplo n.º 2
0
        public async Task <bool> AddExamination(ExaminationPOCO examinationPOCO)
        {
            var clinic = await GetClinicByAdminId(examinationPOCO.DoctorId) as Clinic;

            var price = await GetExaminationPriceByTypeAndClinic(clinic.ClinicId, examinationPOCO.Type) as Price;

            var examinationPrice = price.DiscountedPrice;

            try
            {
                var newExamination = new Examination()
                {
                    Id        = Guid.NewGuid(),
                    DateTime  = examinationPOCO.DateTime,
                    Duration  = TimeSpan.FromMinutes(30),
                    DoctorId  = examinationPOCO.DoctorId,
                    PatientId = examinationPOCO.PatientId,
                    Type      = examinationPOCO.Type,
                    Status    = ExaminationStatus.Requested,
                    Price     = examinationPrice
                };



                await _examinationRepository.Create(newExamination);

                return(true);
            }
            catch (Exception e)
            {
                throw e;
            }
            return(false);
        }
Exemplo n.º 3
0
        public async Task <string> AddPreDefinitionExamination(ExaminationPOCO examinationPOCO)
        {
            var doctor = _employeeRepository.Find(x => x.EmployeeId.Equals(examinationPOCO.DoctorId)).First();

            if (doctor.Am == 1)
            {
                if (examinationPOCO.DateTime.Hour > 14)
                {
                    return("Izabrani doktor radi suprotnoj smenu");
                }
            }
            else
            {
                if (examinationPOCO.DateTime.Hour < 14)
                {
                    return("Izabrani doktor radi suprotnoj smenu");
                }
            }
            List <Examination> examinationsByDoctor = _examinationRepository.Find(x => x.DoctorId.Equals(examinationPOCO.DoctorId) && !x.Status.Equals(2)).ToList();

            foreach (Examination ex in examinationsByDoctor)
            {
                if (ex.DateTime == examinationPOCO.DateTime)
                {
                    return("Doktor u to vreme vec ima zakazan pregled");
                }
            }
            List <Examination> examinationsByRoom = _examinationRepository.Find(x => x.RoomId.Equals(examinationPOCO.RoomId) && !x.Status.Equals(2)).ToList();

            foreach (Examination ex in examinationsByRoom)
            {
                if (ex.DateTime == examinationPOCO.DateTime)
                {
                    return("Soba je zazeta  tom terminu");
                }
            }
            examinationPOCO.Status     = ExaminationStatus.Requested;
            examinationPOCO.PreDefined = true;
            await _examinationRepository.Create(_mapper.Map <ExaminationPOCO, Examination>(examinationPOCO));

            return("Uspesno dodat predefinisani pregled");
        }