/// <summary> /// Add or update parent Async /// </summary> /// <typeparam name="TRequest">Payload type (must be map-able to Tenant)</typeparam> /// <typeparam name="TResponse">Desired return type.</typeparam> /// <returns></returns> public async Task <TResponse> CreateAsync <TRequest, TResponse>(TRequest parentPayload) { // Map payload to entity. var payloadEntity = _mapper.Map <Parent>(parentPayload); ValidateEntity(payloadEntity); await _addressBusiness.CreateOrUpdateAsync <Address, Address>(payloadEntity.Address); await _parentRepository.AddAsync(payloadEntity); await _parentRepository.SaveChangesAsync(); return(_mapper.Map <TResponse>(payloadEntity)); }