public ActionResult <RoomResponse> CreateRoom([FromBody] RoomCreateInput roomInput) { if (roomInput == null) { return(BadRequest("Wrong input parameters")); } if (roomInput.Number == default) { return(BadRequest("Room Number required")); } if (roomInput.RoomType == default) { return(BadRequest("Room Type required")); } if (roomInput.Capacity == default) { return(BadRequest("Room Capacity required")); } var roomResponse = new CreateRoomCommand(roomInput) .InTransactionScope() .Execute(_roomRepository); var selfLink = GetRoomSelfLinkById(roomResponse.Id.Value); return(Created(selfLink.Rel, roomResponse.WithLinks(selfLink))); }
public CreateRoomCommand(RoomCreateInput roomInput) { Guard.IsNotNull(roomInput, nameof(roomInput)); _roomInput = roomInput; }