public MainPresenter()
 {
     using (var scope = Injector.Instance.InjectableContainer.BeginLifetimeScope())
     {
         getReposUse = scope.Resolve <GetReposUseCase>();
     }
 }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_main);
            InitViews();

            using (var scope = App.Container.BeginLifetimeScope())
            {
                reposUseCase = scope.Resolve <GetReposUseCase>();
            }
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            using (var scope = AppDelegate.Container.BeginLifetimeScope())
            {
                reposUseCase = scope.Resolve <GetReposUseCase>();
            }

            // Perform any additional setup after loading the view, typically from a nib.
            //Button.AccessibilityIdentifier = "myButton";
            //Button.TouchUpInside += delegate
            //{
            //    var title = string.Format("{0} clicks!", count++);
            //    Button.SetTitle(title, UIControlState.Normal);
            //};

            table_repos.RegisterNibForCellReuse(RepoCell.Nib, "cell_repo");
            table_repos.ReloadData();

            btn_load.TouchUpInside += delegate
            {
                Disposable = reposUseCase
                             .Get("jetruby")
                             .SubscribeOn(ThreadPoolScheduler.Instance)
                             .ObserveOn(new NSRunloopScheduler())
                             .Subscribe(
                    list => {
                    table_repos.Source = new RepoTableSource(list);
                    table_repos.ReloadData();
                },
                    error => {},
                    () => {}
                    );
            };
        }