import ns ${{BASIC_PROJECT_NAME}}.model.actions.HandleTask
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.Currencies
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.EDIOrderCustomer
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.EDIOrderHeader
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.EDIOrderItem
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.EDIOrders
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.EmployeeSalary
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.Employees
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.ProductSales
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.ProductClass
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.Products
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.SalesByYear
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.SupplierData
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.TaskDetails
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.TaskInfo
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.TopProductsByPromotionMediaShare
import ns ${{BASIC_PROJECT_NAME}}.model.datamarts.Warehouse
import ns ${{BASIC_PROJECT_NAME}}.model.dtos.EmployeeDto
import ns ${{BASIC_PROJECT_NAME}}.model.dtos.ProductDto

package ${{MODEL_PROJECT_PACKAGE_NAME}} {

	table Products describedBy "Products" as readOnly using
	datamart Products {
		axis rows notifyOnSelect {
			property productSubcategory
		}
		axis columns details {
			value
			property srp
			formatter "###,##0.00 &curren;" /* local national currency */
			value
			property grossWeight intervals {
			}
		}
	}
	
	table Product as editable using dto ProductDto {
		editable prop productName style textStyle
		editable prop brandName style textStyle
		editable prop sku style numberStyle format '###.###'
		editable prop recyclablePackage style boolStyle
		editable prop lowFat style boolStyle
		editable prop srp style numberStyle format '#,##0.00 &curren;'
		editable prop grossWeight style progressbarStyle max 50
	}

	table Employees describedBy "All Employees" as readOnly  using
	datamart Employees {
		axis rows
		axis columns
	}

	table Employees describedBy "All Employees" as editable  using
	dto EmployeeDto {
		prop firstName style textStyle
		prop lastName style textStyle
	}

	table EmployeeSalary describedBy "Employee salary assignment" as readOnly  using
	datamart EmployeeSalary {
		axis columns details {
			value
			property gender lookups hidelabel {
				string "M" icon "gender_male"
				string "F" icon "genderFemale"
				string "M" tooltip "male"
				string "F" tooltip "female"
			}
			value
			property salary
			formatter "###,##0.00 &curren;" /* local national currency */
			intervals {
				upToInteger 5000 textcolor "204,102,102"
				/* dark red */
				upToInteger 8000 cellcolor "0,128,128"
				upToInteger 8000 textcolor "255,255,255"
				/* white */
				upToInteger 10000 cellcolor "255,128,0"
				upToInteger 100000 cellcolor "255,0,0"
				/* red */
				upToInteger 100000 textcolor "255,255,255"
				/* white */
			}
			value
			property maxScale
			formatter "###,##0.00 &curren;" /* local national currency */
			value
			property minScale
			formatter "###,##0.00 &curren;" /* local national currency */
			value
			property hireDate
			formatter "SHORTDATE"
			/* short date */
			value
			property maritalStatus lookups hidelabel {
				string "M" icon "marital_married"
				string "S" icon "marital_single"
				string "M" tooltip "married"
				string "S" tooltip "single"
			}
		}
	}

	table TopProducts describedBy "Top products over advertising media" as readOnly alwaysSelected using
	datamart TopProductsByPromotionMediaShare {
		axis rows notifyOnSelect {
			aggregation topcount 
		}
		axis columns details {
			value
			allColumns
			formatter "##0.0'%'" intervals {
				upToInteger 3 cellcolor "255,182,182"
				/* light red */
				upToInteger 3 icon "notok"
				upToInteger 10 cellcolor "102,204,102"
				/* light green */
				upToInteger 10 icon "ok"
				upToInteger 100 cellcolor "255,255,255"
				/* white */
			}
		}
	}

	table SalesByYear describedBy "Sales by year" as readOnly using
	datamart SalesByYear {
		axis rows details {
			value
			level StoreCountry lookups {
				string "Canada" icon "flag_canada"
				string "USA" icon "flag_usa"
				string "Mexico" icon "flag_mexico"
			}
		}
		axis columns details {
			value
			measure StoreSales
			formatter "###,##0.00"
			value
			derived PrevIncrease
			formatter "##0.0'%'" intervals {
				upToInteger -3 trend sloping
				upToInteger 3 trend stagnating
				upToInteger 999 trend rising
			}
		}
	}

	table TaskInfo describedBy "Tasks" as readOnly embedded toolbar HandleTask using
	datamart TaskInfo {
		axis rows notifyOnSelect {
			taskId 
		}
		axis columns
		preorder
		column Priority details {
			value
			column TaskId collapse
			value
			column ProcessId collapse
			value
			column Priority lookups hidelabel {
				number 0.0 icon "taskPriority_0"
				number 1.0 icon "taskPriority_1"
				number 2.0 icon "taskPriority_2"
				number 3.0 icon "taskPriority_3"
				number 4.0 icon "taskPriority_4"
				number 5.0 icon "taskPriority_5"
			}
			value
			column Status lookups hidelabel {
				number 0.0 icon "taskStatus_created"
				number 1.0 icon "taskStatus_ready"
				number 2.0 icon "taskStatus_reserved"
				number 3.0 icon "taskStatus_inprogress"
				number 4.0 icon "taskStatus_suspended"
				number 5.0 icon "taskStatus_completed"
				number 6.0 icon "taskStatus_failed"
				number 7.0 icon "taskStatus_error"
				number 8.0 icon "taskStatus_exited"
				number 9.0 icon "taskStatus_obsolete"
				number 0.0 tooltip "created"
				number 1.0 tooltip "ready"
				number 2.0 tooltip "reserved"
				number 3.0 tooltip "in progress"
				number 4.0 tooltip "suspended"
				number 5.0 tooltip "completed"
				number 6.0 tooltip "failed"
				number 7.0 tooltip "error"
				number 8.0 tooltip "exited"
				number 9.0 tooltip "obsolete"
			}
		}
	}

	table TaskDetails describedBy "Task Details" as	readOnly using
	datamart TaskDetails {
		axis rows rowheight 50
		axis columns details {
			value
			column TaskId collapse
		}
	}

	table Supplier describedBy "All Supplier" as readOnly  using
	datamart SupplierData

	table TaskMenu as readOnly embedded toolbar HandleTask using
	datamart TaskInfo {
		axis columns
		preorder
		column Priority details {
			value
			column TaskId collapse
			value
			column ProcessId collapse
			value
			column Priority lookups hidelabel {
				number 0.0 icon "taskPriority_0"
				number 1.0 icon "taskPriority_1"
				number 2.0 icon "taskPriority_2"
				number 3.0 icon "taskPriority_3"
				number 4.0 icon "taskPriority_4"
				number 5.0 icon "taskPriority_5"
			}
			value
			column Status lookups hidelabel {
				number 0.0 icon "taskStatus_created"
				number 1.0 icon "taskStatus_ready"
				number 2.0 icon "taskStatus_reserved"
				number 3.0 icon "taskStatus_inprogress"
				number 4.0 icon "taskStatus_suspended"
				number 5.0 icon "taskStatus_completed"
				number 6.0 icon "taskStatus_failed"
				number 7.0 icon "taskStatus_error"
				number 8.0 icon "taskStatus_exited"
				number 9.0 icon "taskStatus_obsolete"
				number 0.0 tooltip "created"
				number 1.0 tooltip "ready"
				number 2.0 tooltip "reserved"
				number 3.0 tooltip "in progress"
				number 4.0 tooltip "suspended"
				number 5.0 tooltip "completed"
				number 6.0 tooltip "failed"
				number 7.0 tooltip "error"
				number 8.0 tooltip "exited"
				number 9.0 tooltip "obsolete"
			}
		}
	}

	table EDIOrders describedBy "EDI Orders" as readOnly alwaysSelected using
	datamart EDIOrders {
		axis columns details {
			value
			property importDate
			formatter "SHORTDATE"
			/* short date */
		}
	}

	table EDIOrderHeader describedBy "EDI Order Headers" as readOnly alwaysSelected using
	datamart EDIOrderHeader

	table EDIOrderCustomer describedBy "EDI Order Customer" as readOnly alwaysSelected using
	datamart EDIOrderCustomer

	table EDIOrderItem describedBy "EDI Order Item" as readOnly rowHeader hidden using
	datamart EDIOrderItem {
		axis columns details {
			value
			property position
			formatter "###"
		}
	}

	table Currencies as readOnly using
	datamart Currencies

	table ProductClass as readOnly using
	datamart ProductClass
	
}
