Ejemplo n.º 1
0
        public void AddBooking(AddBookingRequest request)
        {
            var validationResult = _validator.ValidateRequest(request);

            if (!validationResult.PassedValidation)
            {
                throw new ArgumentException(validationResult.Errors.First());
            }

            var surgeryType = _context.Patient
                              .Include(p => p.Clinic)
                              .Where(p => p.Id == request.PatientId)
                              .Select(p => p.Clinic.SurgeryType)
                              .FirstOrDefault();

            _context.Order.Add(new Order
            {
                StartTime   = request.StartTime,
                EndTime     = request.EndTime,
                SurgeryType = (int)surgeryType,
                PatientId   = request.PatientId,
                DoctorId    = request.DoctorId
            });

            _context.SaveChanges();
        }
Ejemplo n.º 2
0
        public void AddBooking(AddBookingRequest request)
        {
            var validationResult = _validator.ValidateRequest(request);

            if (!validationResult.PassedValidation)
            {
                throw new ArgumentException(validationResult.Errors.First());
            }

            var bookingId          = new Guid();
            var bookingStartTime   = request.StartTime;
            var bookingEndTime     = request.EndTime;
            var bookingPatientId   = request.PatientId;
            var bookingPatient     = _context.Patient.FirstOrDefault(x => x.Id == request.PatientId);
            var bookingDoctorId    = request.DoctorId;
            var bookingDoctor      = _context.Doctor.FirstOrDefault(x => x.Id == request.DoctorId);
            var bookingSurgeryType = _context.Patient.FirstOrDefault(x => x.Id == bookingPatientId).Clinic.SurgeryType;

            var myBooking = new Order
            {
                Id          = bookingId,
                StartTime   = bookingStartTime,
                EndTime     = bookingEndTime,
                PatientId   = bookingPatientId,
                DoctorId    = bookingDoctorId,
                Patient     = bookingPatient,
                Doctor      = bookingDoctor,
                SurgeryType = (int)bookingSurgeryType
            };

            _context.Order.AddRange(new List <Order> {
                myBooking
            });
            _context.SaveChanges();
        }
Ejemplo n.º 3
0
        public async Task AddBooking(AddBookingRequest request, CancellationToken cancellationToken)
        {
            var validationResult = _validator.ValidateRequest(request);

            if (!validationResult.PassedValidation)
            {
                throw new ArgumentException(validationResult.Errors.AsString());
            }

            var patient = await _context
                          .Patient
                          .FirstOrDefaultAsync(p => p.Id == request.PatientId, cancellationToken);

            _context.Order.Add(new Order
            {
                DoctorId    = request.DoctorId,
                PatientId   = request.PatientId,
                StartTime   = request.StartTime,
                EndTime     = request.EndTime,
                IsCancelled = false,
                SurgeryType = (int)patient.Clinic.SurgeryType
            });

            await _context.SaveChangesAsync(cancellationToken);
        }
Ejemplo n.º 4
0
        public void AddBooking(AddBookingRequest request)
        {
            var validationResult = _addBookingValidator.ValidateRequest(request);

            if (!validationResult.PassedValidation)
            {
                throw new ArgumentException(validationResult.Errors.First());
            }

            _context.Order.Add(new Order
            {
                Id        = request.Id,
                StartTime = request.StartTime,
                EndTime   = request.EndTime,
                PatientId = request.PatientId,
                DoctorId  = request.DoctorId
            });

            _context.SaveChanges();
        }
Ejemplo n.º 5
0
        public void AddBooking(AddBookingRequest request)
        {
            var validationResult = _addBookingValidator.ValidateRequest(request);

            if (!validationResult.PassedValidation)
            {
                throw new ArgumentException(validationResult.Errors.First());
            }

            _context.Order.Add(new Order
            {
                StartTime   = request.StartTime,
                EndTime     = request.EndTime,
                PatientId   = request.PatientId,
                Patient     = _context.Patient.FirstOrDefault(x => x.Id == request.PatientId),
                DoctorId    = request.DoctorId,
                Doctor      = _context.Doctor.FirstOrDefault(x => x.Id == request.DoctorId),
                SurgeryType = (int)_context.Patient.FirstOrDefault(x => x.Id == request.PatientId).Clinic.SurgeryType,
                Status      = (int)BookingStatus.Open
            });

            _context.SaveChanges();
        }