コード例 #1
0
        public async Task <OfferModel> GetById(Guid id)
        {
            var entity = await _repository.GetById(id);

            var offer = _mapper.Map <OfferModel>(entity);

            return(offer);
        }
コード例 #2
0
        public GetOfferModel GetById(int id)
        {
            Offer offer  = _offersRepository.GetById(id);
            var   result = new OfferDto()
            {
                Id         = offer.Id,
                Name       = offer.Name,
                Discount   = offer.Discount,
                TotalPrice = offer.TotalPrice,
                ExpiryDate = offer.ExpiryDate,
                AddedById  = offer.AddedById,
                Products   = _productsRepository.GetAllByOffer(offer),
                IsActive   = offer.IsActive
            };

            return(_mapper.Map <OfferDto, GetOfferModel>(result));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
 public Offer GetById(int id)
 {
     return(_offersRepository.GetById(id));
 }