public bool CreateLibrarian(LibrarianCreateDto librarianToCreateDto)
        {
            var librarianToCreate = MapConfig.Mapper.Map <Librarian>(librarianToCreateDto);

            _librarianContext.Add(librarianToCreate);
            return(Save());
        }
        public IActionResult CreateLibrarian([FromBody] LibrarianCreateDto newLibrarian)
        {
            if (newLibrarian == null)
            {
                return(BadRequest(ModelState));
            }

            if (_unitOfWork.LibrarianRepository.LibrarianExists(newLibrarian.Id))
            {
                ModelState.AddModelError("", "Such librarian Exists!");
                return(StatusCode(404, ModelState));
            }

            if (!_unitOfWork.LibrarianRepository.CreateLibrarian(newLibrarian))
            {
                ModelState.AddModelError("", $"Something went wrong saving the librarian " + $"{newLibrarian.LibrarianFirstName}{newLibrarian.LibrarianLastName}");
                return(StatusCode(500, ModelState));
            }

            _unitOfWork.Commit();

            return(CreatedAtRoute("GetLibrarianById", new { librarianId = newLibrarian.Id }, newLibrarian));
        }