public async Task <ActionResult> CreateCabin([FromBody] SaveCabinResource newCabin)
        {
            var cabinInDb = newCabin.ToData();

            _cabinRepository.Add(cabinInDb);
            await _unitOfWork.CompleteAsync();

            return(Ok(CabinResource.FromData(cabinInDb)));
        }
        public async Task <ActionResult> GetCabin(int id)
        {
            var cabinInDb = await _cabinRepository.GetCabinAsync(id);

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

            return(Ok(CabinResource.FromData(cabinInDb)));
        }
 public async Task <ActionResult> GetCabins(bool includeRelated = false)
 {
     return(Ok((await _cabinRepository.GetCabinsAsync(includeRelated)).Select(c => CabinResource.FromData(c, includeRelated))));
 }