Ejemplo n.º 1
0
        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."));
        }