Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- @IBOutlet weak var dateToSupposedToWork: UIButton!
- @IBOutlet weak var dateFromSupposedToWork: UIButton!
- @IBOutlet weak var dateFrom: UIButton!
- @IBOutlet weak var dateTo: UIButton!
- @IBOutlet weak var datePicker: UIDatePicker!
- @IBOutlet weak var topTimeLabel: UILabel!
- @IBOutlet weak var bottomTimeLabel: UILabel!
- @IBOutlet weak var totalLabel: UILabel!
- var topTimeInt: Double = 0
- var bottomTimeInt: Double = 0
- var totalTimeInt: Double = 0
- var dateToForLabel: NSDate!
- var dateFromForLabel: NSDate!
- var bottomDateToForLabel: NSDate!
- var bottomDateFromForLabel: NSDate!
- var locations: [AnyObject] = []
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view, typically from a nib.
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- @IBAction func dateToButtonPressed(sender: AnyObject) {
- dateToForLabel = datePicker.date
- dateTo.setTitle(DateFormat.toString(date: dateToForLabel), forState: UIControlState.Normal)
- if dateFromForLabel != nil{
- topTimeInt = dateToForLabel.timeIntervalSinceDate(dateFromForLabel)
- topTimeLabel.text = stringFromTimeInterval(topTimeInt)
- }
- totalLabel.text = totalTimeInverval(topTimeInt, intervalTwo: bottomTimeInt)
- }
- @IBAction func dateFromButtonPressed(sender: AnyObject) {
- dateFromForLabel = datePicker.date
- dateFrom.setTitle(DateFormat.toString(date: dateFromForLabel), forState: UIControlState.Normal)
- if dateToForLabel != nil {
- topTimeInt = dateToForLabel.timeIntervalSinceDate(dateFromForLabel)
- topTimeLabel.text = stringFromTimeInterval(topTimeInt)
- }
- totalLabel.text = totalTimeInverval(topTimeInt, intervalTwo: bottomTimeInt)
- }
- @IBAction func dateFromSupposedToWorkButton(sender: AnyObject) {
- bottomDateFromForLabel = datePicker.date
- dateFromSupposedToWork.setTitle(DateFormat.toString(date: bottomDateFromForLabel), forState: UIControlState.Normal)
- if bottomDateToForLabel != nil{
- bottomTimeInt = bottomDateToForLabel.timeIntervalSinceDate(bottomDateFromForLabel)
- bottomTimeLabel.text = stringFromTimeInterval(bottomTimeInt)
- }
- totalLabel.text = totalTimeInverval(topTimeInt, intervalTwo: bottomTimeInt)
- }
- @IBAction func dateToSupposedToWorkButton(sender: AnyObject) {
- bottomDateToForLabel = datePicker.date
- dateToSupposedToWork.setTitle(DateFormat.toString(date: bottomDateToForLabel), forState: UIControlState.Normal)
- if bottomDateFromForLabel != nil{
- bottomTimeInt = bottomDateToForLabel.timeIntervalSinceDate(bottomDateFromForLabel)
- bottomTimeLabel.text = stringFromTimeInterval(bottomTimeInt)
- }
- totalLabel.text = totalTimeInverval(topTimeInt, intervalTwo: bottomTimeInt)
- }
- @IBAction func fetchButtonPressed(sender: AnyObject) {
- let managedContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext!
- let fetchRequest = NSFetchRequest(entityName: "OvertimeSave")
- locations = managedContext.executeFetchRequest(fetchRequest, error: nil)!
- }
- func totalTimeInverval(intervalOne: NSTimeInterval, intervalTwo: NSTimeInterval) -> String{
- let interval = abs(Int(intervalOne - intervalTwo))
- var minutes = (interval / 60) % 60
- var hours = (interval / 3600)
- if minutes == 59 {
- hours += 1
- minutes = 0
- }
- return String(format: "%02d:%02d", hours,minutes)
- }
- func stringFromTimeInterval(interval: NSTimeInterval) -> String {
- let interval = Int(interval)
- var minutes = (interval / 60) % 60
- var hours = (interval / 3600)
- if minutes == 59 {
- hours += 1
- minutes = 0
- }
- return String(format: "%02d:%02d", hours,minutes)
- }
- import UIKit
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view.
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- override func viewDidAppear(animated: Bool) {
- mainVC = tabBarController?.viewControllers?[0] as! ViewController
- totalInt = (mainVC.topTimeInt + mainVC.bottomTimeInt) / 60 * 0.50
- }
- @IBAction func saveOvertimeButtonPressed(sender: AnyObject) {
- let managedContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext!
- let entityDescription = NSEntityDescription.entityForName("OvertimeSave", inManagedObjectContext: managedContext)
- let savedData = OvertimeSave(entity: entityDescription!, insertIntoManagedObjectContext:managedContext)
- savedData.dateToForLabel = mainVC.dateToForLabel
- savedData.dateFromForLabel = mainVC.dateFromForLabel
- savedData.bottomDateFromForLabel = mainVC.bottomDateFromForLabel
- savedData.bottomDateToForLabel = mainVC.bottomDateToForLabel
- savedData.cash = String(format:"$%.02d", totalInt)
- (UIApplication.sharedApplication().delegate as! AppDelegate).saveContext()
- }
- import UIKit
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view.
- fetchedResultsController = getFetchedResultsController()
- fetchedResultsController.delegate = self
- fetchedResultsController.performFetch(nil)
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- func controllerDidChangeContent(controller: NSFetchedResultsController) {
- tableView.reloadData()
- }
- func numberOfSectionsInTableView(tableView: UITableView) -> Int {
- return fetchedResultsController.sections!.count
- }
- func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return fetchedResultsController.sections![section].numberOfObjects
- }
- func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- let overtimeSave = fetchedResultsController.objectAtIndexPath(indexPath) as! OvertimeSave
- let cell: TableViewCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! TableViewCell
- cell.timeWorkedLabel.text = overtimeSave.cash
- cell.dateEndedLabel.text = DateFormat.toString(date: overtimeSave.dateToForLabel)
- return cell
- }
- func overtimeFetchRequest() -> NSFetchRequest {
- let fetchRequest = NSFetchRequest(entityName: "OvertimeSave")
- let sortDescriptor = NSSortDescriptor(key: "dateToForLabel", ascending: true)
- fetchRequest.sortDescriptors = [sortDescriptor]
- return fetchRequest
- }
- func getFetchedResultsController() -> NSFetchedResultsController {
- fetchedResultsController = NSFetchedResultsController(fetchRequest: overtimeFetchRequest(), managedObjectContext: managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
- return fetchedResultsController
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement