public void TakeJobOffer(int jobOfferID) { var jobOffer = jobOfferRepository.GetById(jobOfferID); jobOffer.Amount--; if (jobOffer.Amount <= 0) { jobOfferRepository.Remove(jobOfferID); } jobOfferRepository.SaveChanges(); }
public virtual void RemoveJobOffersThatDoesNotMeetMinimalWage(decimal minimalWage, int countryID) { var offers = jobOfferRepository.GetJobOffersWithoutMinimalWage(minimalWage, countryID); var offersByCompanies = offers.GroupBy(o => o.CompanyID); using (NoSaveChanges) { foreach (var offer in offersByCompanies) { InformCompanyAboutOfferRemovedDueToMinimalWage(offer.First(), offer.Count()); } foreach (var offer in offers) { jobOfferRepository.Remove(offer); } } jobOfferRepository.SaveChanges(); }