public async Task <IActionResult> RegisterStoreAsync([FromBody] StoreInputModel storeInput) { if (string.IsNullOrWhiteSpace(storeInput.StoreName) || string.IsNullOrWhiteSpace(storeInput.Country) || string.IsNullOrWhiteSpace(storeInput.City)) { var errorMessage = "Invalid input."; _logger.LogError(errorMessage); return(BadRequest(errorMessage)); } var exists = await _storesRepository.StoreExistsAsync(storeInput.StoreName); if (exists) { var errorMessage = $"Store with name '{storeInput.StoreName}' already registered. Register with a different store name."; _logger.LogInformation(errorMessage); return(BadRequest(errorMessage)); } var storeDal = storeInput.ToDalEntity(); await _storesRepository.RegisterStoreAsync(storeDal); _logger.LogInformation($"Store with name '{storeInput.StoreName}' registered successfully."); return(Ok($"Store '{storeInput.StoreName}' registered Successfully.")); }