public async Task <IActionResult> Register(int userId, [FromBody] JednostkaForRegisterDto jednostkaForRegisterDto) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var parent = await _repo.GetJednostkaUser(userId, jednostkaForRegisterDto.ParentId); if (parent == null) { return(BadRequest("Nie znaleziono jednostki nadrzędnej")); } var jednostka = _mapper.Map <Jednostka>(jednostkaForRegisterDto); jednostka.DataModyfikacji = DateTime.Now; jednostka.Parent = parent; jednostka.UserId = userId; jednostka.IsMain = false; _repo.Add(jednostka); var jednostkaToReturn = _mapper.Map <JednostkaForListDto>(jednostka); jednostkaToReturn.Id = jednostka.Id; if (await _repo.SaveAll()) { return(CreatedAtRoute("GetJednostka", new { id = jednostka.Id }, jednostkaToReturn)); } throw new System.Exception("Dodanie jednostki nie powiodło się"); }