public async Task <int> CreateAsync(AddWarehouseModel item) { if (await _warehouseRepository.IsCityUniqueAsync(item.City)) { var warehouse = _mapper.Map <WarehouseModel, Warehouse>(item); await _warehouseRepository.CreateAsync(warehouse); return(warehouse.Id); } else { throw new System.Exception("Warehouse with this city name already exists"); } }
public async Task <IActionResult> Create([FromBody] AddWarehouseModel item) { var result = _warehouseValidator.Validate(item); if (result.IsValid) { int itemId = await _warehouseService.CreateAsync(item); return(CreatedAtAction(nameof(Get), new { id = itemId }, item)); } else { return(BadRequest(result.Errors.Select(t => t.ErrorMessage))); } }