public void SetContent(int id, SetAdvertisementContentMessage message) { var advertisement = _advertisementRepository.Get(id); if (advertisement == null) { throw new Exception("Anúncio não encontrado"); } if (advertisement.Content != null && advertisement.Status == Domain.AdvertisementStatus.PendingContentApproval) { throw new Exception("Esse anúncio conteúdo atribuído pendente de aprovação"); } if (advertisement.Content != null && advertisement.Status != Domain.AdvertisementStatus.PendingContentDispatch) { throw new Exception("Esse anúncio possui conteúdo aprovado"); } var attachment = new Attachment(); attachment.File = message.File; attachment.Name = message.FileName; advertisement.Content = attachment; advertisement.Status = AdvertisementStatus.PendingContentApproval; _advertisementRepository.SaveChanges(); }
public Report ReportAdvertisement(Report report) { var advertisement = _advertisementRepository.Get(report.AdvertisementId); if (advertisement.Deleted) { return(new Report()); } advertisement.Reported = true; _advertisementRepository.Update(advertisement, report.AdvertisementId); var inboxList = _inboxRepository.GetAll().ToList(); var newInbox = new Inbox(); foreach (var inbox in inboxList) { if (inbox.UserId != advertisement.UserId) { continue; } newInbox = inbox; break; } newInbox.Reports += 1; _inboxRepository.Update(newInbox, newInbox.Id); var newReport = new Report { UserId = report.UserId, AdvertisementId = report.AdvertisementId, Description = report.Description, IsVerified = report.IsVerified }; return(newReport); }
public AdvertisementViewModel Get(string publicId) { var advertisermentList = _advertisementRepository.Get(publicId); var vModel = _mapper.Map <Advertisement, AdvertisementViewModel>(advertisermentList); return(vModel); }
public AdPage GetAdvertisementDetail(int id, int userId) { var adPage = new AdPage { Images = new List<string>(), Attributes = new List<Attributes>() }; var attribute = new Attributes(); var advertisement = _advertisementRepository.Get(id); if (advertisement == null) return adPage; var reports = _reportRepository.GetAll().ToList(); adPage.isReported = reports.Any(report => report.AdvertisementId == id && report.UserId == userId); adPage.isDeleted = advertisement.Deleted; adPage.UserId = advertisement.UserId; adPage.ExpiresIn = advertisement.ExpiryDays; adPage.OfferCount = advertisement.OfferCount; adPage.ViewCount = advertisement.ViewCount; adPage.PostedDateTime = advertisement.PostedOn; var category = _categoryRepository.Get(advertisement.CategoryId); adPage.Category = category.Name; adPage.IconId = category.Icon; var images = _imageRepository.GetAll().ToList(); foreach (var image in images) if (image.AdvertisementId == id) adPage.Images.Add(image.Img); var attributes = _attributeRepository.GetAll().ToList(); var length = attributes.Count; for (var index = 0; index < length; index++) if (attributes.ToList()[index].AdvertisementId == id) { attribute.Id = attributes[index].Id; attribute.Name = attributes[index].Name; attribute.Value = attributes[index].Value; adPage.Attributes.Add(attribute); attribute = new Attributes(); } return adPage; }
public IActionResult AddView(int advertisementId) { try { var advertisement = _advertisementRepository.Get(advertisementId); advertisement.ViewCount += 1; _advertisementRepository.Update(advertisement, advertisementId); return(Ok()); } catch (Exception exception) { return(BadRequest(exception.Message)); } }
// Hirdetések listázása public IEnumerable <AdvertisementBasicDTO> GetRange(Models.Range range) { var list = AdvertisementRepository.Get(range); return(list.ToBasicDTO()); }
public IEnumerable <AdTile> GetOfferedAdTiles(int userId) { var advertisements = _advertisementRepository.GetAdsByUser(userId).ToList(); var categories = _categoryRepository.GetAll().ToList(); var attributes = _attributeRepository.GetAll().ToList(); var images = _imageRepository.GetAll().ToList(); var adTiles = new List <AdTile>(); var adTile = new AdTile(); var offeredAds = new List <Offer>(); foreach (var advertisement in advertisements.ToList()) { if (advertisement.OfferCount > 0) { var offers = _context.Offer.ToList(); var newOffer = from offer in offers let userAd = _advertisementRepository.Get(offer.AdvertisementId) where userAd.UserId == userId select offer; offeredAds.AddRange(newOffer); } else { advertisements.Remove(advertisement); } } var totalOfferedAdsCount = offeredAds.Count; for (var index = 0; index < totalOfferedAdsCount; index++) { if (offeredAds[index].AdvertisementId == advertisements[index].Id) { adTile.Price = "Offered Amount : ₹ " + offeredAds[index].Price; adTile.TimeStamp = offeredAds[index].TimeStamp; adTile.AdvertisementId = advertisements[index].Id; adTile.OfferedBy = offeredAds[index].UserId; } foreach (var category in categories) { if (category.Id == advertisements[index].CategoryId) { adTile.Category = category.Name; adTile.IconId = category.Icon; break; } } foreach (var attribute in attributes) { switch (attribute.Name) { case "Title" when attribute.AdvertisementId == adTile.AdvertisementId: adTile.Title = attribute.Value; break; } } foreach (var image in images) { if (image.AdvertisementId == adTile.AdvertisementId) { adTile.ImageUrl = image.Img; break; } } adTiles.Add(adTile); } return(adTiles); }
public IActionResult Details(int id) { return(View(repository.Get(id))); }