コード例 #1
0
        public async Task <IActionResult> GetAppartment([FromRoute] int id)
        {
            var appartment = await repo.GetAppartment(id);

            var appartmenttoreturn = mapper.Map <AppartmentoReturn>(appartment);

            return(Ok(appartmenttoreturn));
        }
コード例 #2
0
        public async Task <IActionResult> Buy([FromRoute] int buyerid, [FromRoute] int appid)
        {
            if (!await apprepo.AppartmentExists(appid))
            {
                return(BadRequest("Appartment doesnt exist."));
            }

            if (!await repo.BuyerExists(buyerid))
            {
                return(BadRequest("Buyer doesnt exist."));
            }

            var apprtmentFromRepo = await apprepo.GetAppartment(appid);

            if (apprtmentFromRepo == null)
            {
                return(BadRequest());
            }
            var buyerFromRepo = await repo.GetBuyer(buyerid);

            if (buyerFromRepo.Credit < apprtmentFromRepo.Price)
            {
                return(BadRequest("Buyer doesnt have enough credit."));
            }

            var ownedAppartment = mapper.Map <OwnedAppartment>(apprtmentFromRepo);

            ownedAppartment = await repo.Buy(buyerFromRepo, ownedAppartment, appid);

            if (await repo.SaveAll())
            {
                var id = await repo.GetId(ownedAppartment.Address, buyerid);

                ownedAppartment.Id = id;
                return(CreatedAtRoute("GetOwnedAppartment", new { id = ownedAppartment.OwnerId, appid = ownedAppartment.Id }, ownedAppartment));
            }
            return(BadRequest());
        }