Esempio n. 1
0
        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.");
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> GetStaffsByCompany(Guid companyId)
        {
            var cmd    = new GetStaffsByCompanyIdQuery(companyId);
            var result = await _mediator.Send(cmd);

            return(Ok(result));
        }