public IActionResult getDogDetails(int dogId) { var claimsIdentity = this.User.Identity as ClaimsIdentity; try { userService.CanUserAccessDog(claimsIdentity, dogId); DogDetailsDTO response = dogService.getDogDetailsById(dogId); if (response == null) { throw new AppException("Nie odnaleziono psa o podanym ID"); } return(Ok(response)); } catch (Exception e) { return(BadRequest(new { message = e.Message })); } }
public DogDetailsDTO getDogDetailsById(int dogId) { Dog dog = context.Dog.Where(d => d.DogId == dogId).FirstOrDefault(); if (dog == null) { throw new AppException("Nie odnaleziono psa"); } DogBreed breed = context.DogBreed.Where(db => db.BreedId == dog.BreedId).FirstOrDefault(); if (breed == null) { throw new AppException("Nie odnaleziono rasy"); } DogClass classD = context.DogClass.Where(c => c.ClassId == dog.ClassId).FirstOrDefault(); if (classD == null) { throw new AppException("Nie odnaleziono klasy"); } string sex = dog.Sex == "M" ? "Pies" : "Suka"; DogDetailsDTO dogDetails = new DogDetailsDTO { dogId = dog.DogId, name = dog.Name, lineageNumber = dog.LineageNumber, registrationNumber = dog.RegistrationNumber, titles = dog.Titles, chipNumber = dog.ChipNumber, breedName = breed.NamePolish, sex = sex, birthday = dog.Birthday, fatherName = dog.FatherName, motherName = dog.MotherName, breederName = dog.BreederName, breederAddress = dog.BreederAddress, className = classD.NamePolish }; return(dogDetails); }