ResultViewController+TableDataSource.m 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. //
  2. // ApexResultViewController+TableDataSource.m
  3. // Apex Mobile
  4. //
  5. // Created by Jack on 2019/1/5.
  6. // Copyright © 2019 United Software Applications, Inc. All rights reserved.
  7. //
  8. #import "ResultViewController+TableDataSource.h"
  9. //#import "ApexResultContainerCell.h"
  10. //#import "ApexResultDocumentCell.h"
  11. //#import "ApexResultAirBookingCell.h"
  12. //#import "ApexResultContainerModel.h"
  13. //#import "ApexResultDocumentModel.h"
  14. #import "ResultPresenter.h"
  15. #import "ResultAddition.h"
  16. //#import "ApexResultAirAwbInfoCell.h"
  17. //#import "ApexResultAirAwbInfoModel.h"
  18. //#import "ApexResultBLInfoCell.h"
  19. //#import "ApexResultBookingCell.h"
  20. #import "ResultACICell.h"
  21. //#import "ApexResultBLInfoModel.h"
  22. #import "ResultACIModel.h"
  23. #import "ResulteManifestCell.h"
  24. #import "ResulteManifestModel.h"
  25. #import "ResultACEM1Cell.h"
  26. #import "ResultACEM1Model.h"
  27. #import "ResultCustomerCell.h"
  28. #import "ResultCustomerModel.h"
  29. #import "ResultISFCell.h"
  30. #import "ResultISFModel.h"
  31. //#import "ApexResultAirBookingModel.h"
  32. @implementation ResultViewController (TableDataSource)
  33. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  34. return self.presenter.dataCount;
  35. }
  36. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  37. ResultBaseModel *model = [self.presenter resultModelForIndex:indexPath.row];
  38. switch (model.type) {
  39. case ResultTypeACI:
  40. {
  41. ResultACIModel *aciModel = (ResultACIModel *)model;
  42. ResultACICell *cell = [tableView dequeueReusableCellWithIdentifier:ResultACICell.identifier forIndexPath:indexPath];
  43. [[[[[[cell setHBCCN:aciModel.hbccn] setPrimaryCCN:aciModel.primary_ccn] setTime:aciModel.date] setLastAction:aciModel.lastaction] setLog:aciModel.log] setIcon:aciModel.icon];
  44. // [[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc];
  45. // [cell setConsignee:shipModel.consignee];
  46. for (ResultAddition *addition in aciModel.addition) {
  47. [cell addAdditionName:addition.name value:addition.value];
  48. }
  49. return cell;
  50. }
  51. break;
  52. case ResultTypeeManifest:
  53. {
  54. ResulteManifestModel *emanifestModel = (ResulteManifestModel *)model;
  55. ResulteManifestCell *cell = [tableView dequeueReusableCellWithIdentifier:ResulteManifestCell.identifier forIndexPath:indexPath];
  56. [[[[[[[cell setHBCCN:emanifestModel.hbccn] setPrimaryCCN:emanifestModel.primary_ccn] setTime:emanifestModel.date] setPreviousCCN:emanifestModel.previous_ccn] setLog:emanifestModel.log] setIcon:emanifestModel.icon] setInClose:emanifestModel.inclose];
  57. // [[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc];
  58. // [cell setConsignee:shipModel.consignee];
  59. for (ResultAddition *addition in emanifestModel.addition) {
  60. [cell addAdditionName:addition.name value:addition.value];
  61. }
  62. return cell;
  63. }
  64. break;
  65. case ResultTypeISF:
  66. {
  67. ResultISFModel *isfModel = (ResultISFModel *)model;
  68. ResultISFCell *cell = [tableView dequeueReusableCellWithIdentifier:ResultISFCell.identifier forIndexPath:indexPath];
  69. [[[[[cell setBOL:isfModel.bol] setTransactionNo:isfModel.transactionno] setIcon:isfModel.icon] setISFType:isfModel.isftype] setLog:isfModel.log];
  70. [cell setConsignee:isfModel.consignee];
  71. [cell setImportNo:isfModel.import_no];
  72. for (ResultAddition *addition in isfModel.addition) {
  73. [cell addAdditionName:addition.name value:addition.value];
  74. }
  75. return cell;
  76. }
  77. break;
  78. case ResultTypeACEM1:{
  79. ResultACEM1Model *acem1Model = (ResultACEM1Model *)model;
  80. ResultACEM1Cell *cell = [tableView dequeueReusableCellWithIdentifier:ResultACEM1Cell.identifier forIndexPath:indexPath];
  81. [[[[[[cell setHBOL:acem1Model.hbol] setMBOL:acem1Model.mbol] setIcon:acem1Model.icon] setPort:acem1Model.port] setTime:acem1Model.date] setLog:acem1Model.log];
  82. // [[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc];
  83. [cell setConsignee:acem1Model.consignee];
  84. for (ResultAddition *addition in acem1Model.addition) {
  85. [cell addAdditionName:addition.name value:addition.value];
  86. }
  87. return cell;
  88. }
  89. break;
  90. case ResultTypeCustomer:
  91. {
  92. ResultCustomerModel *cusModel = (ResultCustomerModel *)model;
  93. ResultCustomerCell *cell = [tableView dequeueReusableCellWithIdentifier:ResultCustomerCell.identifier forIndexPath:indexPath];
  94. //
  95. [[[[cell setAddress:cusModel.address] setCompany:cusModel.company] setIcon:cusModel.icon] setContactID:cusModel.contactid];
  96. // [[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc];
  97. // [cell setConsignee:usModel.consignee];
  98. for (ResultAddition *addition in cusModel.addition) {
  99. [cell addAdditionName:addition.name value:addition.value];
  100. }
  101. return cell;
  102. }
  103. break;
  104. // case ApexResultTypeAirBooking:
  105. // {
  106. // ApexResultAirBookingModel *shipModel = (ApexResultAirBookingModel *)model;
  107. // ApexResultAirBookingCell *cell = [tableView dequeueReusableCellWithIdentifier:ApexResultAirBookingCell.identifier forIndexPath:indexPath];
  108. // [[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc];
  109. // [cell setConsignee:shipModel.consignee];
  110. //
  111. // for (ApexResultAddition *addition in shipModel.addition) {
  112. // [cell addAdditionName:addition.name value:addition.value];
  113. // }
  114. // return cell;
  115. // break;
  116. // }
  117. // case ApexResultTypeAirAwbInfo:
  118. // {
  119. // ApexResultAirAwbInfoModel *shipModel = (ApexResultAirAwbInfoModel *)model;
  120. // ApexResultAirAwbInfoCell *cell = [tableView dequeueReusableCellWithIdentifier:ApexResultAirAwbInfoCell.identifier forIndexPath:indexPath];
  121. // [[[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc] setConsignee:shipModel.consignee];
  122. // for (ApexResultAddition *addition in shipModel.addition) {
  123. // [cell addAdditionName:addition.name value:addition.value];
  124. // }
  125. // return cell;
  126. // break;
  127. // }
  128. // case ApexResultTypeBLInfo: {
  129. //
  130. // ApexResultBLInfoModel *shipModel = (ApexResultBLInfoModel *)model;
  131. // ApexResultBLInfoCell *cell = [tableView dequeueReusableCellWithIdentifier:ApexResultBLInfoCell.identifier forIndexPath:indexPath];
  132. // [[[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc] setConsignee:shipModel.consignee];
  133. // for (ResultAddition *addition in shipModel.addition) {
  134. // [cell addAdditionName:addition.name value:addition.value];
  135. // }
  136. // return cell;
  137. // }
  138. // break;
  139. // case ApexResultTypeContainer: {
  140. //
  141. // ApexResultContainerModel *shipModel = (ApexResultContainerModel *)model;
  142. // ApexResultContainerCell *cell = [tableView dequeueReusableCellWithIdentifier:ApexResultContainerCell.identifier forIndexPath:indexPath];
  143. //
  144. // [[[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc] setConsignee:shipModel.consignee];
  145. // [cell setTransportStage:shipModel.transport_stage.integerValue];
  146. //
  147. // for (ResultAddition *addition in shipModel.addition) {
  148. // [cell addAdditionName:addition.name value:addition.value];
  149. // }
  150. // return cell;
  151. //
  152. // }
  153. // break;
  154. // case ApexResultTypeDocument: {
  155. //
  156. // ApexResultDocumentModel *docModel = (ApexResultDocumentModel *)model;
  157. // ApexResultDocumentCell *cell = [tableView dequeueReusableCellWithIdentifier:ApexResultDocumentCell.identifier forIndexPath:indexPath];
  158. // [[[[cell setFileName:docModel.fileName] setFileType:docModel.fileType] setFilePO:docModel.po] setFileBOL:docModel.bol];
  159. // return cell;
  160. // }
  161. break;
  162. }
  163. return [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"defaultCell"];
  164. }
  165. @end