コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public async Task <IActionResult> Get()
 {
     return(Json(await _flatService.Get()));
 }