public List <AppointmentListResponse> GetFilteredAppointments(AppointmentFilterRequest request) { var appointments = _customerScheduleTreatmentRepository.All .Include(x => x.CustomerSchedule).ThenInclude(c => c.Customer) .Include(x => x.CustomerSchedule).ThenInclude(c => c.Department) .Include(c => c.Employee) .Include(c => c.Tt) .Where(x => x.CustomerSchedule.DeletedBy == null && x.CustomerSchedule.DeletedDate == null) .Select(c => new AppointmentListResponse() { CsId = c.Csid, Client = c.CustomerSchedule.Customer.FullName, Date = c.CustomerSchedule.BookedDate, Duration = c.EndTime - c.StartTime, Price = c.Tt.Price, Therapist = c.Employee.Name, Time = c.StartTime, Treatment = c.Tt.Ttname, departmentId = c.CustomerSchedule.DepartmentId }).ToList(); if (request.DepartmentId.HasValue && request.DepartmentId.Value > 0) { appointments = appointments.Where(x => x.departmentId == request.DepartmentId.Value).ToList(); } return(appointments); }
public IActionResult GetFilteredAppointments([FromQuery] AppointmentFilterRequest request) { return(Ok(_customerScheduleTreatmentService.GetFilteredAppointments(request))); }