public async Task <IActionResult> Get() { var cmd = new GetCompaniesQuery(); var result = await _mediator.Send(cmd); return(Ok(result)); }
public async Task <GetAllCompaniesResponse> Handle(GetAllCompaniesRequest request, CancellationToken cancellationToken) { var query = new GetCompaniesQuery() { Name = request.Name, TaxNumber = request.TaxNumber, CompanyId = request.CompanyId }; var companiesFromDb = await this.queryExecutor.Execute(query); if (companiesFromDb == null) { return(new GetAllCompaniesResponse() { Error = new ErrorModel(ErrorType.NotFound) }); } var mappedCompanies = this.mapper.Map <List <Company> >(companiesFromDb); var response = new GetAllCompaniesResponse() { Data = mappedCompanies }; return(response); }
public Task <IList <CompanyDto> > Handle(GetCompaniesQuery request, CancellationToken cancellationToken) { var companies = _repository.Read().Include(x => x.Reviews).ToList(); var companiesDto = _mapper.Map <IList <CompanyDto> >(companies); return(Task.FromResult(companiesDto)); }
public async Task <ActionResult <IList <CompanyDto> > > GetCompanies() { var query = new GetCompaniesQuery(); var result = await _mediator.Send(query); return(Ok(result)); }
public async Task <IEnumerable <CompanyReadDTO> > Handle(GetCompaniesQuery request, CancellationToken cancellationToken) { _logger.LogInformation("Call to GetCompaniesHandler made to add company record"); using (var session = await _context.Client.StartSessionAsync()) { try { session.StartTransaction(); List <CompanyReadDTO> models = new List <CompanyReadDTO>(); var results = await this._context.Companies.Find <Company>(session, new BsonDocument()).ToListAsync(); foreach (var item in results) { var modelDTO = _mapper.Map <CompanyReadDTO>(item); models.Add(modelDTO); var filter_department = Builders <Department> .Filter.Eq("CompanyId", modelDTO.Id); var result_departments = await this._context.Departments.Find <Department>(session, filter_department).ToListAsync(); modelDTO.Departments = new List <DepartmentReadDTO>(); foreach (var dep in result_departments) { var dep_model = _mapper.Map <DepartmentReadDTO>(dep); modelDTO.Departments.Add(dep_model); var filter_staff = Builders <Staff> .Filter.Eq("DepartmentId", dep_model.Id); var result_staffs = await this._context.Staffs.Find <Staff>(session, filter_staff).ToListAsync(); dep_model.Staffs = new List <StaffReadDTO>(); foreach (var staff in result_staffs) { var staff_model = _mapper.Map <StaffReadDTO>(staff); dep_model.Staffs.Add(staff_model); } } } await session.CommitTransactionAsync(); _logger.LogInformation("Call to GetCompaniesHandler completed."); return(models); } catch (Exception ex) { await session.AbortTransactionAsync(); _logger.LogInformation("Error fetching companies."); throw new Exception("Error fetching companies."); } } }
public async Task <IEnumerable <CompanyDto> > Handle(GetCompaniesQuery request, CancellationToken cancellationToken) { return(await _context.Companies .AsNoTracking() .Select(_ => new CompanyDto() { Id = _.Id, Name = _.Name, City = _.City.Name, Country = _.City.Country.Name, PostalCode = _.City.PostCode, CarTrademarks = _.CarTrademarks }).ToListAsync(cancellationToken: cancellationToken)); }
public async Task <GetAllCompaniesResponse> Handle(GetAllCompaniesRequest request, CancellationToken cancellationToken) { var query = new GetCompaniesQuery() { CompanyId = request.AuthenticatorCompanyId }; var companies = await queryExecutor.Execute(query); var mappedCompanies = mapper.Map <List <CompanyDto> >(companies); return(new GetAllCompaniesResponse() { Data = mappedCompanies }); }
public async Task <IList <CompanyDto> > Handle(GetCompaniesQuery request, CancellationToken cancellationToken) { var g = await _context.Companies.AsNoTracking().ProjectTo <CompanyDto>(_mapper.ConfigurationProvider).ToListAsync(cancellationToken); return(g); }
public async Task <IEnumerable <Company> > Handle(GetCompaniesQuery request, CancellationToken cancellationToken) { return(await _companyRepository.GetAllCompanies()); }
public Task <IList <CompanyDto> > Handle(GetCompaniesQuery request, CancellationToken cancellationToken) { throw new NotImplementedException(); }
public async Task <CreateCompanyResponse> Handle(CreateCompanyRequest request, CancellationToken cancellationToken) { //if (request.AuthenticationRole != "AdminHotel") //{ // return new CreateCompanyResponse() // { // Error = new ErrorModel(ErrorType.Forbidden) // }; //} try { bool isEmpty = nullOrEmptyChecker.IsEmptyOrNull(request.Name, request.City, request.Street); if (isEmpty == true) { var daneZGUS = await this.gUSDataConnector.szukajPodmioty <RootDaneSzukajPodmioty>(request.TaxNumber); this.mapper.Map(daneZGUS, request); this.logger.LogInformation("Pobrano dane z GUS"); } var isNameEmpty = string.IsNullOrEmpty(request.Name); if (isNameEmpty == true) { this.logger.LogError("Podano nieistniejący w bazie GUS NIP"); return(new CreateCompanyResponse() { Error = new ErrorModel(ErrorType.NotFound + " Podana firma nie istnieje w bazie GUS!") }); } } catch (Exception ex) { this.logger.LogError(ex, "Application faild to retrive data from GUS"); } var query = new GetCompaniesQuery() { Name = request.Name, TaxNumber = request.TaxNumber }; var companiesFromDb = await this.queryExecutor.Execute(query); if (companiesFromDb != null) { return(new CreateCompanyResponse() { Error = new ErrorModel(ErrorType.Conflict) }); } var mappedCommand = this.mapper.Map <Company>(request); var command = new CreateCompanyCommand() { Parameter = mappedCommand }; var createdCompany = await this.commandExecutor.Execute(command); var response = new CreateCompanyResponse() { Data = this.mapper.Map <API.Domain.Models.Company>(createdCompany) }; return(response); }