예제 #1
0
        public async Task <Diet> Update(Diet diet)
        {
            List <Task> tasks = new List <Task>();

            var planIdExists = _planRepository.GetById(diet.SuitablePlanId);

            tasks.Add(planIdExists);
            var idExists = _dietRepository.GetById(diet.Id);

            tasks.Add(idExists);
            var uniqueName = _dietRepository.GetByName(diet.Name);

            tasks.Add(uniqueName);

            await Task.WhenAll(tasks);

            if (planIdExists.Result != null && idExists.Result != null)
            {
                if ((uniqueName.Result != null && uniqueName.Result.Id == diet.Id) || uniqueName.Result == null)
                {
                    return(await _dietRepository.Update(diet));
                }
                else
                {
                    throw new Exception();
                }
            }
            else
            {
                throw new Exception();
            }
        }
예제 #2
0
        public async Task <IActionResult> Edit(DietType diet)
        {
            _db.Update(diet);
            var dietList = await _db.GetAllDiets();

            return(View("Index", dietList));
        }
예제 #3
0
        public async Task <DietResponse> UpdateAsync(int id, Diet diet)
        {
            var existingDiet = await _dietRepository.FindById(id);

            if (existingDiet == null)
            {
                return(new DietResponse("Diet not found"));
            }

            existingDiet.Description = diet.Description;

            try
            {
                _dietRepository.Update(existingDiet);
                await _unitOfWork.CompleteAsync();

                return(new DietResponse(existingDiet));
            }
            catch (Exception ex)
            {
                return(new DietResponse($"An error ocurred while updating Diet: {ex.Message}"));
            }
        }
예제 #4
0
 public async Task Update(int id, DietDto entityDto)
 {
     await _dietRepository.Update(id, entityDto);
 }