public async Task <WorkoutPlanIdentityDTO> Handle(CreateWorkoutPlanCommand command, CancellationToken cancellationToken) { var identity = new WorkoutPlanIdentityDTO { ExternalId = _guidProvider.GetGuid() }; await _workoutPlanRepository.AddWorkoutPlanAsync(command.Username, new WorkoutPlanPersistanceDTO { ExternalId = identity.ExternalId, Name = command.Name, Created = _dateTimeHelper.GetCurrentDateTime(), Description = command.Description, IsPublic = command.IsPublic, Exercises = command.Exercises.Select(x => new ExerciseExecutionPersistanceDTO { ExerciseId = x.ExerciseId, ExerciseName = x.ExerciseName, Break = x.Break, Description = x.Description, MaxAdditionalKgs = x.MaxAdditionalKgs, MinAdditionalKgs = x.MinAdditionalKgs, MinReps = x.MinReps, MaxReps = x.MaxReps, Order = x.Order, Series = x.Series }) }); return(identity); }