Пример #1
0
        public async Task <Supplement> Update(Supplement supplement)
        {
            List <Task> tasks = new List <Task>();

            var dietIdExists = _dietRepository.GetById(supplement.SuitableDietId);

            tasks.Add(dietIdExists);
            var idExists = _supplementRepository.GetById(supplement.Id);

            tasks.Add(idExists);
            var uniqueName = _supplementRepository.GetByName(supplement.Name);

            tasks.Add(uniqueName);

            await Task.WhenAll(tasks);

            if (dietIdExists.Result != null && idExists.Result != null)
            {
                if ((uniqueName.Result != null && uniqueName.Result.Id == supplement.Id) || uniqueName.Result == null)
                {
                    return(await _supplementRepository.Update(supplement));
                }
                else
                {
                    throw new Exception();
                }
            }
            else
            {
                throw new Exception();
            }
        }
Пример #2
0
 public async Task <Diet> GetDietById(int id)
 {
     return(await _dietRepository.GetById(id));
 }