From 75f4b181cbf4a01c6e326d3fccffacae37dfd12d Mon Sep 17 00:00:00 2001 From: Trever Date: Thu, 20 Apr 2017 12:17:47 -0400 Subject: [PATCH] Fixed a bug where the detail report would not show New Payroll Report PDF #67 --- .../UserInterfaceState.xcuserstate | Bin 29779 -> 26793 bytes .../RunTimeReportTableViewController.swift | 168 ++++++++++-------- 2 files changed, 93 insertions(+), 75 deletions(-) diff --git a/inSparkle.xcworkspace/xcuserdata/Trever.xcuserdatad/UserInterfaceState.xcuserstate b/inSparkle.xcworkspace/xcuserdata/Trever.xcuserdatad/UserInterfaceState.xcuserstate index 876233778aa81207ad6227cc4f5fcd3c02e693b5..f5982638d371737ba6965ea7be44632fe52dd697 100755 GIT binary patch literal 26793 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 A82|tP literal 29779 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 DsFqro diff --git a/inSparkle/RunTimeReportTableViewController.swift b/inSparkle/RunTimeReportTableViewController.swift index e876b0d..f2457af 100755 --- a/inSparkle/RunTimeReportTableViewController.swift +++ b/inSparkle/RunTimeReportTableViewController.swift @@ -9,26 +9,26 @@ import UIKit import Parse import NVActivityIndicatorView -fileprivate func < (lhs: T?, rhs: T?) -> Bool { - switch (lhs, rhs) { - case let (l?, r?): - return l < r - case (nil, _?): - return true - default: - return false - } -} - -fileprivate func > (lhs: T?, rhs: T?) -> Bool { - switch (lhs, rhs) { - case let (l?, r?): - return l > r - default: - return rhs < lhs - } -} - + fileprivate func < (lhs: T?, rhs: T?) -> Bool { + switch (lhs, rhs) { + case let (l?, r?): + return l < r + case (nil, _?): + return true + default: + return false + } + } + + fileprivate func > (lhs: T?, rhs: T?) -> Bool { + switch (lhs, rhs) { + case let (l?, r?): + return l > r + default: + return rhs < lhs + } + } + class RunTimeReportTableViewController: UITableViewController, UIPopoverPresentationControllerDelegate, UIActionSheetDelegate, UIDocumentInteractionControllerDelegate { @@ -50,7 +50,7 @@ fileprivate func > (lhs: T?, rhs: T?) -> Bool { NotificationCenter.default.addObserver(self, selector: #selector(RunTimeReportTableViewController.updateStartDateLabel), name: NSNotification.Name(rawValue: "updateStart"), object: nil) NotificationCenter.default.addObserver(self, selector: #selector(RunTimeReportTableViewController.updateEndDateLabel), name: NSNotification.Name(rawValue: "updateEnd"), object: nil) - NotificationCenter.default.addObserver(self, selector: #selector(dismissView), name: NSNotification.Name(rawValue: "dismissRunTimeReport"), object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(RunTimeReportTableViewController.updateEndDateLabel), name: NSNotification.Name(rawValue: "dismissRunTimeReport"), object: nil) } @@ -126,7 +126,7 @@ fileprivate func > (lhs: T?, rhs: T?) -> Bool { @IBAction func runReportButton(_ sender: AnyObject) { performSelector(onMainThread: #selector(RunTimeReportTableViewController.swiftActive), with: nil, waitUntilDone: true) - + let startDateString = startDateLabel.text let endDateString = endDateLabel.text @@ -239,17 +239,17 @@ fileprivate func > (lhs: T?, rhs: T?) -> Bool { } } } catch { } - -// if (self.expectedPunches == 0) && (self.returnedPunches == 0) { -// -// let alert = UIAlertController(title: "Error", message: "The report retuned 0 punches, please check your criteria and try again.", preferredStyle: .Alert) -// let okButton = UIAlertAction(title: "Okay", style: .Default, handler: { (action) -> Void in -// self.dismissViewControllerAnimated(true, completion: nil) -// }) -// alert.addAction(okButton) -// self.presentViewController(alert, animated: true, completion: nil) -// -// } + + // if (self.expectedPunches == 0) && (self.returnedPunches == 0) { + // + // let alert = UIAlertController(title: "Error", message: "The report retuned 0 punches, please check your criteria and try again.", preferredStyle: .Alert) + // let okButton = UIAlertAction(title: "Okay", style: .Default, handler: { (action) -> Void in + // self.dismissViewControllerAnimated(true, completion: nil) + // }) + // alert.addAction(okButton) + // self.presentViewController(alert, animated: true, completion: nil) + // + // } if totalForEmp != 0 { if (self.detail) { @@ -270,7 +270,7 @@ fileprivate func > (lhs: T?, rhs: T?) -> Bool { totalHours = totalForEmp overtimeHours = 0 } - + if (!self.detail) { let empemp = EmployeePayrollReportModel() empemp.employeeName = employeeName @@ -280,7 +280,7 @@ fileprivate func > (lhs: T?, rhs: T?) -> Bool { print(empemp) self.employeeTimeCardData.append(empemp) -// self.csvPunches = self.csvPunches + "\(employeeName!),\(standardHours!),\(overtimeHours!),\(vacationHours),\(totalForEmp!)\n" + // self.csvPunches = self.csvPunches + "\(employeeName!),\(standardHours!),\(overtimeHours!),\(vacationHours),\(totalForEmp!)\n" } if self.expectedPunches - self.returnedPunches == 0 { @@ -293,47 +293,65 @@ fileprivate func > (lhs: T?, rhs: T?) -> Bool { } func shareTime() { - let marti = EmployeePayrollReportModel() - marti.employeeName = "Marti Ennis" - marti.standardHours = "Salary" - marti.overtimeHours = "-" - marti.total = "-" - - let tom = EmployeePayrollReportModel() - tom.employeeName = "Tom Sedletzeck" - tom.standardHours = "Salary" - tom.overtimeHours = "-" - tom.total = "-" - - let robert = EmployeePayrollReportModel() - robert.employeeName = "Robert Casad" - robert.standardHours = "Salary" - robert.overtimeHours = "-" - robert.total = "-" - - self.employeeTimeCardData.insert(marti, at: 0) - self.employeeTimeCardData.insert(tom, at: 1) - self.employeeTimeCardData.insert(robert, at: 2) - - let period = self.startDateLabel.text! + " - " + self.endDateLabel.text! - - let prwp = self.storyboard?.instantiateViewController(withIdentifier: "webPreivew") as! PayrollWebPreview - prwp.periodDates = period - prwp.loadingUI = self.loadingUI - prwp.employees = self.employeeTimeCardData - - self.present(prwp, animated: true) { - self.loadingUI.stopAnimating() - self.loadingBackground.removeFromSuperview() + if !self.detail { + let marti = EmployeePayrollReportModel() + marti.employeeName = "Marti Ennis" + marti.standardHours = "Salary" + marti.overtimeHours = "-" + marti.total = "-" + + let tom = EmployeePayrollReportModel() + tom.employeeName = "Tom Sedletzeck" + tom.standardHours = "Salary" + tom.overtimeHours = "-" + tom.total = "-" + + let robert = EmployeePayrollReportModel() + robert.employeeName = "Robert Casad" + robert.standardHours = "Salary" + robert.overtimeHours = "-" + robert.total = "-" + + self.employeeTimeCardData.insert(marti, at: 0) + self.employeeTimeCardData.insert(tom, at: 1) + self.employeeTimeCardData.insert(robert, at: 2) + + let period = self.startDateLabel.text! + " - " + self.endDateLabel.text! + + let prwp = self.storyboard?.instantiateViewController(withIdentifier: "webPreivew") as! PayrollWebPreview + prwp.periodDates = period + prwp.loadingUI = self.loadingUI + prwp.employees = self.employeeTimeCardData + + self.present(prwp, animated: true) { + self.loadingUI.stopAnimating() + self.loadingBackground.removeFromSuperview() + } + } else { + let textToShare = NSMutableString() + textToShare.appendFormat("%@\r", self.csvPunches) + print("Time to Share: \(textToShare)") + + let data = textToShare.data(using: String.Encoding.utf8.rawValue, allowLossyConversion: false) + saveCSV(textToShare) } - -// let textToShare = NSMutableString() -// textToShare.appendFormat("%@\r", self.csvPunches) -// print("Time to Share: \(textToShare)") -// -// let data = textToShare.data(using: String.Encoding.utf8.rawValue, allowLossyConversion: false) -// saveCSV(textToShare) - + } + + func saveCSV(_ whatToSave : NSMutableString) { + let x = self.view.center + let docs = NSSearchPathForDirectoriesInDomains(.documentationDirectory, .userDomainMask, true)[0] + let writePath = docs + "TimeCardReport.csv" + do { + try whatToSave.write(toFile: writePath, atomically: true, encoding: String.Encoding.utf8.rawValue) + print("Wrote File") + print(writePath) + } catch { + + } + docController = UIDocumentInteractionController(url: URL(fileURLWithPath: writePath)) + docController!.delegate = self + docController!.presentPreview(animated: true) + self.loadingUI.stopAnimating() } func sheet(_ whatToShare : AnyObject) {