ResultViewController+TableDataSource.m 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  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. for (ResultAddition *addition in isfModel.addition) {
  72. [cell addAdditionName:addition.name value:addition.value];
  73. }
  74. return cell;
  75. }
  76. break;
  77. case ResultTypeACEM1:{
  78. ResultACEM1Model *acem1Model = (ResultACEM1Model *)model;
  79. ResultACEM1Cell *cell = [tableView dequeueReusableCellWithIdentifier:ResultACEM1Cell.identifier forIndexPath:indexPath];
  80. [[[[[[cell setHBOL:acem1Model.hbol] setMBOL:acem1Model.mbol] setIcon:acem1Model.icon] setPort:acem1Model.port] setTime:acem1Model.date] setLog:acem1Model.log];
  81. // [[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc];
  82. [cell setConsignee:acem1Model.consignee];
  83. for (ResultAddition *addition in acem1Model.addition) {
  84. [cell addAdditionName:addition.name value:addition.value];
  85. }
  86. return cell;
  87. }
  88. break;
  89. case ResultTypeCustomer:
  90. {
  91. ResultCustomerModel *cusModel = (ResultCustomerModel *)model;
  92. ResultCustomerCell *cell = [tableView dequeueReusableCellWithIdentifier:ResultCustomerCell.identifier forIndexPath:indexPath];
  93. //
  94. [[[[cell setAddress:cusModel.address] setCompany:cusModel.company] setIcon:cusModel.icon] setContactID:cusModel.contactid];
  95. // [[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc];
  96. // [cell setConsignee:usModel.consignee];
  97. for (ResultAddition *addition in cusModel.addition) {
  98. [cell addAdditionName:addition.name value:addition.value];
  99. }
  100. return cell;
  101. }
  102. break;
  103. // case ApexResultTypeAirBooking:
  104. // {
  105. // ApexResultAirBookingModel *shipModel = (ApexResultAirBookingModel *)model;
  106. // ApexResultAirBookingCell *cell = [tableView dequeueReusableCellWithIdentifier:ApexResultAirBookingCell.identifier forIndexPath:indexPath];
  107. // [[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc];
  108. // [cell setConsignee:shipModel.consignee];
  109. //
  110. // for (ApexResultAddition *addition in shipModel.addition) {
  111. // [cell addAdditionName:addition.name value:addition.value];
  112. // }
  113. // return cell;
  114. // break;
  115. // }
  116. // case ApexResultTypeAirAwbInfo:
  117. // {
  118. // ApexResultAirAwbInfoModel *shipModel = (ApexResultAirAwbInfoModel *)model;
  119. // ApexResultAirAwbInfoCell *cell = [tableView dequeueReusableCellWithIdentifier:ApexResultAirAwbInfoCell.identifier forIndexPath:indexPath];
  120. // [[[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc] setConsignee:shipModel.consignee];
  121. // for (ApexResultAddition *addition in shipModel.addition) {
  122. // [cell addAdditionName:addition.name value:addition.value];
  123. // }
  124. // return cell;
  125. // break;
  126. // }
  127. // case ApexResultTypeBLInfo: {
  128. //
  129. // ApexResultBLInfoModel *shipModel = (ApexResultBLInfoModel *)model;
  130. // ApexResultBLInfoCell *cell = [tableView dequeueReusableCellWithIdentifier:ApexResultBLInfoCell.identifier forIndexPath:indexPath];
  131. // [[[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc] setConsignee:shipModel.consignee];
  132. // for (ResultAddition *addition in shipModel.addition) {
  133. // [cell addAdditionName:addition.name value:addition.value];
  134. // }
  135. // return cell;
  136. // }
  137. // break;
  138. // case ApexResultTypeContainer: {
  139. //
  140. // ApexResultContainerModel *shipModel = (ApexResultContainerModel *)model;
  141. // ApexResultContainerCell *cell = [tableView dequeueReusableCellWithIdentifier:ApexResultContainerCell.identifier forIndexPath:indexPath];
  142. //
  143. // [[[[[[[cell setTitle:shipModel.title] setDetail:shipModel.detail] setIcon:shipModel.icon] setPort:shipModel.port] setTime:shipModel.date] setDescription:shipModel.desc] setConsignee:shipModel.consignee];
  144. // [cell setTransportStage:shipModel.transport_stage.integerValue];
  145. //
  146. // for (ResultAddition *addition in shipModel.addition) {
  147. // [cell addAdditionName:addition.name value:addition.value];
  148. // }
  149. // return cell;
  150. //
  151. // }
  152. // break;
  153. // case ApexResultTypeDocument: {
  154. //
  155. // ApexResultDocumentModel *docModel = (ApexResultDocumentModel *)model;
  156. // ApexResultDocumentCell *cell = [tableView dequeueReusableCellWithIdentifier:ApexResultDocumentCell.identifier forIndexPath:indexPath];
  157. // [[[[cell setFileName:docModel.fileName] setFileType:docModel.fileType] setFilePO:docModel.po] setFileBOL:docModel.bol];
  158. // return cell;
  159. // }
  160. break;
  161. }
  162. return [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"defaultCell"];
  163. }
  164. @end