public IHttpActionResult Post(NewPairDto newPairDto)
        {
            var newSocksPair = new SocksPair((SocksColour)Enum.Parse(typeof(SocksColour), newPairDto.Colour, ignoreCase: true));

            // yes, this is domain logic and shouldn't live in the controller
            if (_session.Query<SocksPair>().Count(p => p.Colour == SocksColour.White) == 6
                && newSocksPair.Colour == SocksColour.White)
                return Content(HttpStatusCode.Forbidden, "Maximum of 6 white pairs in the drawer at one time.");

            _session.Save(newSocksPair);
            _session.Flush();

            return Created($"api/drawer/{newSocksPair.Id}", newSocksPair);
        }
        public IHttpActionResult Post(NewPairDto newPairDto)
        {
            var newSocksPair = new SocksPair((SocksColour)Enum.Parse(typeof(SocksColour), newPairDto.Colour, ignoreCase: true));

            // yes, this is domain logic and shouldn't live in the controller
            if (_session.Query <SocksPair>().Count(p => p.Colour == SocksColour.White) == 6 &&
                newSocksPair.Colour == SocksColour.White)
            {
                return(Content(HttpStatusCode.Forbidden, "Maximum of 6 white pairs in the drawer at one time."));
            }

            _session.Save(newSocksPair);
            _session.Flush();

            return(Created($"api/drawer/{newSocksPair.Id}", newSocksPair));
        }