public async Task <IActionResult> AddOrganizationType(int userId, OrganizationTypeDto organizationTypeDto) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var otFromRepo = await _repo.GetOrganizationTypes(); foreach (var ot in otFromRepo) { if (ot.Title.Trim() == organizationTypeDto.Title.Trim()) { return(BadRequest($"organization type {ot.Title} already exists")); } } organizationTypeDto.Title = organizationTypeDto.Title.Trim(); var newOt = _mapper.Map <OrganizationType>(organizationTypeDto); _repo.Add(newOt); if (await _repo.SaveAll()) { var otToReturn = _mapper.Map <OrganizationTypeDto>(newOt); return(CreatedAtRoute("GetOrganizationType" , new { userId = userId, id = newOt.Id } , otToReturn)); } return(BadRequest("Failed to add the organization type")); }
public async Task <IActionResult> UpdateOrganizationType(int id, int userId, OrganizationTypeDto organizationTypeDto) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var otFromRepo = await _repo.GetOrganizationType(id); organizationTypeDto.Id = otFromRepo.Id; _mapper.Map(organizationTypeDto, otFromRepo); if (await _repo.SaveAll()) { return(NoContent()); } throw new Exception($"Updating organization type {id} failed on save"); }