Esempio n. 1
0
        private dynamic ExpandSingleFoodItem(FoodItem foodItem)
        {
            var         links = GetLinks(foodItem.Id);
            FoodItemDto item  = Mapper.Map <FoodItemDto>(foodItem);

            var resourceToReturn = item.ToDynamic() as IDictionary <string, object>;

            resourceToReturn.Add("links", links);

            return(resourceToReturn);
        }
Esempio n. 2
0
        public async Task <BaseDtoResponse <FoodItemDto> > GetById(Guid id)
        {
            FoodItem item = await _foodItemRepository.GetById(id);

            if (item == null)
            {
                return(new BaseDtoResponse <FoodItemDto>("Food item Not Found"));
            }
            FoodItemDto result = _mapper.Map <FoodItem, FoodItemDto>(item);

            return(new BaseDtoResponse <FoodItemDto>(result));
        }
Esempio n. 3
0
        // GET: FoodItem/Details/5
        public ActionResult Details(int id)
        {
            string url = "fooditemdata/findfooditem/" + id;
            HttpResponseMessage httpResponse = client.GetAsync(url).Result;

            if (httpResponse.IsSuccessStatusCode)
            {
                FoodItemDto SelectedFoodItem = httpResponse.Content.ReadAsAsync <FoodItemDto>().Result;
                return(View(SelectedFoodItem));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }
Esempio n. 4
0
        public IActionResult AddNewFoodItem([FromBody] FoodItemDto foodItemDto)
        {
            if (foodItemDto == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            FoodItem foodItem = _foodRepository.Add(AutoMapper.Mapper.Map <FoodItem>(foodItemDto));

            return(CreatedAtRoute("GetSingleFoodItem", new { id = foodItem.Id }, AutoMapper.Mapper.Map <FoodItemDto>(foodItem)));
        }
Esempio n. 5
0
        public async Task ShouldGetExistingFiById()
        {
            // arrange;
            // test data set contains this FI;
            var fiGuid   = new Guid("007f91f1-779c-48d1-88dd-7a8aedd820a4");
            var expected = new FoodItemDto
            {
                Name       = "Meat bouillon",
                PictureUrl = null,
                FoodItemId = fiGuid
            };

            // act;
            var res = await SendMediatorRequestInScope(new GetById.Query(fiGuid));

            // assert;
            res.Should().BeEquivalentTo(expected);
        }
Esempio n. 6
0
        public IHttpActionResult FindFoodItem(int id)
        {
            FoodItem FoodItemInfo = db.FoodItems.Find(id);

            if (FoodItemInfo == null)
            {
                return(NotFound());
            }
            FoodItemDto SelectedFoodItem = new FoodItemDto
            {
                Restaurant    = FoodItemInfo.Restaurant,
                FoodItemID    = FoodItemInfo.FoodItemID,
                FoodItemName  = FoodItemInfo.FoodItemName,
                FoodItemDesc  = FoodItemInfo.FoodItemDesc,
                FoodItemPrice = FoodItemInfo.FoodItemPrice
            };

            return(Ok(SelectedFoodItem));
        }
Esempio n. 7
0
        public IEnumerable <FoodItemDto> GetFoodItems()
        {
            List <FoodItem>    FoodItems    = db.FoodItems.ToList();
            List <FoodItemDto> FoodItemDtos = new List <FoodItemDto> {
            };

            foreach (var FoodItem in FoodItems)
            {
                FoodItemDto NewFoodItem = new FoodItemDto
                {
                    Restaurant    = FoodItem.Restaurant,
                    FoodItemID    = FoodItem.FoodItemID,
                    FoodItemName  = FoodItem.FoodItemName,
                    FoodItemDesc  = FoodItem.FoodItemDesc,
                    FoodItemPrice = FoodItem.FoodItemPrice
                };
                FoodItemDtos.Add(NewFoodItem);
            }

            return(FoodItemDtos);
        }
Esempio n. 8
0
        public IActionResult UpdateFoodItem(int id, [FromBody] FoodItemDto dto)
        {
            var foodItemToCheck = _foodRepository.GetSingle(id);

            if (foodItemToCheck == null)
            {
                return(NotFound());
            }
            if (id != dto.Id)
            {
                return(BadRequest("ids do not match"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var updatedFoodItem = _foodRepository.Update(id, AutoMapper.Mapper.Map <FoodItem>(dto));

            return(Ok(AutoMapper.Mapper.Map <FoodItemDto>(updatedFoodItem)));
        }
        public IActionResult UpdateDeviceSetup(int id, [FromBody] FoodItemDto dto)
        {
            DeviceSetup deviceSetupToCheck = _deviceSetupRepository.GetSingle(id);

            if (deviceSetupToCheck == null)
            {
                return(NotFound());
            }
            if (id != dto.Id)
            {
                return(BadRequest("ids do not match"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var updatedItem = _deviceSetupRepository.Update(AutoMapper.Mapper.Map <DeviceSetup>(dto));

            return(Ok(AutoMapper.Mapper.Map <DeviceSetupDto>(updatedItem)));
        }
Esempio n. 10
0
        public async Task <BaseDtoResponse <FoodItemDto> > Add(FoodItemCreateRequest request)
        {
            try
            {
                FoodItem model = _mapper.Map <FoodItemCreateRequest, FoodItem>(request);
                FoodItem item  = await _foodItemRepository.Add(model);

                if (item != null)
                {
                    FoodItemDto result = _mapper.Map <FoodItem, FoodItemDto>(item);
                    return(new BaseDtoResponse <FoodItemDto>(result));
                }
                else
                {
                    return(new BaseDtoResponse <FoodItemDto>("Unable to create a new food item, try again"));
                }
            }
            catch (Exception ex)
            {
                return(new BaseDtoResponse <FoodItemDto>($"An error occurred when saving the food item: {ex.Message}"));
            }
        }
Esempio n. 11
0
        public async Task <BaseDtoResponse <FoodItemDto> > Delete(Guid id)
        {
            try
            {
                FoodItem item = await _foodItemRepository.GetById(id);

                if (item != null)
                {
                    await _foodItemRepository.Delete(item);

                    FoodItemDto result = _mapper.Map <FoodItem, FoodItemDto>(item);
                    return(new BaseDtoResponse <FoodItemDto>(result));
                }
                else
                {
                    return(new BaseDtoResponse <FoodItemDto>("Unable to delete: item Not found"));
                }
            }
            catch (Exception ex)
            {
                return(new BaseDtoResponse <FoodItemDto>($"An error occurred when deleting the item: {ex.Message}"));
            }
        }
Esempio n. 12
0
        private void HandleImage(FoodItemDto viewModel, FoodItem singleById)
        {
            // save new image
            var newFileName = SaveImage(viewModel);

            if (!String.IsNullOrEmpty(newFileName))
            {
                if (singleById.ImageString != _appSettingsAccessor.DummyImageName)
                {
                    // if old image is there
                    var oldimagePath = Path.Combine(_hostingEnvironment.WebRootPath, _appSettingsAccessor.ImageSaveFolder, singleById.ImageString);

                    // delete old image
                    if (System.IO.File.Exists(oldimagePath))
                    {
                        System.IO.File.Delete(oldimagePath);
                    }
                }

                // save db entry
                singleById.ImageString = newFileName;
            }
        }
        public ActionResult AddFoodToList([FromBody] FoodItemDto viewModel)
        {
            if (viewModel == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            FoodItem item = _mapper.Map <FoodItem>(viewModel);

            item.Created = DateTime.Now;
            FoodItem newFoodItem = _foodRepository.Add(item);

            _chatHubContext.Clients.All.SendAsync("FoodAdded", newFoodItem);

            return(CreatedAtRoute(
                       nameof(GetSingleFood),
                       new { id = newFoodItem.Id },
                       _mapper.Map <FoodItemDto>(newFoodItem)));
        }
Esempio n. 14
0
        public IActionResult UpdateFoodInList(Guid foodItemId, [FromBody] FoodItemDto viewModel)
        {
            if (viewModel == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            FoodItem singleById = _foodRepository.GetSingle(foodItemId, null);

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

            singleById.ItemName = viewModel.ItemName;
            singleById.IsPublic = viewModel.IsPublic;

            if (ImageIsNewImage(viewModel))
            {
                HandleImage(viewModel, singleById);
            }

            _foodRepository.Update(singleById);

            if (_foodListRepository.Save())
            {
                return(Ok(Mapper.Map <FoodItemDto>(singleById)));
            }

            return(BadRequest());
        }
Esempio n. 15
0
        // GET: FoodItem/Edit/5
        public ActionResult Edit(int id)
        {
            UpdateFoodItem ViewModel = new UpdateFoodItem();

            string url = "fooditemdata/findfooditem/" + id;
            HttpResponseMessage httpResponse = client.GetAsync(url).Result;

            if (httpResponse.IsSuccessStatusCode)
            {
                FoodItemDto SelectedFoodItem = httpResponse.Content.ReadAsAsync <FoodItemDto>().Result;
                ViewModel.FoodItem = SelectedFoodItem;

                url          = "restaurantdata/GetRestaurants";
                httpResponse = client.GetAsync(url).Result;
                IEnumerable <RestaurantDto> RestaurantList = httpResponse.Content.ReadAsAsync <IEnumerable <RestaurantDto> >().Result;
                ViewModel.Restaurants = RestaurantList;

                return(View(ViewModel));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }
        public IActionResult AddFoodToList([FromBody] FoodItemDto viewModel)
        {
            if (viewModel == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            FoodItem item = Mapper.Map <FoodItem>(viewModel);

            item.Created = DateTime.Now;
            FoodItem newFoodItem = _foodRepository.Add(item);

            _coolMessageHubContext.Clients.All.InvokeAsync("FoodAdded", newFoodItem);

            return(CreatedAtRoute(
                       "GetSingleFood",
                       new { foodItemId = newFoodItem.Id },
                       Mapper.Map <FoodItemDto>(newFoodItem)));
        }
Esempio n. 17
0
 public Task FoodAdded(FoodItemDto foodItem)
 {
     return(Clients.All.InvokeAsync("foodAdded", foodItem));
 }
Esempio n. 18
0
        public ResultMessage Update(FoodItemDto foodItem, int id)
        {
            //var validationResult = _validator.Validate(product);
            //if (!validationResult.IsValid)
            //    return new ResultMessage
            //    {
            //        Status = HttpStatusCode.BadRequest,
            //        ValidationMessages = validationResult.GetErrorsList()
            //    };

            try
            {
                _logger.LogInformation($"START: FOOD.Update: Name:{foodItem.Name}");

                var oldFoodItem = _unitOfWork.FoodItemsRepository.GetById(id);
                if (oldFoodItem != null && !oldFoodItem.IsDraft)
                {
                    oldFoodItem.Name            = foodItem.Name;
                    oldFoodItem.ArabicTxt       = foodItem.ArabicTxt;
                    oldFoodItem.Alcohol         = foodItem.Alcohol;
                    oldFoodItem.Amount          = foodItem.Amount;
                    oldFoodItem.B1              = foodItem.B1;
                    oldFoodItem.B2              = foodItem.B2;
                    oldFoodItem.B12             = foodItem.B12;
                    oldFoodItem.B3              = foodItem.B3;
                    oldFoodItem.B5              = foodItem.B5;
                    oldFoodItem.B6              = foodItem.B6;
                    oldFoodItem.Caffiene        = foodItem.Caffiene;
                    oldFoodItem.Calcuim         = foodItem.Calcuim;
                    oldFoodItem.Carbs           = foodItem.Carbs;
                    oldFoodItem.Cholesterol     = foodItem.Cholesterol;
                    oldFoodItem.Copper          = foodItem.Copper;
                    oldFoodItem.Cystine         = foodItem.Cystine;
                    oldFoodItem.Energy          = foodItem.Energy;
                    oldFoodItem.Fat             = foodItem.Fat;
                    oldFoodItem.Fiber           = foodItem.Fiber;
                    oldFoodItem.Folate          = foodItem.Folate;
                    oldFoodItem.Histidine       = foodItem.Histidine;
                    oldFoodItem.Iron            = foodItem.Iron;
                    oldFoodItem.Isoleucine      = foodItem.Isoleucine;
                    oldFoodItem.Leucine         = foodItem.Leucine;
                    oldFoodItem.Lysine          = foodItem.Lysine;
                    oldFoodItem.Magnesium       = foodItem.Magnesium;
                    oldFoodItem.Manganese       = foodItem.Manganese;
                    oldFoodItem.Methionine      = foodItem.Methionine;
                    oldFoodItem.Monounsaturated = foodItem.Monounsaturated;
                    oldFoodItem.NetCarbs        = foodItem.NetCarbs;
                    oldFoodItem.Omega3          = foodItem.Omega3;
                    oldFoodItem.Omega6          = foodItem.Omega6;
                    oldFoodItem.Phenylalanine   = foodItem.Phenylalanine;
                    oldFoodItem.Phosphorus      = foodItem.Phosphorus;
                    oldFoodItem.Polyunsaturated = foodItem.Polyunsaturated;
                    oldFoodItem.Potassium       = foodItem.Potassium;
                    oldFoodItem.Protein         = foodItem.Protein;
                    oldFoodItem.Saturated       = foodItem.Saturated;
                    oldFoodItem.Selenium        = foodItem.Selenium;
                    oldFoodItem.Sodium          = foodItem.Sodium;
                    oldFoodItem.Starch          = foodItem.Starch;
                    oldFoodItem.Sugars          = foodItem.Sugars;
                    oldFoodItem.Threonine       = foodItem.Threonine;
                    oldFoodItem.TransFats       = foodItem.TransFats;
                    oldFoodItem.Tryptophan      = foodItem.Tryptophan;
                    oldFoodItem.Tyrosine        = foodItem.Tyrosine;
                    oldFoodItem.Valine          = foodItem.Valine;
                    oldFoodItem.VitaminA        = foodItem.VitaminA;
                    oldFoodItem.VitaminC        = foodItem.VitaminC;
                    oldFoodItem.VitaminD        = foodItem.VitaminD;
                    oldFoodItem.VitaminE        = foodItem.VitaminE;
                    oldFoodItem.VitaminK        = foodItem.VitaminK;
                    oldFoodItem.Water           = foodItem.Water;
                    oldFoodItem.Zinc            = foodItem.Zinc;

                    oldFoodItem.UpdatedBy = foodItem.UpdatedBy;
                    oldFoodItem.UpdatedAt = DateTime.Now;


                    _unitOfWork.FoodItemsRepository.Update(oldFoodItem);
                    _unitOfWork.Commit();

                    _logger.LogInformation($"END: FOOD.Update: Name:{foodItem.Name} --SUCCESS");

                    return(new ResultMessage
                    {
                        Status = HttpStatusCode.OK,
                        Data = oldFoodItem.Adapt <FoodItemDto>()
                    });
                }
                else
                {
                    _logger.LogInformation($"END: FOOD.Update: Name:{foodItem.Name} --NOTFOUND");

                    return(new ResultMessage
                    {
                        Status = HttpStatusCode.NotFound,
                        ErrorCode = (int)FoodItemsErrorsCodeEnum.NotFoundError
                    });
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, string.Empty);
                return(new ResultMessage
                {
                    Status = HttpStatusCode.InternalServerError,
                    ErrorCode = (int)FoodItemsErrorsCodeEnum.UpdateError
                });
            }
        }
Esempio n. 19
0
 private static bool ImageIsNewImage(FoodItemDto viewModel)
 {
     return(viewModel.ImageString.StartsWith(DataImagePngBase64Prefix));
 }
Esempio n. 20
0
 public ActionResult Put(int id, [FromForm] FoodItemDto foodItemDto)
 {
     foodItemDto.UpdatedBy = GetCurrentUser().Id;
     return(GetStatusCodeResult(_neutrintsManager.Update(foodItemDto, id)));
 }
Esempio n. 21
0
 public ActionResult Post([FromForm] FoodItemDto foodItemDto)
 {
     foodItemDto.CreatedBy = GetCurrentUser().Id;
     return(GetStatusCodeResult(_neutrintsManager.Insert(foodItemDto)));
 }