public async Task <IActionResult> CreateCellar(CellarVM newCellar)
        {
            try
            {
                var cellar = await _cellarService.CreateCellarAsync(newCellar);

                return(Ok(cellar));
            }
            catch
            {
                throw;
            }
        }
        public async Task <CellarVM> GetCellarByIdAsync(Guid id)
        {
            try
            {
                var cellar = await _ctx.Cellars
                             .FindAsync(id);

                var cellarVM = new CellarVM()
                {
                    Id          = cellar.Id,
                    Description = cellar.Description
                };

                return(cellarVM);
            }
            catch
            {
                throw;
            }
        }
        public async Task <CellarVM> CreateCellarAsync(CellarVM newCellar)
        {
            try
            {
                var cellar = new Cellar()
                {
                    Description = newCellar.Description
                };

                await _ctx.Cellars.AddAsync(cellar);

                await _ctx.SaveChangesAsync();

                newCellar.Id = cellar.Id;

                return(newCellar);
            }
            catch
            {
                throw;
            }
        }
        public async Task <CellarVM> UpdateCellarAsync(Guid cellarId, CellarVM cellar)
        {
            try
            {
                var cellarDb = await _ctx.Cellars.FindAsync(cellarId);

                cellarDb.Description = cellar.Description;

                await _ctx.SaveChangesAsync();

                var cellarVM = new CellarVM()
                {
                    Id          = cellarDb.Id,
                    Description = cellarDb.Description
                };

                return(cellarVM);
            }
            catch
            {
                throw;
            }
        }