Esempio n. 1
0
        public IActionResult Post([FromBody] Meal model)
        {
            _mealService.Insert(model);

            return(Ok());
        }
Esempio n. 2
0
        public async Task <IActionResult> Insert(MealInsertViewModel model)
        {
            Meal meal = mapper.Map <Meal>(model);

            string[] qtds  = Request.Form["qtds"].ToString().Split(",");
            string[] foods = Request.Form["foods"].ToString().Split(",");
            for (int i = 0; i < qtds.Length; i++)
            {
                FoodAmountPerMeal foodAmountPerMeal = new FoodAmountPerMeal()
                {
                    FoodID   = Convert.ToInt32(foods[i]),
                    Quantity = Convert.ToDouble(qtds[i])
                };
                meal.Foods.Add(foodAmountPerMeal);
            }



            //meal.SetStatus(true);

            SingleResponse <int> response = await mealService.Insert(meal);

            if (!response.Success)
            {
                ViewBag.Errors = response.Message;
                return(View());
            }

            //Validar formatos válidos de imagem
            //verifica qual o tipo de arquivo : jpg, gif, png, pdf ou tmp
            var    archieve     = model.Image;
            string archievePath = environment.ContentRootPath + "//wwwroot//img//refeicao//";
            string extension    = "";

            if (model.Image.FileName.Contains(".jpg"))
            {
                extension += ".jpg";
            }
            else if (archieve.FileName.Contains(".gif"))
            {
                extension += ".gif";
            }
            else if (archieve.FileName.Contains(".png"))
            {
                extension += ".png";
            }
            else if (archieve.FileName.Contains(".pdf"))
            {
                extension += ".pdf";
            }
            else if (archieve.FileName.Contains(".jpeg"))
            {
                extension += ".jpeg";
            }
            else
            {
                extension += ".tmp";
            }

            string urlFinal = archievePath + response.Data + extension;

            // monta o caminho onde vamos salvar o arquivo :
            // ~\wwwroot\Arquivos\Arquivos_Usuario\Recebidos
            //copia o arquivo para o local de destino original
            using (var stream = new FileStream(urlFinal, FileMode.Create))
            {
                await archieve.CopyToAsync(stream);
            }

            return(await Insert());
        }