Exemple #1
0
        public async Task <IActionResult> Analyze([FromForm] IFormFile image)
        {
            try
            {
                string extension = Path.GetExtension(image.FileName);

                //if(!(new[] { "png", "jpeg" }).Contains(extension))
                //    return BadRequest("Недопустимий формат зображення");

                string path = await fileService.SaveOnDriveAsync(image);

                var foodName = await analysisService.AnalyseImage(path);

                if (foodName == null)
                {
                    return(BadRequest("Подібний тип продуктів харчування відсутній в базі"));
                }


                var dbFoodInfo = context.FoodInfos.FirstOrDefault(f => f.OfficialName == foodName);

                string category = context.Categories.FirstOrDefault(c => c.Id == dbFoodInfo.CategoryId).Name;
                string quality  = context.Qualitys.FirstOrDefault(q => q.Id == dbFoodInfo.QualityId).Name;

                return(Ok(new
                {
                    NameToDisplay = dbFoodInfo.NameToDisplay,
                    Description = dbFoodInfo.Description,
                    Category = category,
                    Quality = quality
                }));
            }
            catch (Exception e)
            {
                throw e;
            }
        }