Commit a3dbd190 by Olzhas Aldabergenov

bot persist chat for 1 day

parent f5487b02
......@@ -86,6 +86,8 @@
3E2C3E8E1EFA482D00E553CD /* GetCodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E2C3E8D1EFA482D00E553CD /* GetCodeViewController.swift */; };
3E2C3E9B1EFCB17E00E553CD /* Validator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E2C3E9A1EFCB17E00E553CD /* Validator.swift */; };
3E2E1E821F84DB0100DC0FE5 /* LKSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E2E1E811F84DB0100DC0FE5 /* LKSettingsViewController.swift */; };
3E5CC7A51FA83F7400B55DF0 /* BotManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E5CC7A41FA83F7400B55DF0 /* BotManager.swift */; };
3E5CC7AE1FA84F9F00B55DF0 /* DateUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E5CC7AD1FA84F9F00B55DF0 /* DateUtil.swift */; };
3E6969B31FA2097200032D95 /* ServiceDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E6969B21FA2097200032D95 /* ServiceDetailsViewController.swift */; };
3EA7F6BA1F00D1A1003F6CBF /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EA7F6B91F00D1A1003F6CBF /* MainViewController.swift */; };
3EA7F6C51F021C9D003F6CBF /* FeedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EA7F6C41F021C9D003F6CBF /* FeedViewController.swift */; };
......@@ -626,6 +628,8 @@
3E2C3E8D1EFA482D00E553CD /* GetCodeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GetCodeViewController.swift; sourceTree = "<group>"; };
3E2C3E9A1EFCB17E00E553CD /* Validator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Validator.swift; sourceTree = "<group>"; };
3E2E1E811F84DB0100DC0FE5 /* LKSettingsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LKSettingsViewController.swift; sourceTree = "<group>"; };
3E5CC7A41FA83F7400B55DF0 /* BotManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotManager.swift; sourceTree = "<group>"; };
3E5CC7AD1FA84F9F00B55DF0 /* DateUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DateUtil.swift; sourceTree = "<group>"; };
3E6969B21FA2097200032D95 /* ServiceDetailsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServiceDetailsViewController.swift; sourceTree = "<group>"; };
3EA7F6B91F00D1A1003F6CBF /* MainViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; };
3EA7F6C41F021C9D003F6CBF /* FeedViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedViewController.swift; sourceTree = "<group>"; };
......@@ -1052,6 +1056,7 @@
84F2534D1DF5D598000123D0 /* CellsManager.swift */,
84A9D2E31DFE6F3E008E7DD8 /* SharedDataManager.swift */,
84F475091E069C7C00A8B2D9 /* FastPayManager.swift */,
3E5CC7A41FA83F7400B55DF0 /* BotManager.swift */,
);
path = Managers;
sourceTree = "<group>";
......@@ -1257,6 +1262,7 @@
985207B01CECEE9A00E6C391 /* ValidationUtil.swift */,
984DE9C61D87187100608E69 /* SpinneredAlert.swift */,
3E2C3E9A1EFCB17E00E553CD /* Validator.swift */,
3E5CC7AD1FA84F9F00B55DF0 /* DateUtil.swift */,
);
path = Utils;
sourceTree = "<group>";
......@@ -2800,6 +2806,7 @@
3EAFC4901F7916A500BB07AD /* CallbackViewController.swift in Sources */,
985207C31CECFCB400E6C391 /* ReportPeriod.swift in Sources */,
989501371CFE493E00639286 /* OfferCallbackLinkCell.swift in Sources */,
3E5CC7AE1FA84F9F00B55DF0 /* DateUtil.swift in Sources */,
98E3F8721CFA21B700112FB7 /* Manager.swift in Sources */,
9856B8281CEECB5800D1443C /* WifiOfferOrder.swift in Sources */,
3EA7F6C51F021C9D003F6CBF /* FeedViewController.swift in Sources */,
......@@ -2874,6 +2881,7 @@
3EAFC4941F7B9BE000BB07AD /* CircleButton.swift in Sources */,
984C965B1CEDB5E6001CD53D /* OnlinePaymentFieldCell.swift in Sources */,
986917381DE37F9F00FC712D /* FullDamageModalViewController.swift in Sources */,
3E5CC7A51FA83F7400B55DF0 /* BotManager.swift in Sources */,
98E3F87B1CFA21B700112FB7 /* ServerTrustPolicy.swift in Sources */,
983FC3731CE5C25300EAA651 /* AltelPeriod.swift in Sources */,
B2125F0A5BFF36A23DD096D4 /* CPanelTableViewController.swift in Sources */,
......
//
// BotManager.swift
// kt
//
// Created by neox on 31.10.17.
// Copyright © 2017 SimpleCode. All rights reserved.
//
import Foundation
//MARK: - Singletone Instance
class BotManager {
//MARK: - Singletone Instance
let UserDefaultsBotResultsKey = "botResults"
class func sharedInstance() -> BotManager {
struct Shared {
static let sharedInstance = BotManager()
}
return Shared.sharedInstance
}
//MARK: - Constructors
private init() {
}
//MARK: - Functions
func archiveAll(items:[BotResult]) -> NSData {
let archivedObject = NSKeyedArchiver.archivedDataWithRootObject(items as NSArray)
return archivedObject
}
func retrieveAll() -> [BotResult]? {
if let unarchiveObject = NSUserDefaults.standardUserDefaults().objectForKey(UserDefaultsBotResultsKey + UserManager.sharedInstance().login!) as? NSData {
let existing = NSKeyedUnarchiver.unarchiveObjectWithData(unarchiveObject) as? [BotResult]
var result = [BotResult]()
let now = NSDate()
let dayAgo = now.addDays(-1)
for i in 0 ..< existing!.count {
let botResult = existing![i]
print(botResult.date)
if ( !dayAgo.isGreaterThanDate(botResult.date) ) {
result.append(botResult)
} else {
// the rest don't get persisted
}
}
return result
}
return nil
}
func saveStoreFastPay(botResults : [BotResult]) {
let archivedItems = archiveAll(botResults)
NSUserDefaults.standardUserDefaults().setObject(archivedItems, forKey: UserDefaultsBotResultsKey + UserManager.sharedInstance().login!)
NSUserDefaults.standardUserDefaults().synchronize()
}
func add(botResult : BotResult) {
var items = retrieveAll()
if (items == nil) {
items = []
}
items!.append(botResult)
saveStoreFastPay(items!)
}
}
......@@ -8,7 +8,7 @@
import UIKit
class BotNode {
class BotNode: NSObject, NSCoding {
var id : String?
var parentId : String?
......@@ -18,4 +18,28 @@ class BotNode {
var expanded : Int?
var isLink : Int?
override init() {
super.init()
}
required init?(coder aDecoder: NSCoder) {
id = aDecoder.decodeObjectForKey("id") as! String?
parentId = aDecoder.decodeObjectForKey("parentId") as! String?
linkTo = aDecoder.decodeObjectForKey("linkTo") as! String?
formId = aDecoder.decodeObjectForKey("formId") as! String?
text = aDecoder.decodeObjectForKey("text") as! String?
expanded = aDecoder.decodeObjectForKey("expanded") as! Int?
isLink = aDecoder.decodeObjectForKey("isLink") as! Int?
}
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(id, forKey: "id")
aCoder.encodeObject(parentId, forKey: "parentId")
aCoder.encodeObject(linkTo, forKey: "linkTo")
aCoder.encodeObject(formId, forKey: "formId")
aCoder.encodeObject(text, forKey: "text")
aCoder.encodeObject(expanded, forKey: "expanded")
aCoder.encodeObject(isLink, forKey: "isLink")
}
}
......@@ -8,11 +8,44 @@
import UIKit
class BotResult {
class BotResult: NSObject, NSCoding {
var nodes : [BotNode]?
var count : Int?
var status : String?
var type : Int = 0
internal var nodes : [BotNode]?
internal var count : Int?
internal var status : String?
internal var type : Int = 0
internal var date = NSDate()
internal var uuid : String
override init() {
self.uuid = NSUUID().UUIDString
super.init()
}
func compare(botResult:BotResult) -> Bool {
if botResult.uuid.compare(self.uuid) == .OrderedSame {
return true
}
return false
}
@objc required init?(coder aDecoder: NSCoder) {
nodes = aDecoder.decodeObjectForKey("nodes") as! [BotNode]!
count = aDecoder.decodeObjectForKey("count") as! Int?
status = aDecoder.decodeObjectForKey("status") as! String?
type = aDecoder.decodeObjectForKey("type") as! Int
date = aDecoder.decodeObjectForKey("date") as! NSDate
uuid = aDecoder.decodeObjectForKey("uuid") as! String
}
@objc func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(nodes, forKey: "nodes")
aCoder.encodeObject(count, forKey: "count")
aCoder.encodeObject(status, forKey: "status")
aCoder.encodeObject(type, forKey: "type")
aCoder.encodeObject(date, forKey: "date")
aCoder.encodeObject(uuid, forKey: "uuid")
}
}
......@@ -1427,7 +1427,7 @@
<rect key="frame" x="0.0" y="28" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="SQN-x5-07i" id="zUj-fk-hK8">
<frame key="frameInset" width="414" height="43.5"/>
<frame key="frameInset" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="5" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qZu-i5-IkV">
......@@ -2677,7 +2677,7 @@
<rect key="frame" x="0.0" y="28" width="600" height="200"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="vmx-Ap-Zh9" id="q1X-yY-KQg">
<frame key="frameInset" width="600" height="199.5"/>
<frame key="frameInset" width="600" height="200"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7HI-0O-Glg">
......@@ -3145,7 +3145,7 @@
<rect key="frame" x="0.0" y="28" width="375" height="80"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="uQQ-J8-UPI" id="d0w-1a-NfH">
<frame key="frameInset" width="375" height="79.5"/>
<frame key="frameInset" width="375" height="80"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="R6G-yX-gQ1">
......@@ -3188,7 +3188,7 @@
<rect key="frame" x="0.0" y="108" width="375" height="80"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="lM5-fY-h1s" id="EZR-N0-HGR">
<frame key="frameInset" width="375" height="79.5"/>
<frame key="frameInset" width="375" height="80"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4Gy-0e-uKm">
......@@ -4210,7 +4210,7 @@
<rect key="frame" x="0.0" y="28" width="343" height="120"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" ambiguous="YES" tableViewCell="QBg-MG-ZSv" id="k1Z-FH-KYY">
<frame key="frameInset" width="343" height="119.5"/>
<frame key="frameInset" width="343" height="120"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Gsf-cj-W08">
......@@ -4265,7 +4265,7 @@
<rect key="frame" x="0.0" y="148" width="343" height="150"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Y26-HA-gXR" id="0Nu-EG-OVX">
<frame key="frameInset" width="343" height="149.5"/>
<frame key="frameInset" width="343" height="150"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qQr-2d-DLG">
......@@ -4633,7 +4633,7 @@
<rect key="frame" x="0.0" y="92" width="561" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="C3b-7f-Eis" id="1Ya-7Y-Yhe">
<frame key="frameInset" width="561" height="59.5"/>
<frame key="frameInset" width="561" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UPt-cT-j6J">
......@@ -5007,7 +5007,7 @@
<rect key="frame" x="0.0" y="28" width="600" height="150"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="LRy-H4-FPr" id="cfQ-IR-xSw">
<frame key="frameInset" width="600" height="149.5"/>
<frame key="frameInset" width="600" height="150"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" text="Label" textAlignment="center" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RR7-9R-Oij">
......@@ -5770,7 +5770,7 @@
<rect key="frame" x="0.0" y="92" width="375" height="55"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="llT-GK-2t1" id="u5C-DY-lHG">
<frame key="frameInset" width="375" height="54.5"/>
<frame key="frameInset" width="375" height="55"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="GFE-wX-oVv">
......@@ -6582,10 +6582,10 @@
<color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<prototypes>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="RegionCell" textLabel="7xj-02-2Dw" style="IBUITableViewCellStyleDefault" id="uew-Fr-Rr7">
<rect key="frame" x="0.0" y="55.5" width="375" height="44"/>
<rect key="frame" x="0.0" y="56" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="uew-Fr-Rr7" id="O5X-gF-b9W">
<frame key="frameInset" width="375" height="43.5"/>
<frame key="frameInset" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="7xj-02-2Dw">
......@@ -6720,7 +6720,7 @@
<rect key="frame" x="0.0" y="28" width="600" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="RFo-Gl-pY8" id="ySy-UG-sdV">
<frame key="frameInset" width="567" height="43.5"/>
<frame key="frameInset" width="567" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bRq-oO-kGg">
......@@ -7041,7 +7041,7 @@
<rect key="frame" x="0.0" y="22" width="600" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="3uf-i1-R9a" id="AU1-gz-qFB">
<frame key="frameInset" width="600" height="59.5"/>
<frame key="frameInset" width="600" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="C2u-iO-UCj">
......@@ -7900,7 +7900,7 @@
<rect key="frame" x="0.0" y="22" width="600" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="3pk-oN-VCk" id="9dl-5H-NYx">
<frame key="frameInset" width="600" height="59.5"/>
<frame key="frameInset" width="600" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="f3l-ZK-I4R">
......@@ -9367,7 +9367,7 @@
<rect key="frame" x="0.0" y="92" width="600" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="P1m-QL-zI0" id="SRv-UP-BuJ">
<frame key="frameInset" width="600" height="59.5"/>
<frame key="frameInset" width="600" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xji-cJ-5wS">
......@@ -9431,7 +9431,7 @@
<rect key="frame" x="0.0" y="92" width="600" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="yNp-lb-Hs5" id="zHX-IS-W9f">
<frame key="frameInset" width="600" height="59.5"/>
<frame key="frameInset" width="600" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hFm-cX-B99">
......@@ -9495,7 +9495,7 @@
<rect key="frame" x="0.0" y="92" width="600" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="2XE-UQ-ssK" id="Vja-gC-n47">
<frame key="frameInset" width="600" height="59.5"/>
<frame key="frameInset" width="600" height="60"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="q3b-6m-kNL">
......@@ -9684,7 +9684,7 @@
<rect key="frame" x="0.0" y="28" width="414" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="I3L-fo-wiq" id="nqP-bD-zze">
<frame key="frameInset" width="414" height="49.5"/>
<frame key="frameInset" width="414" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" text="iD TV — Гибкое телевидение для тех, кто не любит себя ограничивать!" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P43-2z-q46">
......@@ -9708,7 +9708,7 @@
<rect key="frame" x="0.0" y="78" width="414" height="220"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" ambiguous="YES" tableViewCell="hgB-UO-dTb" id="fDS-Jh-C4K">
<frame key="frameInset" width="414" height="219.5"/>
<frame key="frameInset" width="414" height="220"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView opaque="NO" userInteractionEnabled="NO" contentMode="scaleAspectFill" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8Me-Gr-PsO">
......@@ -9733,7 +9733,7 @@
<rect key="frame" x="0.0" y="298" width="414" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="qMR-Sz-bKt" id="xds-Ec-KOg">
<frame key="frameInset" width="414" height="49.5"/>
<frame key="frameInset" width="414" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" text="Тарифы" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SGH-Ci-igu">
......@@ -9757,7 +9757,7 @@
<rect key="frame" x="0.0" y="348" width="414" height="300"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="fLM-2t-NeZ" id="NAb-k8-kqd">
<frame key="frameInset" width="414" height="299.5"/>
<frame key="frameInset" width="414" height="300"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<webView userInteractionEnabled="NO" contentMode="scaleToFill" misplaced="YES" allowsInlineMediaPlayback="NO" mediaPlaybackRequiresUserAction="NO" mediaPlaybackAllowsAirPlay="NO" keyboardDisplayRequiresUserAction="NO" translatesAutoresizingMaskIntoConstraints="NO" id="snr-GA-iQi">
......@@ -9785,7 +9785,7 @@
<rect key="frame" x="0.0" y="648" width="414" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="etf-If-U77" id="1fa-q0-1X7">
<frame key="frameInset" width="381" height="49.5"/>
<frame key="frameInset" width="381" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7OQ-OS-2TQ">
//
// DateUtil.swift
// kt
//
// Created by neox on 31.10.17.
// Copyright © 2017 SimpleCode. All rights reserved.
//
// https://stackoverflow.com/a/29319732/2488616
//
import Foundation
extension NSDate {
func isGreaterThanDate(dateToCompare: NSDate) -> Bool {
//Declare Variables
var isGreater = false
//Compare Values
if self.compare(dateToCompare) == NSComparisonResult.OrderedDescending {
isGreater = true
}
//Return Result
return isGreater
}
func isLessThanDate(dateToCompare: NSDate) -> Bool {
//Declare Variables
var isLess = false
//Compare Values
if self.compare(dateToCompare) == NSComparisonResult.OrderedAscending {
isLess = true
}
//Return Result
return isLess
}
func equalToDate(dateToCompare: NSDate) -> Bool {
//Declare Variables
var isEqualTo = false
//Compare Values
if self.compare(dateToCompare) == NSComparisonResult.OrderedSame {
isEqualTo = true
}
//Return Result
return isEqualTo
}
func addDays(daysToAdd: Int) -> NSDate {
let secondsInDays: NSTimeInterval = Double(daysToAdd) * 60 * 60 * 24
let dateWithDaysAdded: NSDate = self.dateByAddingTimeInterval(secondsInDays)
//Return Result
return dateWithDaysAdded
}
func addHours(hoursToAdd: Int) -> NSDate {
let secondsInHours: NSTimeInterval = Double(hoursToAdd) * 60 * 60
let dateWithHoursAdded: NSDate = self.dateByAddingTimeInterval(secondsInHours)
//Return Result
return dateWithHoursAdded
}
func addMinutes(minutesToAdd: Int) -> NSDate {
let secondsInMinutes: NSTimeInterval = Double(minutesToAdd) * 60
let dateWithMinutesAdded: NSDate = self.dateByAddingTimeInterval(secondsInMinutes)
//Return Result
return dateWithMinutesAdded
}
}
......@@ -38,8 +38,13 @@ class BotViewController: UIViewController, UITableViewDataSource, UITableViewDel
object: nil)
initializeTap()
addMessage("Здравствуйте! Я Ваш помощник на сайте Казахтелеком. Постараюсь ответить на большинство Ваших вопросов.", type: 0)
let results = BotManager.sharedInstance().retrieveAll()
if results?.count > 0 {
self.messagesList = results!
self.tableView.reloadData()
} else {
addMessage("Здравствуйте! Я Ваш помощник на сайте Казахтелеком. Постараюсь ответить на большинство Ваших вопросов.", type: 0)
}
}
......@@ -78,6 +83,7 @@ class BotViewController: UIViewController, UITableViewDataSource, UITableViewDel
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
messageField.setBottomBorder(Color.GrayTableCellSeparator)
self.tableView.scrollToBottom(true)
}
override func viewWillDisappear(animated: Bool) {
......@@ -105,7 +111,7 @@ class BotViewController: UIViewController, UITableViewDataSource, UITableViewDel
}
func addMessage(message: String, type: Int) {
let botResult = BotResult()
let botResult = BotResult.init()
botResult.type = type
let botNode = BotNode()
botNode.text = message
......@@ -128,6 +134,12 @@ class BotViewController: UIViewController, UITableViewDataSource, UITableViewDel
self.tableView.endUpdates()
self.tableView.scrollToBottom(true)
self.persist(botResult)
}
func persist(botResult: BotResult) {
BotManager.sharedInstance().add(botResult)
}
func reloadTable() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment