module DredgePos.OrderScreen.Controller open DredgePos open DredgeFramework open DredgePos.Types open DredgePos.Global.Controller open Thoth.Json.Net open Giraffe open Microsoft.AspNetCore.Http open FSharp.Collections let getOrderScreenData (tableNumber: int) = {| order_screen_pages = Entity.GetAllInVenue sales_categories = Entity.GetAllInVenue print_groups = Entity.GetAllInVenue custom_item = Entity.GetFirstByColumn "code" "OPEN000" table = Floorplan.Model.getTable tableNumber |} |> ajaxSuccess |> json let loadGrid (gridId: int) = let grid = Entity.GetById gridId let gridHtml = Model.loadGrid gridId if gridHtml = "Error" then ajaxFail gridHtml else ajaxSuccess {|grid=grid;gridHtml=gridHtml|} |> json let renderGrid (grid: grid) = let gridData = grid.data |> Decode.Auto.fromString> match gridData with | Error message -> failwith message | Ok data -> data |> Map.toArray |> Array.map snd |> Array.map( fun buttonIds -> buttonIds |> Array.map Entity.GetById