Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2015
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.24 KB | None | 0 0
  1. //
  2. // EmailByStudent.swift
  3. // Warnable
  4. //
  5. // Created by Victor on 8/31/15.
  6. // Copyright © 2015 Razvan. All rights reserved.
  7. //
  8.  
  9. import Foundation
  10.  
  11. class EmailListByStudent {
  12. var delegate: EmailListByUserDelegate?
  13. var schoolId = ""
  14. var username = ""
  15. var queryName = "com.vuzum.warnable.students.studentsEmailList"
  16.  
  17. //MARK: - Public Procedures
  18.  
  19. func GetEmailListStudent(schoolId: String, username: String){
  20. self.schoolId = schoolId
  21. self.username = username
  22. print("GetEmailStudent")
  23. powerSchoolGetEmailList()
  24. }
  25.  
  26. //MARK: - Private procedures
  27. private func powerSchoolGetEmailList(){
  28.  
  29. if let obj = UserDataSingleton.sharedInstance.schoolDetails{
  30.  
  31. let urlString = obj[kParseAccesTokenQueryServerAdress] as! String + queryName
  32. let token = obj[kParseAccesTokenToken] as! String
  33.  
  34. print("link: \(urlString)")
  35. print("token: \(token)")
  36.  
  37. let request = NSMutableURLRequest(URL: NSURL(string:urlString)!)
  38. request.HTTPMethod = "POST"
  39. request.setValue("application/json", forHTTPHeaderField: "Content-Type")
  40. request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
  41.  
  42. let contentType = " {\"Student_Web_ID\": \"\(username)\",\"schoolId\":\"\(schoolId)\" }"
  43.  
  44. request.HTTPBody = (contentType.dataUsingEncoding(NSUTF8StringEncoding))
  45. let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
  46. data, response, error in
  47. let taskString = NSString(data: data!, encoding: NSUTF8StringEncoding)
  48. if(taskString != nil){
  49. print(taskString! as String)
  50. do{
  51. let responseDictionary: NSDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary
  52. self.extractEmailList(responseDictionary)
  53. } catch {
  54. print(error)
  55. self.delegate?.EmailListError!(kParseUserTypeStudent)
  56. }
  57. }
  58. }
  59. task!.resume()
  60. } else {
  61. self.delegate?.EmailListError!(kParseUserTypeStudent)
  62. }
  63. }
  64.  
  65. private func extractEmailList(responseDictionary: NSDictionary){
  66.  
  67. if let userDetailsArray = responseDictionary.objectForKey("record") as? NSArray {
  68. if (userDetailsArray.count == 0){
  69. self.delegate?.EmailListError!(kParseUserTypeStudent)
  70. } else {
  71. //TODO need to scan email list
  72. var emailArrayList: [UserEmailModel] = []
  73. for element in userDetailsArray {
  74. let item = (element as! NSDictionary) .objectForKey("tables")?.objectForKey(queryName.lowercaseString)
  75. print(item)
  76. let dcid = item?.valueForKey("dcid") as! String
  77. let email = item?.valueForKey("email") as!String
  78. let username = item?.valueForKey("student_web_id") as! String
  79. emailArrayList.append(UserEmailModel(dcid: dcid, email: email, username: username, userType:kParseUserTypeStudent))
  80. print(item?.valueForKey("email") as! String)
  81. }
  82. emailArrayList.append(UserEmailModel(dcid:"60", email:"racovita.victor6@gmail.com", username:"ag1student60",userType:kParseUserTypeStudent))
  83. emailArrayList.append(UserEmailModel(dcid:emailArrayList[0].dcid, email:"weslau@gmail.com", username:emailArrayList[0].username,userType:kParseUserTypeTeacher))
  84. emailArrayList.append(UserEmailModel(dcid:emailArrayList[0].dcid, email:"adam@booklupe.com", username:emailArrayList[0].username,userType:kParseUserTypeTeacher))
  85. emailArrayList.append(UserEmailModel(dcid:emailArrayList[0].dcid, email:"wolfson.a@husky.neu.edu", username:emailArrayList[0].username,userType:kParseUserTypeTeacher))
  86. self.delegate?.EmailListSucces!(emailArrayList)
  87. }
  88. } else {
  89. self.delegate?.EmailListError!(kParseUserTypeStudent)
  90. }
  91. }
  92.  
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement