public async Task <OfferModel> Add(UpsertOfferModel model) { var offer = _mapper.Map <Offer>(model); await _repository.Add(offer); await _repository.SaveChanges(); return(_mapper.Map <OfferModel>(offer)); }
public void Activate(int id) { var offer = _offersRepository.GetById(id); if (offer == null) { throw new ArgumentNullException(); } offer.IsActive = true; _offersRepository.Update(offer); _offersRepository.SaveChanges(); }
public async Task <OfferCommentModel> Add(Guid offerId, CreateOfferCommentModel model) { model.UserId = Guid.Parse(_accessor.HttpContext.User.Claims.First(c => c.Type == "userId").Value); var comment = _mapper.Map <OfferComment>(model); var offer = await _repository.GetById(offerId); offer.AddComment(comment); _repository.Update(offer); await _repository.SaveChanges(); return(_mapper.Map <OfferCommentModel>(comment)); }
public async Task <PhotoModel> Add(Guid offerId, CreatePhotoModel model) { var offer = await _repository.GetById(offerId); using var stream = new MemoryStream(); await model.Content.CopyToAsync(stream); var photo = new Photo(model.Content.FileName, stream.ToArray()); offer.Photos.Add(photo); _repository.Update(offer); await _repository.SaveChanges(); return(_mapper.Map <PhotoModel>(photo)); }