Ejemplo n.º 1
0
        public async Task <IActionResult> Get()
        {
            var cmd    = new GetCompaniesQuery();
            var result = await _mediator.Send(cmd);

            return(Ok(result));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <IList <CompanyDto> > > GetCompanies()
        {
            var query  = new GetCompaniesQuery();
            var result = await _mediator.Send(query);

            return(Ok(result));
        }
Ejemplo n.º 5
0
        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.");
                }
            }
        }
Ejemplo n.º 6
0
 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
            });
        }
Ejemplo n.º 8
0
        public async Task <IList <CompanyDto> > Handle(GetCompaniesQuery request, CancellationToken cancellationToken)
        {
            var g = await _context.Companies.AsNoTracking().ProjectTo <CompanyDto>(_mapper.ConfigurationProvider).ToListAsync(cancellationToken);

            return(g);
        }
Ejemplo n.º 9
0
 public async Task <IEnumerable <Company> > Handle(GetCompaniesQuery request, CancellationToken cancellationToken)
 {
     return(await _companyRepository.GetAllCompanies());
 }
Ejemplo n.º 10
0
 public Task <IList <CompanyDto> > Handle(GetCompaniesQuery request, CancellationToken cancellationToken)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 11
0
        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);
        }