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(); }
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(); }
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); }
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(); }
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(); }