Exemple #1
0
        public async Task <ActionResult <LegalPersonDto> > GetById(Guid id)
        {
            LegalPersonDto dto = _mapper.Map <LegalPersonDto>(await _legalPersonRepository.GetById(id));

            if (dto == null)
            {
                return(NotFound());
            }

            return(Ok(dto));
        }
Exemple #2
0
        public async Task <ActionResult <LegalPersonDto> > Post(LegalPersonDto dto)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            await _storeLegalPersonService.Store(dto);

            return(CustomResponse(dto));
        }
Exemple #3
0
        public async Task <ActionResult <LegalPersonDto> > Put(Guid id, LegalPersonDto dto)
        {
            if (id == Guid.Empty || id != dto.Id)
            {
                NotifyError("Invalid data");
                return(CustomResponse());
            }

            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            await _updateLegalPersonService.Update(dto);

            return(CustomResponse(dto));
        }
Exemple #4
0
        public async Task Store(LegalPersonDto dto)
        {
            LegalPerson person = new LegalPerson(dto.CompanyName, dto.TradeName);

            StoreAddress(dto, person);
            StoreDocument(dto, person);

            if (!person.Validate())
            {
                NotifyDomainValidations(person.ValidationResult);
            }

            if (!_notifier.HasNotification())
            {
                _legalPersonRepository.Add(person);
                await _unitOfWork.Commit();
            }
        }
        public async Task Update(LegalPersonDto dto)
        {
            LegalPerson person = await _legalPersonRepository.GetById(dto.Id);

            UpdateLegalPerson(dto, person);

            await _updateAddressService.Update(person.AddressId, dto.Address);

            await _updateDocumentService.Update(person.DocumentId, dto.Document);

            if (!person.Validate())
            {
                NotifyDomainValidations(person.ValidationResult);
            }

            if (!_notifier.HasNotification())
            {
                _legalPersonRepository.Update(person);
                await _unitOfWork.Commit();
            }
        }
 private void UpdateLegalPerson(LegalPersonDto dto, LegalPerson person)
 {
     person.UpdateCompanyName(dto.CompanyName);
     person.UpdateTradeName(dto.TradeName);
 }
Exemple #7
0
        private void StoreDocument(LegalPersonDto dto, LegalPerson person)
        {
            Document document = _storeDocumentService.Store(dto.Document);

            person.AssignDocument(document);
        }
Exemple #8
0
        private void StoreAddress(LegalPersonDto dto, LegalPerson person)
        {
            Address address = _storeAddressService.Store(dto.Address);

            person.AssignAddress(address);
        }