예제 #1
0
        /// <summary>
        /// Application developers override this method to perform actions when the application starts.
        /// </summary>
        /// <remarks>
        /// To be added.
        /// </remarks>
        protected override async void OnStart()
        {
            // TODO: Logging
            Console.WriteLine("In On Start");

            if (App.Configuration != null)
            {
                if (App.Configuration.EnableAutoUpdates)
                {
                    Distribute.SetEnabledAsync(true).Wait();
                    Distribute.CheckForUpdate();
                }
                else
                {
                    Distribute.DisableAutomaticCheckForUpdate();
                }

                Distribute.ReleaseAvailable = this.OnReleaseAvailable;
                Distribute.UpdateTrack      = UpdateTrack.Public;

                AppCenter.Start("android=10210e06-8a11-422b-b005-14081dc56375;", typeof(Distribute));
            }

            // Handle when your app starts
            ILoginPresenter loginPresenter = App.Container.Resolve <ILoginPresenter>();

            // show the login page
            await loginPresenter.Start();
        }
예제 #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            StatusBarCompat.SetOrdinaryToolBar(this);
            handler        = new Handler();
            loginPresenter = new LoginPresenter(this);
            toolbar        = FindViewById <Toolbar>(Resource.Id.toolbar);
            toolbar.SetNavigationIcon(Resource.Drawable.back_24dp);
            SetSupportActionBar(toolbar);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            toolbar.SetNavigationOnClickListener(this);

            progressBar     = FindViewById <ProgressBar>(Resource.Id.progressBar);
            progressBar.Max = 100;
            dialog          = new ProgressDialog(this);
            dialog.SetCancelable(false);
            dialog.SetMessage("正在获取token");

            loginView = FindViewById <WebView>(Resource.Id.loginView);
            loginView.Settings.JavaScriptEnabled = true;
            loginView.Settings.SetSupportZoom(true);
            loginView.Settings.BuiltInZoomControls = true;
            loginView.SetWebChromeClient(new LoginWebChromeClient(progressBar));
            loginView.SetWebViewClient(new LoginWebViewClient(this));
            loginView.LoadUrl(string.Format(ApiUtils.Authorize, Resources.GetString(Resource.String.ClientId)) + new Random().Next(1000, 9999));
        }
예제 #3
0
        public Login()
        {
            InitializeComponent();

            /* Presenter */
            presenter = new LoginPresenter(this);
        }
        public LoginWindow(User user)
        {
            InitializeComponent();
            Title += VersionHelper.GetVersionString();
            User = user;

            _presenter = Bootstrapper.GetPresenter<ILoginView, ILoginPresenter>(this);
            _presenter.InitializeScreen();
        }
예제 #5
0
        /// <summary>
        /// Application developers override this method to perform actions when the application starts.
        /// </summary>
        /// <remarks>
        /// To be added.
        /// </remarks>
        protected override async void OnStart()
        {
            this.AnalysisLogger.Initialise(true, true, "e5e42a79-6306-4795-a4e1-4988146ec234");

            // Handle when your app starts
            ILoginPresenter loginPresenter = App.Container.Resolve <ILoginPresenter>();

            // show the login page
            await loginPresenter.Start();
        }
예제 #6
0
        public SignUpPresenter(Views.ISignUpView view, Model.SchoolDBEntities data, ILoginPresenter loginPresenter)
        {
            this.view           = view;
            view.Presenter      = this;
            this.data           = data;
            this.loginPresenter = loginPresenter;

            // Load entities into local cache
            data.Parents.LoadAsync();
        }
예제 #7
0
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            if (LoginPresenter != null)
            {
                LoginPresenter.CheckAuthResponse(url.AbsoluteString);
                LoginPresenter = null;
            }

            return(true);
        }
