Initial commit
This commit is contained in:
102
AjaxController.fs
Normal file
102
AjaxController.fs
Normal file
@@ -0,0 +1,102 @@
|
||||
module AjaxController
|
||||
|
||||
open DredgeFramework
|
||||
open Microsoft.AspNetCore.Http
|
||||
open language
|
||||
open Giraffe
|
||||
|
||||
let loginWithLoginCode (context: HttpContext) (login_code: int) =
|
||||
if Session.clerkLogin login_code context then ajaxSuccess "success"
|
||||
else ajaxFail "fail"
|
||||
|
||||
let getLanguageVars = ajaxSuccess languageVars
|
||||
|
||||
let getActiveTables venue = Floorplan.getActiveTables venue |> ajaxSuccess |> json
|
||||
|
||||
let getRoomData roomId = Floorplan.getRoom roomId |> ajaxSuccess |> json
|
||||
|
||||
let mergeTables (parent, child) =
|
||||
let status =
|
||||
if Floorplan.mergeTables parent child then "success"
|
||||
else "fail"
|
||||
|
||||
map [
|
||||
"status", status
|
||||
"data" , parent |> Floorplan.getTable |> jsonEncode
|
||||
]
|
||||
|> json
|
||||
|
||||
let unmergeTable tableNumber =
|
||||
let status =
|
||||
if Floorplan.unmergeTable tableNumber then "success"
|
||||
else "fail"
|
||||
|
||||
map [
|
||||
"status", status
|
||||
"data" , "[true]"
|
||||
]
|
||||
|> json
|
||||
|
||||
let getRoomTablesAndDecorations roomId =
|
||||
let tables = Floorplan.tablesInRoom roomId
|
||||
let decorations = Decorations.decorationsInRoom roomId
|
||||
let data = {|
|
||||
tables = tables
|
||||
decorations = decorations
|
||||
|}
|
||||
|
||||
data |> ajaxSuccess |> json
|
||||
|
||||
let getTableData tableNumber = json <| Floorplan.getTable tableNumber
|
||||
|
||||
let updateTableShape (table: Floorplan.floorplan_table_shape) =
|
||||
Floorplan.updateTableShape table |> ignore
|
||||
getTableData table.table_number
|
||||
|
||||
let transformTable (table: Floorplan.floorplan_table_transform) =
|
||||
Floorplan.updateTablePosition table |> ignore
|
||||
getTableData table.table_number
|
||||
|
||||
let createTable (tableData) =
|
||||
let newTableCreated = Floorplan.addNewTable tableData
|
||||
let result =
|
||||
if newTableCreated then Floorplan.getTable tableData.table_number |> jsonEncode |> ajaxSuccess
|
||||
else Floorplan.tableExists tableData.table_number |> jsonEncode |> ajaxFail
|
||||
|
||||
json result
|
||||
|
||||
let transferTable (origin, destination) =
|
||||
Floorplan.transferTable origin destination
|
||||
ajaxSuccess "true" |> json
|
||||
|
||||
let AddDecoration (data: Decorations.decoration_creator) =
|
||||
let image = "wwwroot/images/decorations/" + data.decoration_image
|
||||
let width, height = image |> GetImageSize
|
||||
let aspectRatio = decimal width / decimal height
|
||||
|
||||
let decoration : Decorations.floorplan_decoration = {
|
||||
decoration_id = 0
|
||||
decoration_height = (200m / aspectRatio) |> int
|
||||
decoration_width = 200
|
||||
decoration_rotation = 0
|
||||
decoration_image = data.decoration_image
|
||||
decoration_pos_x = data.basis/2
|
||||
decoration_pos_y = data.basis/2
|
||||
decoration_room = data.decoration_room
|
||||
}
|
||||
|
||||
Decorations.CreateDecoration decoration |> ignore
|
||||
ajaxSuccess "true" |> json
|
||||
|
||||
let UpdateDecoration data =
|
||||
Decorations.UpdateDecoration data |> ignore
|
||||
ajaxSuccess "true" |> json
|
||||
|
||||
let DeleteDecoration id =
|
||||
Decorations.DeleteDecorationById id |> ignore
|
||||
ajaxSuccess "true" |> json
|
||||
|
||||
let newEmptyReservation tableNumber =
|
||||
Floorplan.createEmptyReservation tableNumber 2
|
||||
|
||||
json <| ajaxSuccess "true"
|
||||
Reference in New Issue
Block a user