public async Task <IActionResult> Post(AssetViewModel model) { try { Asset asset = new Asset() { AssetName = model.AssetName, Broken = model.Broken, CountryOfDepartment = model.CountryOfDepartment, Department = (Department)model.Department, EMailAdressOfDepartment = model.EMailAdressOfDepartment, PurchaseDate = Convert.ToDateTime(model.PurchaseDate) }; AssetValidator validator = new AssetValidator(); ValidationResult results = validator.Validate(asset); if (results.IsValid) { List <CountryDTO> countryDtos = await _externalService.GetCountryAsync(model.CountryOfDepartment); if (countryDtos != null && countryDtos.Count > 0) { _unitOfWork.AssetService.AddAsset(asset); _unitOfWork.SaveChanges(); _logger.LogInformation($"Asset with Id {asset.Id} have beeen created Successufully."); return(Created("", asset)); } return(BadRequest(new { message = "Invilid country Name. Please enter a valid county name." })); } return(BadRequest(new { message = results.ToString() })); } catch (Exception ex) { _logger.LogWarning(ex, ex.Message); return(BadRequest(new { message = "Unknow server error.", succeed = false })); } }