Пример #1
0
        private async void LoginUser()
        {
            if (initialized == true)
            {
                return;
            }
            IsBusy = true;

            var rec = await loginService.LoginAsync(Login, Password);

            if (rec != null)
            {
                List <UserOrgAndSklad> recOrgAndSklad = await loginService.AddSkladAndOrgForUser(rec.MapsUserName);

                foreach (var data in recOrgAndSklad)
                {
                    if (data.NameOrg == null && recOrgAndSklad.Count() == 1)//если пользователю не привязаны клиенты, то просто впускаем его в приложение
                    {
                        IsBusy      = false;
                        initialized = true;
                        await Navigation.PushAsync(new MainPage());
                    }
                    else//иначе переходим на страницу выбора клиента и склада
                    {
                        IsBusy      = false;
                        initialized = true;
                        await Navigation.PushAsync(new AddOrgForUserPage());

                        break;
                    }
                }

                //очищаем стек сраниц
                var existingPages = Navigation.NavigationStack.ToList();
                foreach (var page in existingPages)
                {
                    Navigation.RemovePage(page);
                }
            }

            else
            {
                IsBusy      = false;
                initialized = true;
                await Navigation.PushAsync(new ErrorLogin());

                //очищаем стек страниц
                var existingPages = Navigation.NavigationStack.ToList();
                foreach (var page in existingPages)
                {
                    Navigation.RemovePage(page);
                }
            }
        }