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);
        }
Esempio n. 2
0
 public IActionResult GetFilteredAppointments([FromQuery] AppointmentFilterRequest request)
 {
     return(Ok(_customerScheduleTreatmentService.GetFilteredAppointments(request)));
 }