public async Task <int> AddPropertyOffer(PropertyOfferViewModel model, string userName) { var user = await _db.Users.FirstAsync(x => x.Email == userName); var buyerId = user.Id; var propertyId = model.Id; var offer = await _db.PropertyOffers .FirstOrDefaultAsync(x => x.PropertyId == propertyId && x.BuyerId == buyerId); if (offer != null) { offer.PriceOffered = model.PriceOffered; return(await _db.SaveChangesAsync()); } offer = new PropertyOffer { PropertyId = propertyId, BuyerId = buyerId, PriceOffered = model.PriceOffered, DateCreated = DateTime.Now, }; _db.PropertyOffers.Add(offer); return(await _db.SaveChangesAsync()); }
public async Task <ActionResult> MakeOffer(PropertyOfferViewModel model) { if (ModelState.IsValid) { var status = await _propertyManager.AddPropertyOffer(model, User.Identity.Name); if (status > 0) { model.OfferSubmitted = true; } } return(View(model)); }