diff options
| author | Nikolaus Gotsche <n@softwarefools.com> | 2018-09-12 13:57:14 +0200 |
|---|---|---|
| committer | Nikolaus Gotsche <n@softwarefools.com> | 2018-09-12 13:57:14 +0200 |
| commit | 4fa9a4e986d457b406236fc62a5955a2275b83a9 (patch) | |
| tree | 4811269099d424acc1771ea935be9c9b3e7dbaf6 /sqlite.go | |
| parent | ab1e57948af2e391e50d7aec5eadad7d1c203c35 (diff) | |
delete Bill, minor beautification
Diffstat (limited to 'sqlite.go')
| -rw-r--r-- | sqlite.go | 72 |
1 files changed, 60 insertions, 12 deletions
@@ -214,6 +214,11 @@ func saveBill(in bill) { func showLastBills(count int) { boldRed := color.New(color.FgRed, color.Bold).SprintFunc() boldGreen := color.New(color.FgGreen, color.Bold).SprintFunc() + cn := "all" + if count > 0 { + cn = string(count) + } + fmt.Printf(boldGreen("Loading %s Bills\n"),cn) rows, err := db.Query("SELECT * FROM timetable") if count == 0 { rows, err = db.Query("SELECT * FROM bills ORDER BY date ASC") @@ -377,13 +382,14 @@ func checkTasks(in []int,billid int) { checkErr(err) } -func uncheckTasks(in []int) { - ins := strings.Trim(strings.Replace(fmt.Sprint(in)," "," , ",-1),"[]") - que := fmt.Sprintf("UPDATE timetable SET checkout = ? WHERE id IN (%s)",ins) +func uncheckTasks(billid int) { + //ins := strings.Trim(strings.Replace(fmt.Sprint(in)," "," , ",-1),"[]") + //que := fmt.Sprintf("UPDATE timetable SET checkout = ? WHERE id IN (%s)",ins) //rows,err := db.Query(que) - stmt, err := db.Prepare(que) + //stmt, err := db.Prepare(que) + stmt, err := db.Prepare("UPDATE timetable SET checkout = 0 WHERE checkout = ?") checkErr(err) - _, err = stmt.Exec(0) + _, err = stmt.Exec(billid) checkErr(err) } @@ -648,6 +654,8 @@ func showLastProject() { } func addCustomer() { + boldGreen := color.New(color.FgGreen, color.Bold).SprintFunc() + fmt.Println(boldGreen("Adding new Customer")) com := getInput("Enter Customer Company: ") nam := getInput("Enter Customer Name: ") add := getInput("Enter Address (separate lines by ; [Street;Zip;City;Country]): ") @@ -659,11 +667,13 @@ func addCustomer() { checkErr(err) _, err = stmt.Exec(com,nam,add,sat) checkErr(err) - fmt.Println(" Customer Added:",com ,nam, add, sat) + fmt.Println(boldGreen(" Customer Successfully Added:"),com ,nam, add, sat) } func newProject() { boldRed := color.New(color.FgRed, color.Bold).SprintFunc() + boldGreen := color.New(color.FgGreen, color.Bold).SprintFunc() + fmt.Println(boldGreen("Creating new Project")) if (opentask.id == 0) { nam := getInput("Enter Project Name: ") icust := 0 @@ -851,6 +861,8 @@ func allCustomers() { } func allProjects() { + boldGreen := color.New(color.FgGreen, color.Bold).SprintFunc() + fmt.Println(boldGreen("Loading all customers")) fmt.Println("___All Projects________________") rows3,err := db.Query("SELECT * FROM customers") checkErr(err) @@ -897,7 +909,7 @@ func allProjects() { if (sumo+sumb) > 0 { fmt.Printf(" %v:%s \n",uid,prname) fmt.Printf(" Unbilled: %.2f[h] Billed: %.2f[h] | Total: %.2f[h]\n",sumo,sumb,sumo+sumb) - fmt.Printf(" First: %s, Last:%s, Fin:%v, For:%v\n",first.Local().Format("2006-01-02 15:04 MST"),last.Local().Format("2006-01-02 15:04 MST"),finish,customer) + fmt.Printf(" First: %s, Last:%s, Fin:%v, For:%v\n\n",first.Local().Format("2006-01-02 15:04 MST"),last.Local().Format("2006-01-02 15:04 MST"),finish,customer) }else{ fmt.Print(" Nothing\n") } @@ -909,9 +921,44 @@ func allProjects() { fmt.Println("_______________________________\n") } +func deleteBill(id int) { + boldGreen := color.New(color.FgGreen, color.Bold).SprintFunc() + boldRed := color.New(color.FgRed, color.Bold).SprintFunc() + fmt.Println(boldGreen("Deleting Bill ",id)) + var prj int + var identity,moneys,hours string + var date time.Time + + rows,err := db.Query("SELECT project, date, identity, hours, moneys FROM bills WHERE id = $1",id) + checkErr(err) + if rows.Next() { + err = rows.Scan(&prj, &date, &identity, &hours, &moneys) + checkErr(err) + rows.Close() //good habit to close + prstr,custr := getProjectName(prj) + hsum := sumFloatArray(string2FloatArray(hours,";")) + msum := sumFloatArray(string2FloatArray(moneys,";")) + fmt.Printf("%v: For %v- %v (%v) - %.1f[h] : %.2f[€]\n",identity,custr,prstr,date.Local().Format("2006 Mon Jan _2"),hsum,msum) + if isSure("Are You Sure?") { + uncheckTasks(id) //Set corresponding Tasks to checkout=0 + stmt, err := db.Prepare("DELETE FROM bills WHERE id = ?") + checkErr(err) + _, err = stmt.Exec(id) + checkErr(err) + fmt.Println(boldGreen("Bill ",id," deleted successfully!")) + } else { + return + } + }else{ + fmt.Println(boldRed(id," is Not a known Bill!")) + showLastBills(0) + } +} + func deleteTask(id int) { boldGreen := color.New(color.FgGreen, color.Bold).SprintFunc() boldRed := color.New(color.FgRed, color.Bold).SprintFunc() + fmt.Println(boldGreen("Deleting Task ",id)) var chk,prj int var start,stop time.Time var task string @@ -921,7 +968,7 @@ func deleteTask(id int) { err = rows.Scan(&prj, &start, &stop, &task, &chk) checkErr(err) rows.Close() //good habit to close - fmt.Println(boldGreen("Delete Task", id)) + //fmt.Println(boldGreen("Delete Task", id)) dur := float64(stop.Sub(start))/(1000000000*60*60) fmt.Printf("%v: %v (%v-%v) - %.2f h\n",prj,task,start.Local().Format("2006 Mon Jan _2 15:04"),stop.Local().Format("15:04"),dur) if isSure("Are You Sure?") { @@ -929,7 +976,7 @@ func deleteTask(id int) { checkErr(err) _, err = stmt.Exec(id) checkErr(err) - fmt.Println(boldGreen(id," deleted successfully!")) + fmt.Println(boldGreen("Task ",id," deleted successfully!")) } else { return } @@ -941,6 +988,7 @@ func deleteTask(id int) { func editCustomer(id int) { boldGreen := color.New(color.FgGreen, color.Bold).SprintFunc() boldRed := color.New(color.FgRed, color.Bold).SprintFunc() + fmt.Println(boldGreen("Editing Customer ",id)) var comp,name,addr string var satz float64 rows,err := db.Query("SELECT company, name, address, satz FROM customers WHERE id = $1",id) @@ -955,7 +1003,7 @@ func editCustomer(id int) { } rows.Close() //good habit to close - fmt.Println(boldGreen("Edit Customer",id)) + //fmt.Println(boldGreen("Edit Customer",id)) fmt.Println("Old Company Name:",comp) in := getInput("Enter New:") if in!=""{ @@ -992,6 +1040,7 @@ func editCustomer(id int) { func editTask(id int) { boldGreen := color.New(color.FgGreen, color.Bold).SprintFunc() boldRed := color.New(color.FgRed, color.Bold).SprintFunc() + fmt.Println(boldGreen("Edit Task ",id)) var chk,prj int var start,stop time.Time var task,startstr,stopstr string @@ -1007,7 +1056,6 @@ func editTask(id int) { } rows.Close() //good habit to close - fmt.Println(boldGreen("Edit Task ",id)) fmt.Println("Old Name:",task) in := getInput("Enter New:") if in!=""{ @@ -1067,6 +1115,7 @@ func editTask(id int) { func editProject(id int) { boldGreen := color.New(color.FgGreen, color.Bold).SprintFunc() boldRed := color.New(color.FgRed, color.Bold).SprintFunc() + fmt.Println(boldGreen("Edit Project ",id)) var fin,cust int var first time.Time var name,nfirst string @@ -1075,7 +1124,6 @@ func editProject(id int) { if rows.Next() { err = rows.Scan(&name, &first, &fin, &cust) checkErr(err) - fmt.Println(boldGreen("Edit Project ",id)) fmt.Println("Old Name:",name) in := getInput("Enter New:") if in!=""{ |
