#!/bin/bash function Build() { echo "" echo " This is your first run of the project" echo " Compiling..." echo "" dotnet build --configuration Release --nologo --verbosity q chmod +x ./TicketOffice/bin/Release/net6.0/TicketOffice cp -r ./TicketOffice/wwwroot/ ./TicketOffice/bin/Release/net6.0/ echo "" echo " Project compiled." echo "" } function RenewDatabase() { echo "" echo " Renewing the database..." echo "" dotnet-ef database drop -f --project ./TicketOffice/ dotnet-ef database update --project ./TicketOffice/ yes | cp ./TicketOffice/wwwroot/db/TicketOffice-SQLite.db ./TicketOffice/bin/Release/net6.0/wwwroot/db/ echo "" echo " Database renewed." echo "" } function Start() { echo "" echo " Starting..." echo "" cd ./TicketOffice/bin/Release/net6.0/ ./TicketOffice } function RunScript() { str=$(ls ./TicketOffice/bin | grep Release) if [ -z "$str" ] then Build echo "" echo " Copying essential files..." echo "" cp ./TicketOffice/wwwroot/ ./TicketOffice/bin/Release/net6.0/ -r echo "" echo " Files copied." echo "" RenewDatabase Start else Start fi } if [ $# = 0 ] then RunScript elif [ $1 = "--renew" ] then RenewDatabase Start exit 0 elif [ $1 = "--rebuild" ] then echo "" echo " Deleting compiled project..." echo "" rm -Rf ./TicketOffice/bin/Release echo "" echo " Deletion complete." echo "" Build Start exit 0 elif [ $1 = "--help" ] then echo "" echo " Available options:" echo " --renew renew the database" echo " --rebuild rebuild the project" echo "" exit 0 elif [ -n "$1" ] then echo "$0: unrecognized option '$1'" echo "Try '$0 --help' for more information." exit 0 fi