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)); }
public async Task <ActionResult <LegalPersonDto> > Post(LegalPersonDto dto) { if (!ModelState.IsValid) { return(CustomResponse(ModelState)); } await _storeLegalPersonService.Store(dto); return(CustomResponse(dto)); }
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)); }
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); }
private void StoreDocument(LegalPersonDto dto, LegalPerson person) { Document document = _storeDocumentService.Store(dto.Document); person.AssignDocument(document); }
private void StoreAddress(LegalPersonDto dto, LegalPerson person) { Address address = _storeAddressService.Store(dto.Address); person.AssignAddress(address); }