private PersonAddress GeneratePersonAddress(Guid personId) { if (null == ClientContactAddress) { throw new ArgumentNullException("No Address data !"); } //Person Address //string landmark, Guid? countyId, bool preferred, decimal? lat, decimal? lng, Guid personId var personAddress = PersonAddress.Create(ClientContactAddress.Landmark, ClientContactAddress.CountyId, ClientContactAddress.Preferred, ClientContactAddress.Lat, ClientContactAddress.Lng, personId, ClientContactAddress.SubCountyId, ClientContactAddress.WardId); if (!string.IsNullOrWhiteSpace(ClientContactAddress.AddressId)) { personAddress.Id = new Guid(ClientContactAddress.AddressId); } return(personAddress); }
public async Task <int> Handle(CreatePersonCommand request, CancellationToken cancellationToken) { if (await _unitOfWork.PersonRepository.AnyAsync(x => x.PersonalNumber == request.PersonalNumber.Trim() && !x.IsDeleted, cancellationToken)) { throw new AlreadyExistsException( StringResource.Person, StringResource.PersonalNumber, request.PersonalNumber); } var city = await _unitOfWork.CityRepository.GetSingleAsync(x => x.Id == request.CityId && !x.IsDeleted, cancellationToken); //Image saving here var imgPath = string.Empty; if (request.Image != null) { imgPath = await _fileService.Upload(request.Image); } var entity = Person.Create( Name.Create( request.FirstName, request.LastName), PersonalNumber.Create( request.PersonalNumber), request.BirthDate, PersonAddress.Create( city), imgPath, request.Gender ); await _unitOfWork.PersonRepository.AddAsync(entity, cancellationToken); await _unitOfWork.SaveChangesAsync(cancellationToken); return(entity.Id); }