예제 #8
0
        public ApplicationController(ILoginPresenter loginFormPresenter, IMessageService messageService,
                                     DatabaseContext dbContext, IMainPresenter mainFormPresenter)
        {
            MessageService = messageService;
            Context        = dbContext;

            LoginFormPresenter = loginFormPresenter;
            LoginFormPresenter.OnPresenterClosed += (Tuple <LoginAttemptResult, Employee> obj) =>
            {
                try
                {
                    LoginAttemptResult = obj.Item1;
                    if (LoginAttemptResult == LoginResults.Success)
                    {
                        User = new User(Context, obj.Item2);
                    }
                }
                catch (Exception e)
                {
                    MessageService.
                    ShowError(e.Message + " Программа не может продолжать свою работу.");
                    Environment.Exit(0);
                }
            };

            MainFormPresenter = mainFormPresenter;
            MainFormPresenter.PresenterClosed    += (reloginAttempt) => this.reloginAttempt = reloginAttempt;
            MainFormPresenter.EntityTypeReceived += (type) =>
            {
                var tablePresenter = (ITablePresenter)Scope.Resolve(type);
                tablePresenter.FormClosed += (entityType) => MainFormPresenter.EnableButtAfterFormClosure(entityType);

                tablePresenter.FillingRequired += (user, model, fillingType, presenterType) =>
                {
                    var fillingPresenter = (IFillingPresenter)Scope.Resolve(presenterType);
                    fillingPresenter.FillingCompleted += (fillType) => tablePresenter.ApplyFilling(fillingType);
                    fillingPresenter.Run(user, model, fillingType);
                    fillingPresenter.PresenterClosure += () => tablePresenter.EnableFormsButts();
                };

                tablePresenter.RequestSearchCriteria += (entityType) =>
                {
                    var searchPresenter = Scope.Resolve <ISearchPresenter>();

                    searchPresenter.ReturnSearchCriteria += (searchBy, searchValue) =>
                                                            tablePresenter.ApplySearchCriteria(searchBy, searchValue);
                    searchPresenter.PresenterClosure += () => tablePresenter.EnableFormsButts();

                    searchPresenter.Run(entityType);
                };

                tablePresenter.Run(User);
            };
            MainFormPresenter.InfoRequired += (infoType) => Scope.Resolve <IInfoPresenter>().Run(infoType);
        }
예제 #9
0
        private void ShowLogin()
        {
            _loginPresenter =
            New
               .Presenter<ILoginPresenter>()
               .ManagedBy(_windowManager)
               .Window.ClosedCallback(OnLoginWindowClosed).Modal.Size(400, 300)
               .Return;

             _loginPresenter.LoginSuccess += ()=> _loginSuccess = true;
             _loginPresenter.Activate();
        }
예제 #10
0
        public LoginWindow(User user) {
            Log.Debug("ctor");
            Build();

            AddTooltips();

            Title += VersionHelper.GetVersionString();
            User = user;

            AddSpinnerControl();

            this._presenter = Bootstrapper.GetPresenter<ILoginView, ILoginPresenter>(this);
            this._presenter.InitializeScreen();
        }
예제 #11
0
        private void ActiveXComponent_Load(object sender, EventArgs e)
        {
            ComposContainer.Instance().Compose(this);

            _initModel.Init();

            _loginPresenter            = new LoginPresenter(new LoginControl());
            _loginPresenter.Connected += ConnectionCompleted;

            LoadLoginView(_loginPresenter.GetView());
            //_loginPresenter.Connect();

            _videoPresenter = new VideoPresenter(new CameraViewer(), CloseVideoControl);
        }
예제 #12
0
        public AdminPresenter(IAdminView view, SchoolDBEntities data, IUser user, ILoginPresenter loginPresenter)
        {
            this.view           = view;
            view.Presenter      = this;
            this.data           = data;
            this.user           = user;
            this.loginPresenter = loginPresenter;

            var admin = user as Model.Admin;

            view.AdminLabelText = admin.admin_firstN + ' ' + admin.admin_lastN;

            view.FillInProfile(new string[] { "Учител", "Ученик", "Родител" });
            view.FillInWhichGrade(new string[] { "8", "9", "10", "11", "12" });
        }
예제 #13
0
        public LoginWindow(User user)
        {
            Log.Debug("ctor");
            Build();

            AddTooltips();

            Title += VersionHelper.GetVersionString();
            User   = user;

            AddSpinnerControl();

            this._presenter = Bootstrapper.GetPresenter <ILoginView, ILoginPresenter>(this);
            this._presenter.InitializeScreen();
        }
        /// <summary>
        /// Execute login command
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public static ICommandResult Login(IEntity entity)
        {
            if (entity.GetType() == typeof(LoginData))
            {
                ILoginPresenter presenter = ServiceLocator.GetObject <ILoginPresenter>(ServiceLocator.GetObject <ILoginView>());
                var             login     = (LoginData)entity;

                presenter.Login(null, ref login);
                entity = login;

                return(presenter);
            }

            throw new ArgumentOutOfRangeException("entity", string.Format("{0} Entity is not supported.", entity.GetType()));
        }
예제 #15
0
        void ConstructUseCases(IAuthController authController,
                               ILoginPresenter loginPresenter,
                               IAlertPresenter alertPresenter,
                               IUserAccountRepository userAccountRepository)
        {
            sceneUseCase = new SceneTransitionUseCase();
            alertUseCase = new AlertUseCase(alertPresenter, this);
            var authDelegates = new IAuthResultDelegate[] {
                alertUseCase as IAuthResultDelegate,
                sceneUseCase as IAuthResultDelegate
            };

            authUseCase = new AuthUseCase(loginPresenter,
                                          authController,
                                          userAccountRepository,
                                          authDelegates, this);
        }
