Exemple #1
0
        public ActionResult <InitiativeReadDto> Post(InitiativeCreateDto initiativeCreateDto)
        {
            var initiativeModel = _service.GetInitiativeModel(initiativeCreateDto);

            _repository.CreateInitiative(initiativeModel);
            _repository.SaveChanges();

            var initiativeReadDto = _mapper.Map <InitiativeReadDto>(initiativeModel);

            return(CreatedAtRoute(nameof(GetInitiativeById), new { Id = initiativeReadDto.Id }, initiativeReadDto));
        }
Exemple #2
0
        public ActionResult Put(int id, InitiativeCreateDto initiativeCreateDto)
        {
            var initiativeFromRepo = _repository.GetInitiative(id);

            if (initiativeFromRepo == null)
            {
                return(NotFound());
            }

            _mapper.Map(initiativeCreateDto, initiativeFromRepo);
            _repository.UpdateInitiative(initiativeFromRepo);
            _repository.SaveChanges();
            return(NoContent());
        }
Exemple #3
0
        public Initiative GetInitiativeModel(InitiativeCreateDto initiativeCreateDto)
        {
            var initiativeYears  = _yearRepository.GetInitiativeYears();
            var initiativeYearId = initiativeYears.FirstOrDefault(y =>
            {
                if (y == null)
                {
                    throw new ArgumentNullException(nameof(y));
                }
                return(y.Year == initiativeCreateDto.InitiativeYear);
            }).Id;

            return(new Initiative(initiativeCreateDto.Name, initiativeYearId));
        }