Guest User

Untitled

a guest
Dec 17th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.45 KB | None | 0 0
  1. using System;
  2. using System.Diagnostics;
  3. using System.Threading.Tasks;
  4. using DefaultAPP.Controllers.APILoggers;
  5. using DefaultAPP.Controllers.Authen;
  6. using DefaultAPP.Controllers.Customers;
  7. using DefaultAPP.Controllers.Events;
  8. using DefaultAPP.Controllers.Leads;
  9. using DefaultAPP.Controllers.Projects;
  10. using DefaultAPP.Controllers.Resources;
  11. using DefaultAPP.Controllers.Transactions;
  12. using DefaultAPP.ViewModels;
  13. using DefaultAPP.ViewModels.CustomerViewModels;
  14. using DefaultAPP.ViewModels.ERegistrationViewModels;
  15. using DefaultAPP.ViewModels.EventViewModels;
  16. using DefaultAPP.ViewModels.LeadViewModels;
  17. using DefaultAPP.ViewModels.OfferFormsViewModel;
  18. using DefaultAPP.ViewModels.ProjectViewModels;
  19. using DefaultAPP.ViewModels.ReservationViewModels;
  20. using DefaultAPP.Views;
  21. using DefaultAPP.Views.CustomerViews;
  22. using DefaultAPP.Views.ERegistrationViews;
  23. using DefaultAPP.Views.EventViews;
  24. using DefaultAPP.Views.OB.LeadViews;
  25. using DefaultAPP.Views.OB.ReservationViews;
  26. using DefaultAPP.Views.OfferFormsViews;
  27. using DefaultAPP.Views.ProjectViews;
  28. using DefaultAPP.Views.ProjectViews.Subs;
  29. using DefaultAPP.Views.ReservationViews;
  30. using SupportUIXF.Widgets;
  31. using SupportXFLite.Controllers;
  32. using SupportXFLite.Controllers.DJPools;
  33. using SupportXFLite.Controllers.Navigations;
  34. using SupportXFLite.ProjectArchitect.AESProjects.API;
  35. using Xamarin.Forms;
  36.  
  37. namespace DefaultAPP
  38. {
  39. public class InitializeProject : SupportProjectXF<BaseLocator, BaseNavigationService>
  40. {
  41. public InitializeProject_Tablet InitializeTablet;
  42.  
  43. protected override void SetupFinish()
  44. {
  45. base.SetupFinish();
  46. if (Device.Idiom == TargetIdiom.Tablet)
  47. {
  48. InitializeTablet = new InitializeProject_Tablet(GetLocator());
  49. }
  50. }
  51.  
  52. private async Task<SupportNavigationPage> InitilizeNavigationPageWithPage(Xamarin.Forms.Page page)
  53. {
  54. var navigationPageWidget = new SupportNavigationPage()
  55. {
  56. BarTextColor = Color.FromHex("#192466"),
  57. BarBackgroundColor = Color.White
  58. };
  59. navigationPageWidget.Popped += (object sender, NavigationEventArgs e) =>
  60. {
  61. if(e.Page is MainView_Tablet_Navigation)
  62. {
  63. InitializeTablet.IncresePhase(false);
  64. }
  65. };
  66. if (page != null)
  67. await navigationPageWidget.PushAsync(page);
  68. return navigationPageWidget;
  69. }
  70.  
  71. public override async Task SetupNavigationMap(Page page, Type viewModelType, object parameter, bool animate)
  72. {
  73. if (page is LoginView)
  74. {
  75. if (CurrentApplication.MainPage is SupportNavigationPage)
  76. {
  77. var currentNavigation = CurrentApplication.MainPage as SupportNavigationPage;
  78. await currentNavigation.PopToRootAsync(true);
  79. }
  80. else
  81. {
  82. CurrentApplication.MainPage = await InitilizeNavigationPageWithPage(page);
  83. }
  84. }
  85. else if (CurrentApplication.MainPage is SupportNavigationPage)
  86. {
  87. var currentNavigationX = (SupportNavigationPage)CurrentApplication.MainPage;
  88. var currentPage = currentNavigationX.CurrentPage;
  89.  
  90. if (page is MainView_Tablet)
  91. {
  92. var detailNavigation = await InitilizeNavigationPageWithPage(null);
  93. Page detailDefaultFirstPage = GetNavigationService().CreateAndBindPage(typeof(OB_DashBoardViewModel), null);
  94. await detailNavigation.PushAsync(detailDefaultFirstPage, true);
  95. ((MainView_Tablet)page).Detail = detailNavigation;
  96. await currentNavigationX.PushAsync(page, true);
  97. }
  98. else
  99. {
  100. if(Device.Idiom == TargetIdiom.Tablet)
  101. {
  102. if(page is MainView_Tablet_Navigation)
  103. {
  104. InitializeTablet.IncresePhase(true);
  105. }
  106. await currentNavigationX.PushAsync(page, true);
  107. }
  108. else
  109. {
  110. if (page.GetType() != currentNavigationX.CurrentPage.GetType())
  111. await currentNavigationX.PushAsync(page, true);
  112. }
  113. }
  114. }
  115. else
  116. {
  117. CurrentApplication.MainPage = await InitilizeNavigationPageWithPage(page);
  118. }
  119. }
  120.  
  121. protected override void MappingViewAndViewModel(BaseNavigationService navigationManager)
  122. {
  123. navigationManager.Map<LoginViewModel, LoginView>();
  124.  
  125. if (Device.Idiom == TargetIdiom.Phone)
  126. {
  127. navigationManager.Map<MainViewModel, MainView>();
  128. }
  129. else if (Device.Idiom == TargetIdiom.Tablet)
  130. {
  131. navigationManager.Map<MainViewModel, MainView_Tablet>();
  132. navigationManager.Map<MainView_Tablet_NavigationModel, MainView_Tablet_Navigation>();
  133. }
  134.  
  135. navigationManager.Map<OB_DashBoardViewModel, OB_DashBoardView>();
  136. navigationManager.Map<OB_HomeMenuViewModel, OB_HomeMenuView>();
  137. navigationManager.Map<OB_NotificationViewModel, OB_NotificationView>();
  138. navigationManager.Map<OB_ProfileViewModel, OB_ProfileView>();
  139.  
  140. navigationManager.Map<OB_ProjectListViewModel, OB_ProjectListViewPage>();
  141. navigationManager.Map<OB_ProjectDetailViewModel, OB_ProjectDetailViewPage>();
  142. navigationManager.Map<OB_ProjectInventoryViewModel, OB_ProjectInventoryViewPage>();
  143. navigationManager.Map<OB_ProjectUnitNoDetailViewModel, ProjectUnitNoDetailView>();
  144.  
  145. navigationManager.Map<OB_ERegistrationViewModel, OB_ERegistraionViewPage>();
  146. navigationManager.Map<OB_ERegistrationFormViewModel, OB_ERegistrationFormViewPage>();
  147. navigationManager.Map<OB_ERegistrationWalkinViewModel, OB_ERegistrationWalkinViewPage>();
  148.  
  149. navigationManager.Map<OB_EventListViewModel, OB_EventListViewPage>();
  150. navigationManager.Map<OB_EventDetailViewModel, OB_EventDetailViewPage>();
  151. navigationManager.Map<OB_EventAttendeesViewModel, OB_EventAttendeesViewPage>();
  152.  
  153. navigationManager.Map<OB_CustomerNoteViewModel, OB_CustomerNoteViewPage>();
  154. navigationManager.Map<OB_CustomerDetailViewModel, OB_CustomerDetailViewPage>();
  155. navigationManager.Map<OB_CustomerListViewModel, OB_CustomerListViewPage>();
  156.  
  157. navigationManager.Map<OB_LeadListViewModel, OB_LeadListViewPage>();
  158. navigationManager.Map<OB_LeadSearchViewModel, OB_LeadSearchViewPage>();
  159.  
  160. navigationManager.Map<OB_ERegistrationEventViewModel, OB_ERegistrationEventPage>();
  161. navigationManager.Map<OB_ERegistrationQRScanViewModel, OB_ERegistrationQRScanViewPage>();
  162.  
  163. navigationManager.Map<OB_ReservationSignatureViewModel, OB_ReservationSignatureViewPage>();
  164. navigationManager.Map<OB_ReservationPaymentScheduleViewModel, OB_ReservationPaymentScheduleViewPage>();
  165. navigationManager.Map<OB_ReservationPaymentTermViewModel, OB_ReservationPaymentTermViewPage>();
  166. navigationManager.Map<OB_ReservationPropertyInfoViewModel, OB_ReservationPropertyInfoViewPage>();
  167. navigationManager.Map<OB_ReservationMoneyViewModel, OB_ReservationMoneyViewPage>();
  168.  
  169. navigationManager.Map<OB_OfferFormValueInfoViewModel, OB_OfferFormValueInfoPage>();
  170. navigationManager.Map<OB_OfferFormPropertyInfoViewModel, OB_OfferFormPropertyInfoPage>();
  171. navigationManager.Map<OB_OfferFormPaymentScheduleViewModel, OB_OfferFormPaymentSchedulePage>();
  172.  
  173. }
  174.  
  175. protected override void RegisterController(BaseLocator locator)
  176. {
  177. locator.Register<IAESAPIService, AESAPILogger>();
  178. locator.Register<IAuthentication, Authentication>();
  179. locator.Register<IProjectService, ProjectService>();
  180. locator.Register<IEventService, EventService>();
  181. locator.Register<IResourceService, ResourceService>();
  182. locator.Register<ILeadService, LeadService>();
  183. locator.Register<ITransactionService, TransactionService>();
  184. locator.Register<ICustomerService, CustomerService>();
  185. }
  186.  
  187. protected override void RegisterViewModel(BaseLocator locator)
  188. {
  189. locator.Register<LoginViewModel>();
  190. locator.Register<MainViewModel>();
  191. locator.Register<BlankViewModel>();
  192. locator.Register<MainView_Tablet_NavigationModel>();
  193.  
  194. locator.Register<OB_DashBoardViewModel>();
  195. locator.Register<OB_HomeMenuViewModel>();
  196. locator.Register<OB_NotificationViewModel>();
  197. locator.Register<OB_ProfileViewModel>();
  198.  
  199. locator.Register<OB_ProjectListViewModel>();
  200. locator.Register<OB_ProjectDetailViewModel>();
  201. locator.Register<OB_ProjectInventoryViewModel>();
  202. locator.Register<OB_ProjectUnitNoDetailViewModel>();
  203.  
  204. locator.Register<OB_ERegistrationViewModel>();
  205. locator.Register<OB_ERegistrationFormViewModel>();
  206. locator.Register<OB_ERegistrationWalkinViewModel>();
  207.  
  208. locator.Register<OB_EventListViewModel>();
  209. locator.Register<OB_EventDetailViewModel>();
  210. locator.Register<OB_EventAttendeesViewModel>();
  211.  
  212. locator.Register<OB_CustomerNoteViewModel>();
  213. locator.Register<OB_CustomerDetailViewModel>();
  214. locator.Register<OB_CustomerListViewModel>();
  215.  
  216. locator.Register<OB_LeadListViewModel>();
  217. locator.Register<OB_LeadSearchViewModel>();
  218.  
  219. locator.Register<OB_ERegistrationEventViewModel>();
  220. locator.Register<OB_ERegistrationQRScanViewModel>();
  221.  
  222. locator.Register<OB_OfferFormValueInfoViewModel>();
  223. locator.Register<OB_OfferFormPropertyInfoViewModel>();
  224. locator.Register<OB_OfferFormPaymentScheduleViewModel>();
  225.  
  226. locator.Register<OB_ReservationMoneyViewModel>();
  227. locator.Register<OB_ReservationPropertyInfoViewModel>();
  228. locator.Register<OB_ReservationPaymentTermViewModel>();
  229. locator.Register<OB_ReservationPaymentScheduleViewModel>();
  230. locator.Register<OB_ReservationSignatureViewModel>();
  231. }
  232. }
  233. }
Add Comment
Please, Sign In to add comment