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 string PostOffer(int advertisementId, Offer offer) { var offers = _context.Offer; if (Enumerable.Any(offers, offered => offered.UserId == offer.UserId && offered.AdvertisementId == advertisementId)) { return("Already offered"); } var advertisement = _advertisementRepository.Get(advertisementId); advertisement.OfferCount += 1; _advertisementRepository.Update(advertisement, 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.Offers += 1; _inboxRepository.Update(newInbox, newInbox.Id); offer.TimeStamp = DateTime.Now.ToLocalTime(); _context.Offer.Add(offer); return("done"); }
public void DeleteAdvertisement(int id) { var advertisement = _advertisementRepository.Get(id); advertisement.Deleted = true; _advertisementRepository.Update(advertisement, advertisement.Id); var inboxList = _inboxRepository.GetAll().ToList(); var newInbox = new Inbox(); foreach (var inbox in inboxList) { if (inbox.UserId != advertisement.UserId) continue; newInbox = inbox; break; } newInbox.Deleted += 1; _inboxRepository.Update(newInbox, newInbox.Id); }