public IActionResult CreateAdvertisement([FromBody] AdvertisementForCreationDto advertisement) { try { if (advertisement == null) { _logger.LogError("advertisement object sent from client is null."); return(BadRequest("advertisement object is null")); } if (!ModelState.IsValid) { _logger.LogError("Invalid advertisement object sent from client."); return(BadRequest("Invalid model object")); } var advertisementEntity = _mapper.Map <Advertisement>(advertisement); _repository.Advertisement.CreateAdvertisement(advertisementEntity); _repository.Save(); var createdAdvertisement = _mapper.Map <AdvertisementDto>(advertisementEntity); return(CreatedAtRoute("AdvertisementById", new { id = createdAdvertisement.AdvertisementId }, createdAdvertisement)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside CreateAdvertisement action: {ex.InnerException.Message}"); return(StatusCode(500, "Internal server error")); } }
public ActionResult <AdvertismentSimpleDto> CreateRealEstate( [FromBody] AdvertisementForCreationDto advertisement) { try { if (advertisement == null) { return(BadRequest("Advertisement object is null")); } if (!ModelState.IsValid) { return(BadRequest("Invalid model object")); } var advertismentEntity = _mapper.Map <Advertisement>(advertisement); string userName = User.Identity.Name; string userId = _advertisementRepository.GetUserIdFromUserName(userName); advertismentEntity.UserId = userId; if (advertismentEntity.RentingPrice != null) { advertismentEntity.CanBeRented = true; } if (advertismentEntity.SellingPrice != null) { advertismentEntity.CanBeSold = true; } advertismentEntity.CreatedOn = Helpers.GetCurrentDateUTC.GetDateTimeUTC(); _advertisementRepository.Add(advertismentEntity); // TODO might be problem _advertisementRepository.Save(); var advertismentToReturn = _mapper.Map <AdvertismentSimpleDto>(advertismentEntity); return(CreatedAtAction("GetRealEstateById", new { realestateId = advertismentToReturn.Id }, advertismentToReturn)); } catch (Exception ex) { //TODO - create logging for errors //_logger.LogError($"Something went wrong inside the CreateRealEstate action"); return(StatusCode(500, ex.Message)); } }