Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.70 KB | None | 0 0
  1. import UIKit
  2.  
  3. @IBOutlet weak var dateToSupposedToWork: UIButton!
  4. @IBOutlet weak var dateFromSupposedToWork: UIButton!
  5. @IBOutlet weak var dateFrom: UIButton!
  6. @IBOutlet weak var dateTo: UIButton!
  7.  
  8. @IBOutlet weak var datePicker: UIDatePicker!
  9.  
  10. @IBOutlet weak var topTimeLabel: UILabel!
  11. @IBOutlet weak var bottomTimeLabel: UILabel!
  12. @IBOutlet weak var totalLabel: UILabel!
  13.  
  14. var topTimeInt: Double = 0
  15. var bottomTimeInt: Double = 0
  16. var totalTimeInt: Double = 0
  17.  
  18. var dateToForLabel: NSDate!
  19. var dateFromForLabel: NSDate!
  20. var bottomDateToForLabel: NSDate!
  21. var bottomDateFromForLabel: NSDate!
  22.  
  23.  
  24. var locations: [AnyObject] = []
  25.  
  26.  
  27. override func viewDidLoad() {
  28. super.viewDidLoad()
  29. // Do any additional setup after loading the view, typically from a nib.
  30.  
  31. }
  32.  
  33. override func didReceiveMemoryWarning() {
  34. super.didReceiveMemoryWarning()
  35. // Dispose of any resources that can be recreated.
  36. }
  37.  
  38. @IBAction func dateToButtonPressed(sender: AnyObject) {
  39.  
  40. dateToForLabel = datePicker.date
  41. dateTo.setTitle(DateFormat.toString(date: dateToForLabel), forState: UIControlState.Normal)
  42.  
  43. if dateFromForLabel != nil{
  44. topTimeInt = dateToForLabel.timeIntervalSinceDate(dateFromForLabel)
  45. topTimeLabel.text = stringFromTimeInterval(topTimeInt)
  46. }
  47. totalLabel.text = totalTimeInverval(topTimeInt, intervalTwo: bottomTimeInt)
  48.  
  49. }
  50.  
  51. @IBAction func dateFromButtonPressed(sender: AnyObject) {
  52.  
  53. dateFromForLabel = datePicker.date
  54. dateFrom.setTitle(DateFormat.toString(date: dateFromForLabel), forState: UIControlState.Normal)
  55.  
  56. if dateToForLabel != nil {
  57. topTimeInt = dateToForLabel.timeIntervalSinceDate(dateFromForLabel)
  58. topTimeLabel.text = stringFromTimeInterval(topTimeInt)
  59. }
  60. totalLabel.text = totalTimeInverval(topTimeInt, intervalTwo: bottomTimeInt)
  61. }
  62.  
  63. @IBAction func dateFromSupposedToWorkButton(sender: AnyObject) {
  64.  
  65. bottomDateFromForLabel = datePicker.date
  66. dateFromSupposedToWork.setTitle(DateFormat.toString(date: bottomDateFromForLabel), forState: UIControlState.Normal)
  67.  
  68. if bottomDateToForLabel != nil{
  69. bottomTimeInt = bottomDateToForLabel.timeIntervalSinceDate(bottomDateFromForLabel)
  70. bottomTimeLabel.text = stringFromTimeInterval(bottomTimeInt)
  71. }
  72. totalLabel.text = totalTimeInverval(topTimeInt, intervalTwo: bottomTimeInt)
  73.  
  74. }
  75.  
  76. @IBAction func dateToSupposedToWorkButton(sender: AnyObject) {
  77.  
  78. bottomDateToForLabel = datePicker.date
  79. dateToSupposedToWork.setTitle(DateFormat.toString(date: bottomDateToForLabel), forState: UIControlState.Normal)
  80.  
  81. if bottomDateFromForLabel != nil{
  82. bottomTimeInt = bottomDateToForLabel.timeIntervalSinceDate(bottomDateFromForLabel)
  83. bottomTimeLabel.text = stringFromTimeInterval(bottomTimeInt)
  84. }
  85. totalLabel.text = totalTimeInverval(topTimeInt, intervalTwo: bottomTimeInt)
  86. }
  87.  
  88. @IBAction func fetchButtonPressed(sender: AnyObject) {
  89. let managedContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext!
  90. let fetchRequest = NSFetchRequest(entityName: "OvertimeSave")
  91. locations = managedContext.executeFetchRequest(fetchRequest, error: nil)!
  92.  
  93. }
  94.  
  95. func totalTimeInverval(intervalOne: NSTimeInterval, intervalTwo: NSTimeInterval) -> String{
  96. let interval = abs(Int(intervalOne - intervalTwo))
  97. var minutes = (interval / 60) % 60
  98. var hours = (interval / 3600)
  99. if minutes == 59 {
  100. hours += 1
  101. minutes = 0
  102. }
  103. return String(format: "%02d:%02d", hours,minutes)
  104. }
  105. func stringFromTimeInterval(interval: NSTimeInterval) -> String {
  106. let interval = Int(interval)
  107. var minutes = (interval / 60) % 60
  108. var hours = (interval / 3600)
  109. if minutes == 59 {
  110. hours += 1
  111. minutes = 0
  112. }
  113. return String(format: "%02d:%02d", hours,minutes)
  114. }
  115.  
  116. import UIKit
  117.  
  118. override func viewDidLoad() {
  119. super.viewDidLoad()
  120. // Do any additional setup after loading the view.
  121. }
  122.  
  123. override func didReceiveMemoryWarning() {
  124. super.didReceiveMemoryWarning()
  125. // Dispose of any resources that can be recreated.
  126. }
  127.  
  128. override func viewDidAppear(animated: Bool) {
  129. mainVC = tabBarController?.viewControllers?[0] as! ViewController
  130. totalInt = (mainVC.topTimeInt + mainVC.bottomTimeInt) / 60 * 0.50
  131. }
  132.  
  133. @IBAction func saveOvertimeButtonPressed(sender: AnyObject) {
  134. let managedContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext!
  135. let entityDescription = NSEntityDescription.entityForName("OvertimeSave", inManagedObjectContext: managedContext)
  136. let savedData = OvertimeSave(entity: entityDescription!, insertIntoManagedObjectContext:managedContext)
  137. savedData.dateToForLabel = mainVC.dateToForLabel
  138. savedData.dateFromForLabel = mainVC.dateFromForLabel
  139. savedData.bottomDateFromForLabel = mainVC.bottomDateFromForLabel
  140. savedData.bottomDateToForLabel = mainVC.bottomDateToForLabel
  141. savedData.cash = String(format:"$%.02d", totalInt)
  142. (UIApplication.sharedApplication().delegate as! AppDelegate).saveContext()
  143.  
  144. }
  145.  
  146. import UIKit
  147.  
  148. override func viewDidLoad() {
  149. super.viewDidLoad()
  150.  
  151. // Do any additional setup after loading the view.
  152. fetchedResultsController = getFetchedResultsController()
  153. fetchedResultsController.delegate = self
  154. fetchedResultsController.performFetch(nil)
  155. }
  156.  
  157. override func didReceiveMemoryWarning() {
  158. super.didReceiveMemoryWarning()
  159. // Dispose of any resources that can be recreated.
  160. }
  161. func controllerDidChangeContent(controller: NSFetchedResultsController) {
  162. tableView.reloadData()
  163. }
  164.  
  165. func numberOfSectionsInTableView(tableView: UITableView) -> Int {
  166. return fetchedResultsController.sections!.count
  167. }
  168. func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  169. return fetchedResultsController.sections![section].numberOfObjects
  170. }
  171.  
  172. func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
  173. let overtimeSave = fetchedResultsController.objectAtIndexPath(indexPath) as! OvertimeSave
  174. let cell: TableViewCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! TableViewCell
  175. cell.timeWorkedLabel.text = overtimeSave.cash
  176. cell.dateEndedLabel.text = DateFormat.toString(date: overtimeSave.dateToForLabel)
  177. return cell
  178.  
  179. }
  180.  
  181. func overtimeFetchRequest() -> NSFetchRequest {
  182. let fetchRequest = NSFetchRequest(entityName: "OvertimeSave")
  183. let sortDescriptor = NSSortDescriptor(key: "dateToForLabel", ascending: true)
  184. fetchRequest.sortDescriptors = [sortDescriptor]
  185. return fetchRequest
  186. }
  187. func getFetchedResultsController() -> NSFetchedResultsController {
  188. fetchedResultsController = NSFetchedResultsController(fetchRequest: overtimeFetchRequest(), managedObjectContext: managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
  189. return fetchedResultsController
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement