public async Task <IActionResult> Create([FromBody] AdvertCommand command) { try { await _repository.AddAsync(new Advert { Active = command.Active, Date = command.Date, PropertyId = command.PropertyId, CreatorId = (await _userManager.FindByNameAsync(User.Identity.Name)).Id, Items = command.Items?.Select(x => new AdvertItem { Description = x.Value }).ToList() }); await _unitOfWork.Commit(); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <AdvertResponse> SaveAsync(Advert advert) { try { await _advertRepository.AddAsync(advert); await _unitOfWork.CompleteAsync(); return(new AdvertResponse(advert)); } catch (Exception e) { return(new AdvertResponse($"An error occured when saving the advert: {e.Message}")); } }
public async Task <AdvertDto> CreateAsync(NewAdvertDto dto) { if (dto == null) { throw new ArgumentNullException(nameof(dto)); } if (string.IsNullOrWhiteSpace(dto.Header) || string.IsNullOrWhiteSpace(dto.Description)) { throw new Exception($"{nameof(dto)} Заполните все данные"); } if (dto.Header.Length > 30) { throw new Exception($"{nameof(dto)} Заголовок не более 30 символов"); } if (dto.Description.Length > 650) { throw new Exception($"{nameof(dto)} Описание не более 650 символов"); } var advert = _mapper.Map <Advert>(dto); var result = await _advertRepository.AddAsync(advert); try { await _advertRepository.SaveChangesAsync(); } catch (Exception ex) { string mes = ex.Message; throw new Exception(ex.Message); } return(_mapper.Map <AdvertDto>(result)); }