public void AddPunishmentUnitTests()
        {
            // Arrange
            var           punishmentController = this.CreatePunishmentController();
            PunishmentDTO punishmentDto        = new PunishmentDTO();

            // Act
            punishmentController.AddPunishment(
                punishmentDto);

            // Assert
            _mockPunishmentService.VerifyAll();
        }
        public void UpdatePunishmentUnitTests()
        {
            // Arrange
            var           punishmentController = this.CreatePunishmentController();
            int           id            = 0;
            PunishmentDTO punishmentDto = new PunishmentDTO();

            // Act
            var result = punishmentController.UpdatePunishment(
                id,
                punishmentDto);

            // Assert
            _mockPunishmentService.VerifyAll();
        }
        public ActionResult <Punishment> AddPunishment([FromBody] PunishmentDTO punishmentDTO)
        {
            string userName = User.Identity.Name;

            var punishmentModel = _mapper.Map <Punishment>(punishmentDTO);

            if (punishmentModel == null)
            {
                return(NotFound());
            }
            _punishmentService.CreatePunishment(punishmentModel);
            _punishmentService.SaveChanges();
            _loggerService.AddLog(controller, "Dodano karę dla więźnia", userName);

            return(Ok(StatusCode(200)));
        }
        public ActionResult UpdatePunishment(int id, [FromBody] PunishmentDTO punishmentDTO)
        {
            string userName = User.Identity.Name;

            var punishment = _punishmentService.SelectedToDelateOrUpdatePunishment(id);

            if (punishment == null)
            {
                return(NotFound());
            }
            _mapper.Map(punishmentDTO, punishment);
            _punishmentService.UpdatePunishment(punishment);
            _punishmentService.SaveChanges();
            _loggerService.AddLog(controller, "Edytowano karę więźnia", userName);



            return(Ok(StatusCode(200)));
        }