public async Task <IEnumerable <StaffReadDTO> > Handle(GetStaffsByCompanyIdQuery request, CancellationToken cancellationToken) { _logger.LogInformation("Call to GetStaffsByCompanyIdHandler made to add staff record"); try { var companyId = request.CompanyId; List <StaffReadDTO> models = new List <StaffReadDTO>(); var filter = Builders <Staff> .Filter.Eq("CompanyId", companyId); var results = await this._context.Staffs.Find <Staff>(filter).ToListAsync(); foreach (var item in results) { var modelDTO = _mapper.Map <StaffReadDTO>(item); models.Add(modelDTO); } _logger.LogInformation("Call to GetStaffsByCompanyIdHandler completed."); return(models); } catch (Exception ex) { _logger.LogInformation("Error fetching staffs."); throw new Exception("Error fetching staffs."); } }
public async Task <IActionResult> GetStaffsByCompany(Guid companyId) { var cmd = new GetStaffsByCompanyIdQuery(companyId); var result = await _mediator.Send(cmd); return(Ok(result)); }