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)); }