Esempio n. 1
0
        public async Task ExecuteAsync(string name, string email)
        {
            var existingTrainer = await _trainerRepository.GetByEmailAsync(email);

            if (existingTrainer is null)
            {
                var trainer = new Trainer(name, email);
                _trainerRepository.Create(trainer);
                await _trainerRepository.UnitOfWork.SaveChangesAsync();
            }
            else
            {
                throw new InvalidOperationException("The email is already being used.");
            }
        }
Esempio n. 2
0
        public ResultHandler <TrainerDto> Create(TrainerDto trainerDto)
        {
            ResultHandler <TrainerDto> resultHandler = new ResultHandler <TrainerDto>();

            try
            {
                Trainer trainer = _trainer.Create(trainerDto.FirstName, trainerDto.LastName, trainerDto.Description, trainerDto.PayRate, trainerDto.IsActive);
                _trainerRepository.Create(trainer);
                resultHandler.Data = AutoMapper.Mapper.Map <Trainer, TrainerDto>(trainer);
            }
            catch (Exception ex)
            {
                resultHandler.Errors.Add(ex.Message);
            }

            return(resultHandler);
        }