public async Task <IActionResult> GetGoodInOffer(int id)
        {
            GoodInOffer goodInOffer = await goodInOfferRepository.FindByIdAsync(id);

            if (goodInOffer == null)
            {
                return(NotFound());
            }

            return(new ObjectResult(goodInOffer));
        }
        public async Task <IActionResult> Create([FromBody] GoodInOffer goodInOffer)
        {
            if (goodInOffer == null)
            {
                return(BadRequest());
            }

            if (goodInOffer.Good == null || goodInOffer.Offer == null)
            {
                return(BadRequest());
            }

            GoodInOffer added = await goodInOfferRepository.CreateAsync(goodInOffer);

            return(CreatedAtRoute("GetGoodInOffer", new { id = added.Id }, goodInOffer));
        }
        public async Task <IActionResult> Delete(int id)
        {
            GoodInOffer existing = await goodInOfferRepository.FindByIdAsync(id);

            if (existing == null)
            {
                return(NotFound());
            }

            bool deleted = await goodInOfferRepository.DeleteAsync(existing);

            if (deleted)
            {
                return(new OkResult());
            }

            return(BadRequest());
        }
        public async Task <IActionResult> Update(int id, [FromBody] GoodInOffer goodInOffer)
        {
            if (goodInOffer == null || goodInOffer.Id != id)
            {
                return(BadRequest());
            }

            GoodInOffer existing = await goodInOfferRepository.FindByIdAsync(id);

            if (existing == null)
            {
                return(NotFound());
            }

            await goodInOfferRepository.UpdateAsync(goodInOffer);

            return(new OkResult());
        }