public async Task <Offer> Add(int flatId) { var flat = await _flatService.Get(flatId); var user = await _userService.CurrentUser; if (flat.OwnerId == user.Id) { throw new InvalidOperationException("You can not add purchase offers for flats which have added by you."); } var offer = await GetOffer(flatId, user.Id); if (offer != null) { throw new InvalidOperationException("You have added a purchase offer for this flat."); } offer = new Offer { FlatId = flatId, UserId = user.Id, Status = OfferStatus.New, CreatedOn = DateTime.Now }; _context.Offers.Add(offer); await _context.SaveChangesAsync(); return(offer); }
public async Task <Image> Add(Image image) { if (image == null) { throw new ArgumentNullException(nameof(image)); } var flat = await _flatService.Get(image.FlatId); var user = await _userService.CurrentUser; if (flat.OwnerId != user.Id) { throw new InvalidOperationException("You do not have permissions for this operation."); } _context.Images.Add(image); await _context.SaveChangesAsync(); return(image); }
public async Task <IActionResult> Get() { return(Json(await _flatService.Get())); }