예제 #16
0
 public RootPresenter(IRootView rootView,
                      IErrorMessageView errorMessageView,
                      ILoginPresenter loginPresenter,
                      IRegistrationPresenter registrationPresenter,
                      IHeaderViewPresenter headerViewPresenter,
                      IMainPresenter mainPresenter,
                      ISession session)
 {
     _rootView              = rootView;
     _errorMessageView      = errorMessageView;
     _loginPresenter        = loginPresenter;
     _registrationPresenter = registrationPresenter;
     _mainPresenter         = mainPresenter;
     _headerViewPresenter   = headerViewPresenter;
     _session = session;
     SubscribeToEvents();
 }
예제 #17
0
        public ParentPresenter(Views.IParentView view, Model.SchoolDBEntities data, Model.IUser user, ILoginPresenter loginPresenter)
        {
            this.view           = view;
            view.Presenter      = this;
            this.data           = data;
            this.user           = user;
            this.loginPresenter = loginPresenter;

            // View initialization
            var parent = user as Model.Parent;

            view.ParentNameLabelText = parent.parent_firstN + ' ' + parent.parent_lastN;

            // Get all studets associated with this parent and transform them into a structure that is databinded to a combobox
            var students = parent.Students.Select(x => Tuple.Create(x.student_id, x.student_firstN + ' ' + x.student_lastN));

            view.FillInCorrespondingStudents(students.ToList());
            view.ComboBoxStudentSelectedIndex = -1;
        }
예제 #18
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            handler        = new Handler();
            loginPresenter = new LoginPresenter(this);
            StatusBarCompat.SetOrdinaryToolBar(this);

            toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);
            toolbar.SetNavigationIcon(Resource.Drawable.back_24dp);
            SetSupportActionBar(toolbar);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            toolbar.SetNavigationOnClickListener(this);

            editAccount  = FindViewById <EditText>(Resource.Id.account);
            editPassword = FindViewById <EditText>(Resource.Id.password);
            btnLogin     = FindViewById <Button>(Resource.Id.login);
            btnLogin.SetOnClickListener(this);
            dialog = new ProgressDialog(this);
            dialog.SetCancelable(false);
        }
예제 #19
0
        public TeacherPresenter(Views.ITeacherView view, Model.SchoolDBEntities data, Model.IUser user, ILoginPresenter loginPresenter)
        {
            this.view           = view;
            view.Presenter      = this;
            this.data           = data;
            this.user           = user;
            this.loginPresenter = loginPresenter;

            var teacher = user as Model.Teacher;

            view.TeacherNameLabelText = teacher.teacher_firstN + ' ' + teacher.teacher_lastN;


            var subject = teacher.Subjects.Select(x => Tuple.Create(x.subject_id, x.subject_name));

            view.FIllInCorrespondingSubjects(subject.ToList());
            view.ComboBoxSubjectSelectedIndex = -1;
            view.ComboBoxStudentSelectedIndex = -1;

            view.FillInGrades(new string[] { "6", "5", "4", "3", "2" });
            view.FillInWhichGrade(new string[] { "8", "9", "10", "11", "12" });
        }
예제 #20
0
 public LoginPresenterShould()
 {
     _view    = new Mock <ILoginView>();
     _service = new Mock <IAccountService>();
     _sut     = new LoginPresenter(_view.Object, _service.Object);
 }
예제 #21
0
 public static ITeacherPresenter GetTeacherPresenter(Views.ITeacherView view, Model.SchoolDBEntities data, Model.IUser currentUser, ILoginPresenter loginPresenter) => new TeacherPresenter(view, data, currentUser, loginPresenter);
예제 #22
0
 public static ISignUpPresenter GetSignUpPresenter(Views.ISignUpView view, Model.SchoolDBEntities data, ILoginPresenter loginPresenter) => new SignUpPresenter(view, data, loginPresenter);
예제 #23
0
 public static IAdminPresenter GetAdminPresenter(Views.IAdminView view, Model.SchoolDBEntities data, Model.IUser currentUser, ILoginPresenter loginPresenter) => new AdminPresenter(view, data, currentUser, loginPresenter);
예제 #24
0
 public LoginForm()
 {
     InitializeComponent();
     presenter = new LoginPresenter(this);
     presenter.SetDefaultSettings();
 }
예제 #25
0
 public LoginForm(IPresenterProvider presenterProvider)
 {
     InitializeComponent();
     _presenter = presenterProvider.Get <ILoginPresenter, ILoginView>(this);
 }
 public CustomWebViewClient(ILoginPresenter presenter)
 {
     this.presenter = presenter;
 }
예제 #27
0
 public override void OnCreate(Bundle savedInstanceState)
 {
     base.OnCreate(savedInstanceState);
     presenter = new LoginPresenter(this);
 }
예제 #28
0
 public void LoginSuccess(ILoginPresenter presenter)
 {
     loggedIn = presenter.LoggedInUser;
     view.SetUserInfo(loggedIn.FirstName, loggedIn.Nick);
 }