public async Task <IActionResult> PutMaker(int id, [FromBody] MakersForCreationDTO makerForCreation)
        {
            var maker = _mapper.Map <Maker>(makerForCreation);

            maker.Id = id;
            _unitOfWork.Repository <Maker>().Update(maker);

            try
            {
                await _unitOfWork.Complete();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!await _unitOfWork.Repository <Maker>().Contains(d => maker.Id == id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult <Maker> > PostMaker([FromBody] MakersForCreationDTO makerforCreation)
        {
            var maker = _mapper.Map <Maker>(makerforCreation);
            await _unitOfWork.Repository <Maker>().Add(maker);

            await _unitOfWork.Complete();

            // mapp to a returnable obj
            var makerToReturn = _mapper.Map <MakersForReturnDTO>(maker);

            return(new CreatedAtRouteResult(nameof(GetMaker), new { maker.Id }, makerToReturn));
        }