Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // AllgemeinViewController.swift
- // PCMobile
- //
- // Created by SITF Pr on 7/3/18.
- // Copyright © 2018 SITF Pr. All rights reserved.
- //
- import UIKit
- import Eureka
- import Alamofire
- import SwiftyJSON
- import Whisper
- class AllgemeinViewController: FormViewController {
- var editedRowTags = Set<String>()
- var lblPRCTRFooter:UILabel!
- var lblBUKRSFooter:UILabel!
- var lblVWNRFooter:UILabel!
- var lblKalkulatorFooter:UILabel!
- var btnBUKRS:UIButton = UIButton(size: CGSize(width: 23, height: 23), image: #imageLiteral(resourceName: "arrowRight"))
- var btnPRCTR:UIButton = UIButton(size: CGSize(width: 23, height: 23), image: #imageLiteral(resourceName: "arrowRight"))
- var btnStatusNR:UIButton = UIButton(size: CGSize(width: 23, height: 23), image: #imageLiteral(resourceName: "arrowRight"))
- var btnPSP:UIButton = UIButton(size: CGSize(width: 23, height: 23), image: #imageLiteral(resourceName: "arrowRight"))
- var btnVWNR:UIButton = UIButton(size: CGSize(width: 23, height: 23), image: #imageLiteral(resourceName: "arrowRight"))
- var btnKalkulator:UIButton = UIButton(size: CGSize(width: 23, height: 23), image: #imageLiteral(resourceName: "arrowRight"))
- var currentCell: UITableViewCell!
- var fieldType:PCOFieldType!
- let localTablesURL = "http://212.4.68.34:50002/sitf/values/?url=http://sitfsed.sitf.local:8000/mobile/pco/loctables"
- var prctrArray:[PRCTR] = [PRCTR]()
- var bukrsArray:[BUKRS] = [BUKRS]()
- var statusNrArray:[STATUS]=[STATUS]()
- override func viewDidLoad() {
- super.viewDidLoad()
- // [btnBUKRS, btnPRCTR, btnStatusNR, btnPSP, btnVWNR, btnKalkulator].forEach { button in
- // button.tintColor = .tintColor
- // }
- login(withUsername: "SHAXHIJA", andPassword: "sitfsw1ss")
- form +++ Section("PROJEKT COCKPIT - PROJEKTDATEN BEARBEITEN")
- <<< TextRow() {
- $0.title = "Projekt ID:"
- $0.tag = "txtProjectID"
- $0.value = myProject.getValue(for: "txtProjectID")
- $0.add(rule: RuleRequired())
- $0.validationOptions = .validatesOnChange
- }
- .cellUpdate { cell, row in
- if (row.value == "") || (!row.isValid) {
- cell.titleLabel?.textColor = .red
- }
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- <<< LabelRow() {
- $0.title = "Projektbescheibung:"
- $0.tag = "Projektbescheibung"
- }
- .cellUpdate({ (cell, row) in
- cell.separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 1000)
- if let myRow: TextAreaRow = self.form.rowBy(tag: "txtProjectDesc") {
- cell.textLabel?.textColor = myRow.value == "" || !myRow.isValid ? .red : .black
- }
- })
- <<< TextAreaRow() {
- $0.tag = "txtProjectDesc"
- $0.value = myProject.getValue(for: "txtProjectDesc")
- $0.textAreaHeight = .dynamic(initialTextViewHeight: 50)
- $0.add(rule: RuleRequired())
- $0.validationOptions = .validatesOnChange
- }
- .cellUpdate { cell, row in
- if let myRow: LabelRow = self.form.rowBy(tag: "Projektbescheibung") {
- myRow.cell.textLabel?.textColor = row.value == "" || !row.isValid ? .red : .black
- }
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- <<< LabelRow() {
- $0.title = "PSP-Element"
- //$0.placeholder = ""
- $0.tag = "txtPSPElement"
- $0.baseCell.accessoryView = btnPSP
- $0.value = myProject.getValue(for: "txtPSPElement")
- btnPSP.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, -10)
- btnPSP.addTarget(self, action: #selector(pspPressed), for: .touchUpInside)
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- <<< LabelRow() {
- $0.title = "Statusnr. Projekt"
- $0.tag = "txtStatusNr"
- // $0.baseCell.accessoryView = UIButton(type: UIButtonType.infoLight)
- // LabelRow.defaultCellUpdate = { cell, row in cell.detailTextLabel?.textColor = .lightGray }
- $0.value = myProject.getValue(for: "txtStatusNr")
- $0.cell.accessoryView = btnStatusNR
- btnStatusNR.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, -10)
- btnStatusNR.addTarget(self, action: #selector(statusNrPressed), for: .touchUpInside)
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- +++ Section(){ section in
- section.footer =
- {
- var footer = HeaderFooterView<UIView>(.callback({
- let view = UIView(frame: CGRect(x: 0, y: 0, width: self.tableView.frame.width, height: 40))
- self.lblVWNRFooter = UILabel(frame: CGRect(x: view.frame.minX, y: 0, width: view.frame.width-16, height: view.frame.height))
- self.lblVWNRFooter.text = myProject.getValue(for: "lblNameResponsible").removeLeadingZeros()
- self.lblVWNRFooter.font = self.lblVWNRFooter.font.withSize(14)
- self.lblVWNRFooter.textColor = .gray
- self.lblVWNRFooter.textAlignment = .right
- view.addSubview(self.lblVWNRFooter)
- // view.backgroundColor = .red
- return view
- }))
- footer.height = { 45 }
- return footer
- }()
- section.header = HeaderFooterView(title: "")
- }
- <<< LabelRow() {
- $0.title = "Verantwortlich Nr"
- $0.tag = "txtResponsibleNr"
- $0.value = myProject.getValue(for: "txtResponsibleNr").removeLeadingZeros()
- $0.cell.accessoryView = btnVWNR
- btnVWNR.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, -10)
- btnVWNR.addTarget(self, action: #selector(verantworlitchNrPressed), for: .touchUpInside)
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- +++ Section(){ section in
- section.footer =
- {
- var footer = HeaderFooterView<UIView>(.callback({
- let view = UIView(frame: CGRect(x: 0, y: 0, width: self.tableView.frame.width, height: 40))
- self.lblKalkulatorFooter = UILabel(frame: CGRect(x: view.frame.minX, y: 0, width: view.frame.width-16, height: view.frame.height))
- self.lblKalkulatorFooter.text = myProject.getValue(for: "txtCalculatorName")
- self.lblKalkulatorFooter.font = self.lblKalkulatorFooter.font.withSize(14)
- self.lblKalkulatorFooter.textColor = .gray
- self.lblKalkulatorFooter.textAlignment = .right
- view.addSubview(self.lblKalkulatorFooter)
- // view.backgroundColor = .red
- return view
- }))
- footer.height = { 55 }
- return footer
- }()
- section.header = HeaderFooterView(title: "")
- }
- <<< LabelRow() {
- $0.title = "Kalkulator Nr"
- $0.tag = "txtCalculatorNr"
- // $0.baseCell.accessoryView = UIButton(type: UIButtonType.infoLight)
- // LabelRow.defaultCellUpdate = { cell, row in cell.detailTextLabel?.textColor = .lightGray }
- $0.value = myProject.getValue(for: "txtCalculatorNr").removeLeadingZeros()
- $0.cell.accessoryView = btnKalkulator
- btnKalkulator.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, -10)
- btnKalkulator.addTarget(self, action: #selector(kalkulatorPressed), for: .touchUpInside)
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- +++ Section("PROJEKT ADRESSE")
- <<< LabelRow() {
- $0.title = "Strasse:"
- $0.value = ""
- }
- .cellUpdate({ (cell, row) in
- cell.separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 1000)
- })
- <<< TextAreaRow() {
- $0.tag = "txtStrasse"
- $0.value = myProject.getValue(for: "txtStrasse")
- $0.textAreaHeight = .dynamic(initialTextViewHeight: 25)
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- <<< TextRow() {
- $0.title = "Postleitzahl"
- $0.tag = "txtPLZ"
- $0.value = myProject.getValue(for: "txtPLZ")
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- <<< TextRow() {
- $0.title = "Ort"
- $0.tag = "txtOrt"
- $0.value = myProject.getValue(for: "txtOrt")
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- <<< TextRow() {
- $0.title = "Land"
- $0.tag = "txtLand"
- $0.value = myProject.getValue(for: "txtLand")
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- <<< TextRow() {
- $0.title = "Region"
- $0.tag = "txtRegion"
- $0.value = myProject.getValue(for: "txtLand")
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- +++ Section(){ section in
- section.tag = "bukrsSection"
- section.footer =
- {
- var footer = HeaderFooterView<UIView>(.callback({
- let view = UIView(frame: CGRect(x: 0, y: 0, width: self.tableView.frame.width, height: 40))
- self.lblBUKRSFooter = UILabel(frame: CGRect(x: view.frame.minX, y: 0, width: view.frame.width-16, height: view.frame.height))
- self.lblBUKRSFooter.text = myProject.getValue(for: "lblBuchungskreis")
- self.lblBUKRSFooter.font = self.lblBUKRSFooter.font.withSize(14)
- self.lblBUKRSFooter.textColor = .gray
- self.lblBUKRSFooter.textAlignment = .right
- view.addSubview(self.lblBUKRSFooter)
- // view.backgroundColor = .red
- return view
- }))
- footer.height = { 40 }
- return footer
- }()
- section.header = HeaderFooterView(title: "ORGANISATION")
- }
- <<< LabelRow () {
- // LabelRow.defaultCellUpdate = { cell, row in cell.detailTextLabel?.textColor = .lightGray }
- currentCell = $0.cell
- $0.tag = "txtBuchungskreis"
- $0.title = "Buchungskreiss"
- $0.value = myProject.getValue(for: "txtBuchungskreis").removeLeadingZeros()
- $0.cell.accessoryView = btnBUKRS
- btnBUKRS.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, -10)
- btnBUKRS.addTarget(self, action: #selector(bukrsPressed), for: .touchUpInside)
- $0.add(rule: RuleRequired())
- $0.validationOptions = .validatesOnChange
- }
- .cellUpdate { cell, row in
- //
- if (row.value == "") || (!row.isValid) {
- cell.textLabel?.textColor = .red
- }
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- +++ Section() { section in
- section.tag = "prctrSection"
- section.footer =
- {
- var footer = HeaderFooterView<UIView>(.callback({
- let view = UIView(frame: CGRect(x: 0, y: 0, width: self.tableView.frame.width, height: 40))
- self.lblPRCTRFooter = UILabel(frame: CGRect(x: view.frame.minX, y: 0, width: view.frame.width-16, height: view.frame.height))
- self.lblPRCTRFooter.text = myProject.getValue(for: "lblPRCTR")
- self.lblPRCTRFooter.font = self.lblPRCTRFooter.font.withSize(14)
- self.lblPRCTRFooter.textColor = .gray
- self.lblPRCTRFooter.textAlignment = .right
- view.addSubview(self.lblPRCTRFooter)
- return view
- }))
- footer.height = { 70 }
- return footer
- }()
- section.header = HeaderFooterView(title: "")
- }
- <<< LabelRow () {
- // LabelRow.defaultCellUpdate = { cell, row in cell.detailTextLabel?.textColor = .lightGray }
- $0.title = "Profitcenter"
- $0.tag = "txtPRCTR"
- $0.value = myProject.getValue(for: "txtPRCTR").removeLeadingZeros()
- $0.cell.accessoryView = btnPRCTR
- btnPRCTR.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, -10)
- btnPRCTR.addTarget(self, action: #selector(profitCenterPressed), for: .touchUpInside)
- $0.add(rule: RuleRequired())
- $0.validationOptions = .validatesOnChange
- }
- .cellUpdate { cell, row in
- //
- if (row.value == "") || (!row.isValid) {
- cell.textLabel?.textColor = .red
- }
- }
- .onChange { [weak self] row in
- self?.editedRowTags.insert(row.tag!)
- }
- }
- @objc func bukrsPressed() {
- fieldType = .bukrs
- self.performSegue(withIdentifier: "showSearchHelp", sender: nil)
- }
- @objc func profitCenterPressed() {
- fieldType = .prctr
- self.performSegue(withIdentifier: "showSearchHelp", sender: nil)
- //printoma vleren qe e ka bukrs-ja ne cell print(vleraBUKRS)
- //
- // let textRow: TextAreaRow? = form.rowBy(tag: "notes")
- // let value = textRow?.value
- // print(value!)
- // fieldType = .prctr
- // self.performSegue(withIdentifier: "segue", sender: nil)
- }
- @objc func statusNrPressed() {
- fieldType = .statusNr
- self.performSegue(withIdentifier: "showSearchHelp", sender: nil)
- }
- @objc func verantworlitchNrPressed() {
- fieldType = .verantwortlich
- self.performSegue(withIdentifier: "showPersons", sender: nil)
- }
- @objc func kalkulatorPressed() {
- fieldType = .kalkulator
- self.performSegue(withIdentifier: "showPersons", sender: nil)
- }
- @objc func pspPressed(){
- fieldType = .psp
- self.performSegue(withIdentifier: "showPSP", sender: nil)
- }
- //MARK: Login
- func login(withUsername username: String, andPassword password: String) {
- // startLoading()
- let credentials: String! = "Basic \("\(username):\(password)".data(using: String.Encoding.utf8)?.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 0)) ?? "")"
- //Base64 Authorization Header
- let loginHeaders = [
- "Authorization": "\(credentials!)"
- ]
- Alamofire.request(localTablesURL, method: .get, parameters: [:], headers: loginHeaders).responseJSON { response in
- if response.response?.statusCode == 200 {
- do {
- let json = try JSON(data: response.data!) //SwiftJSON
- let localTablesBase = LOCALTABLESBase(json: json)
- // let localTables = localTablesBase.lOCALTABLES
- if let arrayPRCTR = localTablesBase.lOCALTABLES?.pRCTR {
- self.prctrArray = arrayPRCTR
- }
- if let arrayBUKRS = localTablesBase.lOCALTABLES?.bUKRS {
- self
- .bukrsArray = arrayBUKRS
- }
- if let arrayStatusNr = localTablesBase.lOCALTABLES?.sTATUS {
- self.statusNrArray = arrayStatusNr
- }
- //here you reload table, stop loading or whatever you want to do with the data after received them
- self.tableView.reloadData()
- //stopLoading
- } catch {
- print("diqka nuk o n'rregëll")
- }
- } else {
- print("error with code \(response.response?.statusCode ?? 0)")
- }
- }
- }
- //MARK: - Prepare For Segue
- override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
- if segue.identifier == "showSearchHelp" {
- let vc:AllgemeinTblViewController = segue.destination as! AllgemeinTblViewController
- vc.delegate = self
- vc.hidesBottomBarWhenPushed = true
- vc.fieldType = fieldType
- vc.prctrArray = prctrArray
- vc.bukrsArray = bukrsArray
- vc.statusNrArray = statusNrArray
- }
- else if segue.identifier == "showPersons" {
- let vc:PersonViewController = segue.destination as! PersonViewController
- vc.hidesBottomBarWhenPushed = true
- vc.fieldType = fieldType
- vc.delegate = self
- }
- else if segue.identifier == "showPSP" {
- let vc:PSPViewController = segue.destination as! PSPViewController
- vc.delegate = self
- vc.fieldType = fieldType
- vc.hidesBottomBarWhenPushed = true
- }
- }
- // MARK: Save Project
- @IBAction func saveRaport(_ sender: Any) {
- saveProject()
- }
- func saveProject() {
- //Allgemein View Controller
- let txtProjectIDRow: TextRow? = form.rowBy(tag: "txtProjectID")!
- let txtProjectDescRow: TextAreaRow? = form.rowBy(tag: "txtProjectDesc")!
- let txtBuchungskreisRow: LabelRow? = form.rowBy(tag: "txtBuchungskreis")!
- let txtPRCTRRow: LabelRow? = form.rowBy(tag: "txtPRCTR")!
- if ((txtProjectIDRow?.value?.count == 0 || txtProjectIDRow?.value == nil) || (txtProjectDescRow?.value?.count == 0 || txtProjectDescRow?.value == nil) || (txtBuchungskreisRow?.value?.count == 0 || txtBuchungskreisRow?.value == nil) || (txtPRCTRRow?.value?.count == 0 || txtPRCTRRow?.value == nil )) {
- var murmur = Murmur(title: "Please fill required fields...")
- murmur.font = UIFont.systemFont(ofSize: 15)
- murmur.backgroundColor = .groupTableViewBackground
- Whisper.show(whistle: murmur, action: .show(1.9))
- Whisper.hide(whistleAfter: 2)
- return;
- }
- for tag in editedRowTags {
- let row = form.rowBy(tag: tag)
- requestsArray.addRequest(withValue: row?.baseValue as! String, forFieldName:tag)
- }
- //Milestones View Controller
- if let meilensteineVC:MeilensteineViewController = self.tabBarController?.childViewControllers[1].childViewControllers.first as? MeilensteineViewController {
- let bauBegin: DateInlineRow? = meilensteineVC.form.rowBy(tag: "txtBaubegin")!
- if bauBegin?.value?.compare(meilensteineVC.bauendeDate) == .orderedDescending {
- var murmur = Murmur(title: "Please check the baubegin field...")
- murmur.font = UIFont.systemFont(ofSize: 15)
- murmur.backgroundColor = .groupTableViewBackground
- Whisper.show(whistle: murmur, action: .show(1.9))
- Whisper.hide(whistleAfter: 2)
- return;
- }
- for tag in meilensteineVC.editedRowTags {
- let row = meilensteineVC.form.rowBy(tag: tag)
- if tag == "txtErfassung" || tag == "txtBegehung" || tag == "txtFristFragen" || tag == "txtAngebots" || tag == "txtAuftrag" || tag == "txtVertrag" {
- requestsArray.dateRequest(withValue: row?.baseValue as! Date, forFieldName:tag)
- }
- else if tag == "txtBegehungUhr" || tag == "txtFristFragenUhr" || tag == "txtEingabeUhr" || tag == "txtAngebotsUhr" {
- requestsArray.timeRequest(withValue: row?.baseValue as! Date, forFieldName: tag)
- }
- else if tag == "txtBegehungOrt" || tag == "txtBegehungBemerkung" || tag == "txtFristFragenBemerkung" || tag == "txtEingabeBemerkung" || tag == "txtAngebotsOrt" || tag == "txtAngebotsBemerkung" || tag == "txtAuftragBemerkung" || tag == "txtVertragBemerkung" ||
- tag == "txtBaubeginBemerkung" || tag == "txtBauendBemerkung" {
- requestsArray.addRequest(withValue: row?.baseValue as! String, forFieldName: tag)
- }
- else if tag == "txtBaubegin"{
- let year = Calendar.current.component(.year, from: row?.baseValue as! Date)
- let month = Calendar.current.component(.month, from: row?.baseValue as! Date)
- let day = Calendar.current.component(.day, from: row?.baseValue as! Date)
- requestsArray.addRequest(withValue: "\(year)", forFieldName: "txtBaubeginYear")
- requestsArray.addRequest(withValue: "\(month)", forFieldName: "txtBaubeginMonth")
- requestsArray.addRequest(withValue: "\(day)", forFieldName: "txtBaubeginDay")
- }
- else if tag == "txtBauende"{
- let endeYear = Calendar.current.component(.year, from: row?.baseValue as! Date)
- let endeMonth = Calendar.current.component(.month, from: row?.baseValue as! Date)
- let endeDay = Calendar.current.component(.day, from: row?.baseValue as! Date)
- requestsArray.addRequest(withValue: "\(endeYear)", forFieldName: "txtBauendeYear")
- requestsArray.addRequest(withValue: "\(endeMonth)", forFieldName: "txtBauendeMonth")
- requestsArray.addRequest(withValue: "\(endeDay)", forFieldName: "txtBauendeDay")
- }
- }
- }
- //Details View Controller
- if let detailsVC:DetailsViewController = self.tabBarController?.childViewControllers[2].childViewControllers.first as? DetailsViewController {
- for tag in detailsVC.editedRowTags {
- let row = detailsVC.form.rowBy(tag: tag)
- if tag != "txtAuftrag" {
- requestsArray.addRequest(withValue: row?.baseValue as! String, forFieldName: tag)
- } else {
- requestsArray.dateRequest(withValue: row?.baseValue as! Date, forFieldName:tag)
- }
- }
- }
- //Kalkulation View Controller
- if let kalkulationVC:KalkulationViewController = self.tabBarController?.childViewControllers.last?.childViewControllers.first as? KalkulationViewController {
- let rowTage: KalkulationRow? = kalkulationVC.form.rowBy(tag: "tage")
- let rowSkonto: KalkulationRow? = kalkulationVC.form.rowBy(tag:"skonto")
- let skontto = rowSkonto?.cell.percentageField.text?.count == 0 ? 0.00 : Double(rowSkonto?.cell.percentageField.text?.digits ?? "0")
- if (rowSkonto?.cell.percentageField.text!.count != 0 || rowSkonto?.cell.valueField.text!.count != 0){
- if skontto! > 10.00 && ( rowTage?.cell.valueField.text!.count == 0) {
- var murmur = Murmur(title: "Bitte füllen Sie die markierten Felder richtig aus")
- murmur.font = UIFont.systemFont(ofSize: 15)
- murmur.backgroundColor = .red
- murmur.titleColor = .white
- Whisper.show(whistle: murmur, action: .show(1.9))
- Whisper.hide(whistleAfter: 2)
- return;
- } else if (skontto! > 10) {
- var murmur = Murmur(title: "Skonto % - Satz zu hoch")
- murmur.font = UIFont.systemFont(ofSize: 15)
- murmur.backgroundColor = .red
- murmur.titleColor = .white
- Whisper.show(whistle: murmur, action: .show(1.9))
- Whisper.hide(whistleAfter: 2)
- return;
- } else if ( rowTage?.cell.valueField.text!.count == 0) {
- var murmur = Murmur(title: "Bitte füllen Sie die markierten Felder")
- murmur.font = UIFont.systemFont(ofSize: 15)
- murmur.backgroundColor = .red
- murmur.titleColor = .white
- Whisper.show(whistle: murmur, action: .show(1.9))
- Whisper.hide(whistleAfter: 2)
- return;
- }
- }
- for tag in kalkulationVC.editedRowTags{
- if tag == "eingabessumeBrutto" {
- let rowEingabessumeBrutto: KalkulationRow = kalkulationVC.form.rowBy(tag: "eingabessumeBrutto")!
- requestsArray.addRequest(withValue: (rowEingabessumeBrutto.cell.valueField.text)!, forFieldName: "txtEingabesummA")
- } else if tag == "zielBrutto" {
- let rowZielBrutto: KalkulationRow = kalkulationVC.form.rowBy(tag:"zielBrutto")!
- requestsArray.addRequest(withValue: (rowZielBrutto.cell.valueField.text)!, forFieldName: "txtZielA")
- } else if tag == "rabatt" {
- let rowRabatt: KalkulationRow = kalkulationVC.form.rowBy(tag:"rabatt")!
- requestsArray.addRequest(withValue: (rowRabatt.cell.valueField.text)!, forFieldName: "txtRabattA")
- requestsArray.addRequest(withValue: (rowRabatt.cell.percentageField.text?.digits)!, forFieldName: "txtRabattProcentA")
- } else if tag == "tage" {
- let rowTage: KalkulationRow = kalkulationVC.form.rowBy(tag: "tage")!
- requestsArray.addRequest(withValue: (rowTage.cell.valueField.text)!, forFieldName: "txtSkontoTage")
- } else if tag == "skonto" {
- let rowSkonto: KalkulationRow = kalkulationVC.form.rowBy(tag:"skonto")!
- requestsArray.addRequest(withValue: (rowSkonto.cell.valueField.text)!, forFieldName: "txtSkontoA")
- requestsArray.addRequest(withValue: (rowSkonto.cell.percentageField.text?.digits)!, forFieldName: "txtSkontoProcentA")
- }else if tag == "diverse" {
- let rowDiverse: KalkulationRow = kalkulationVC.form.rowBy(tag:"diverse")!
- requestsArray.addRequest(withValue: (rowDiverse.cell.valueField.text)!, forFieldName: "txtDiverseA")
- }else if tag == "zielNetto" {
- let rowZielNetto: KalkulationRow = kalkulationVC.form.rowBy(tag:"zielNetto")!
- requestsArray.addRequest(withValue: (rowZielNetto.cell.valueField.text)!, forFieldName: "txtZielNettoA")
- }
- }
- }
- //Save whole project after array is filled with data
- API.PCO.saveProject(withID: selectedProject, completionHandler: { message in
- print(message)
- })
- }
- }
- //MARK: - Allgemein Table Delegate
- extension AllgemeinViewController: AllgemeinTableDelegate {
- func getValue(value: String, description: String, forType type: PCOFieldType) {
- if type == .bukrs {
- if let myRow: LabelRow = form.rowBy(tag: "txtBuchungskreis") {
- myRow.value = value.removeLeadingZeros()
- lblBUKRSFooter.text = description
- myRow.reload()
- }
- } else if type == .prctr {
- if let myRow: LabelRow = form.rowBy(tag: "txtPRCTR") {
- myRow.value = value.removeLeadingZeros()
- lblPRCTRFooter.text = description
- myRow.reload()
- }
- } else if type == .statusNr {
- if let myRow: LabelRow = form.rowBy(tag: "txtStatusNr") {
- myRow.value = value.removeLeadingZeros()
- myRow.reload()
- }
- }
- }
- }
- extension AllgemeinViewController: PersonDelegate {
- func selectedPerson(person: F4PERNR, forType type: PCOFieldType) {
- if type == .verantwortlich {
- if let myRow: LabelRow = form.rowBy(tag: "txtResponsibleNr") {
- myRow.value = person.pERNR?.removeLeadingZeros() ?? ""
- lblVWNRFooter.text = "\(person.vNAMC ?? "") \(person.nACHN ?? "")"
- myRow.reload()
- }
- }
- if type == .kalkulator {
- if let myRow: LabelRow = form.rowBy(tag: "txtCalculatorNr") {
- myRow.value = person.pERNR?.removeLeadingZeros() ?? ""
- lblVWNRFooter.text = "\(person.vNAMC ?? "") \(person.nACHN ?? "")"
- myRow.reload()
- }
- }
- }
- }
- extension AllgemeinViewController: pspDelegate {
- func selectedPSP(person: F4WBS, forType type: PCOFieldType) {
- if type == .psp {
- if let myRow: LabelRow = form.rowBy(tag: "txtPSPElement") {
- myRow.value = person.pOSID?.removeLeadingZeros() ?? ""
- myRow.reload()
- }
- }
- }
- }
- extension String {
- func removeLeadingZeros() -> String {
- var newString = self
- let prefix = "0"
- while newString.hasPrefix(prefix) {
- newString.remove(at: newString.startIndex)
- }
- return newString
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement