public async Task <RoutineDto> UpdateRoutine(int routineId, RoutineDto routineDto)
        {
            var routine = await GetByIdAsync(routineId);

            routine.Name        = routineDto.Name;
            routine.Description = routineDto.Description;
            routine.Difficulty  = routineDto.Difficulty;
            routine.Exercises   = new List <Exercise>();
            var ids        = routineDto.Exercises.Select(e => e.Id);
            var exerciseDb = _context.Exercises.Select(e => e.Id).ToList();

            foreach (var id in ids)
            {
                if (exerciseDb.Contains(id))
                {
                    routine.Exercises.Add(await _context.Exercises.FirstOrDefaultAsync(e => e.Id == id));
                }
            }

            _context.Routines.Update(routine);
            await _context.SaveChangesAsync();

            var dto = _mapper.Map <RoutineDto>(routine);

            return(dto);
        }
 public void copy(Routine routine, RoutineDto routineDto)
 {
     routine.routine_id = routineDto.routine_id;
     routine.title      = routineDto.title;
     routine.class_id   = routineDto.class_id;
     routine.start_date = routineDto.start_date;
     routine.end_date   = routineDto.end_date;
     routine.image      = routineDto.image;
     routine.is_active  = routineDto.is_active;
 }
Ejemplo n.º 3
0
        public async Task <RoutineDto> UpdateRoutine(int routineId, RoutineDto routineDto)
        {
            var routine = await _routineRepository.GetRoutine(routineId);

            if (routine == null)
            {
                _logger.LogInformation("Error while changing a Routine");
                throw new Exception("Routine not found");
            }

            var result = await _routineRepository.UpdateRoutine(routineId, routineDto);

            return(result);
        }
 public void save(RoutineDto routineDto)
 {
     try
     {
         using (TransactionScope txe = new TransactionScope(TransactionScopeOption.Required))
         {
             var routineCategory = new Routine();
             _routineMaker.copy(routineCategory, routineDto);
             _routineRepository.insert(routineCategory);
             txe.Complete();
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 5
0
        public async Task <RoutineDto> CreateRoutine(RoutineDto routineDto)
        {
            var exercises = routineDto.Exercises;
            var validIds  = (await _exerciseRepository.GetValidIds()).ToList();

            foreach (var exercise in exercises)
            {
                if (!validIds.Contains(exercise.Id))
                {
                    _logger.LogInformation("Error while creating a Routine");
                    throw new ExerciseNotFoundException();
                }
            }
            var result = await _routineRepository.CreateRoutine(routineDto);

            return(result);
        }
 public void update(RoutineDto routineDto)
 {
     try
     {
         using (TransactionScope txe = new TransactionScope(TransactionScopeOption.Required))
         {
             Routine routine = _routineRepository.getById(routineDto.routine_id);
             if (routine == null)
             {
                 throw new ItemNotFoundException($"routine id{routineDto.routine_id}doesnot exist");
             }
             _routineMaker.copy(routine, routineDto);
             _routineRepository.update(routine);
             txe.Complete();
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public async Task <RoutineDto> CreateRoutine(RoutineDto routineDto)
        {
            var routine = _mapper.Map <Routine>(routineDto);

            routine.Exercises = new List <Exercise>();
            var ids        = routineDto.Exercises.Select(e => e.Id);
            var exerciseDb = _context.Exercises.Select(e => e.Id).ToList();

            foreach (var id in ids)
            {
                if (exerciseDb.Contains(id))
                {
                    routine.Exercises.Add(await _context.Exercises.FirstOrDefaultAsync(e => e.Id == id));
                }
            }

            await _context.Routines.AddAsync(routine);

            await _context.SaveChangesAsync();

            var dto = _mapper.Map <RoutineDto>(routine);

            return(dto);
        }
        public async Task <IActionResult> UpdateRoutine(int id, RoutineDto routineDto)
        {
            var result = await _routineService.UpdateRoutine(id, routineDto);

            return(Ok(result));
        }
        public async Task <IActionResult> CreateRoutine(RoutineDto routine)
        {
            var result = await _routineService.CreateRoutine(routine);

            return(Ok(result));
        }