Ejemplo n.º 1
0
        private async Task <bool> TryUpdateDrink(DrinkDto drink)
        {
            try
            {
                var drinkDbModelToUpdate = await _context.DrinksSet.FindAsync(drink.Id);

                _context.Entry(drinkDbModelToUpdate).State = EntityState.Detached;
                var fileRoute = drinkDbModelToUpdate.PhotoPath;
                drinkDbModelToUpdate = _drinkMapper.ToDbModel(drink);
                if (!string.IsNullOrEmpty(drink.PhotoPath))
                {
                    drinkDbModelToUpdate.PhotoPath = (await _storageService.EditFile(
                                                          Convert.FromBase64String(PhotoPathHelper.GetBase64String(drink.PhotoPath)), "jpg", "drinks",
                                                          fileRoute));
                }
                else
                {
                    drinkDbModelToUpdate.PhotoPath = fileRoute;
                }

                _context.Entry(drinkDbModelToUpdate).State = EntityState.Modified;
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        private async Task <bool> TryUpdateCocktail(CocktailDto cocktail)
        {
            try
            {
                var cocktailDbModelToUpdate = await _context.CocktailsSet.FindAsync(cocktail.Id);

                _context.Entry(cocktailDbModelToUpdate).State = EntityState.Detached;
                var fileRoute = cocktailDbModelToUpdate.PhotoPath;
                cocktailDbModelToUpdate = _cocktailMapper.ToDbModel(cocktail);
                if (!string.IsNullOrEmpty(cocktail.PhotoPath))
                {
                    cocktailDbModelToUpdate.PhotoPath = await _storageService.EditFile(
                        Convert.FromBase64String(PhotoPathHelper.GetBase64String(cocktail.PhotoPath)), "jpg",
                        "cocktails",
                        fileRoute);
                }
                else
                {
                    cocktailDbModelToUpdate.PhotoPath = (fileRoute);
                }

                _context.Entry(cocktailDbModelToUpdate).State = EntityState.Modified;
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <DrinkDto> > PostDrink(DrinkDto drink)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!string.IsNullOrEmpty(drink.PhotoPath))
            {
                drink.PhotoPath = await _storageService.SaveFile(
                    Convert.FromBase64String(PhotoPathHelper.GetBase64String(drink.PhotoPath)), "jpg", "drinks");
            }

            var drinkDbModel = _drinkMapper.ToDbModel(drink);
            await _context.DrinksSet.AddAsync(drinkDbModel);

            await _context.SaveChangesAsync();

            var createdDrink = _context.DrinksSet.OrderByDescending(e => e.Id).First();

            return(CreatedAtAction(nameof(GetDrink), new { id = createdDrink.Id }, _drinkMapper.ToDto(createdDrink)));
        }
        public async Task <ActionResult <CocktailDto> > PostCocktail(CocktailDto cocktail)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!string.IsNullOrEmpty(cocktail.PhotoPath))
            {
                cocktail.PhotoPath = await _storageService.SaveFile(
                    Convert.FromBase64String(PhotoPathHelper.GetBase64String(cocktail.PhotoPath)), "jpg", "cocktails");
            }

            var cocktailDbModel = _cocktailMapper.ToDbModel(cocktail);
            await _context.CocktailsSet.AddAsync(cocktailDbModel);

            await _context.SaveChangesAsync();

            var createdCocktail = _context.CocktailsSet.OrderByDescending(e => e.Id).First();

            if (cocktail.Ingredients != null)
            {
                foreach (var ingredientDto in cocktail.Ingredients)
                {
                    ingredientDto.CocktailId = createdCocktail.Id;
                }

                var ingredientDbModels = _ingredientMapper.ToDbModelList(cocktail.Ingredients);
                await _context.IngredientsSet.AddRangeAsync(ingredientDbModels);

                await _context.SaveChangesAsync();
            }

            return(CreatedAtAction(nameof(GetCocktail), new { id = createdCocktail.Id },
                                   _cocktailMapper.ToDto(createdCocktail)));
        }