protected virtual TrainingCycle GenerateNewTrainingCycle(Guid parentId, int cycleNumber = 1) { var trainingCycle = new TrainingCycle { Id = Guid.NewGuid(), WorkoutRoutineId = parentId, CycleNumber = cycleNumber, StartingDate = NewRoutineInfo.StartingDate.StartOfWeek(DayOfWeek.Monday).AddDays(7) }; var generatedTrainingWeeks = GenerateTrainingWeeks(trainingCycle.Id, trainingCycle.StartingDate).ToList(); trainingCycle.TrainingWeeks = generatedTrainingWeeks; trainingCycle.EndingDate = trainingCycle.StartingDate.AddDays(generatedTrainingWeeks.Count * 7 - 1); return(trainingCycle); }
public async Task AddWithBaseCycleAsync(DTO.WorkoutRoutine dto) { var domainEntity = Mapper.MapDALToDomain(dto); domainEntity.CreatedAt = DateTime.MaxValue; domainEntity.ClosedAt = DateTime.MaxValue; var baseCycle = new TrainingCycle { Id = new Guid(), CycleNumber = 1, StartingDate = DateTime.Now }; domainEntity.TrainingCycles = new List <TrainingCycle> { baseCycle }; await RepoDbContext.WorkoutRoutines.AddAsync(domainEntity); }