コード例 #1
0
        async void NavigateTo(MenuItem menu, ILoginManager ilm, SmartMarktDatabase database)
        {
            Page displayPage = (Page)Activator.CreateInstance(menu.TargetType);
            await Detail.Navigation.PushAsync(displayPage);

            IsPresented = false;
        }
コード例 #2
0
        public ProductEntryPage(ILoginManager ilm, SmartMarktDatabase database)
        {
            _database = database;
            Title     = "Enter a Product";

            var entry  = new Entry();
            var button = new Button
            {
                Text = "Add"
            };

            //button.Clicked += (sender, e) =>
            //{
            //    var Product = entry.Text;
            //    var address = entry.Text;

            //    _database.AddProduct(Product, address,0);
            //};

            Content = new StackLayout
            {
                Spacing  = 20,
                Padding  = new Thickness(20),
                Children = { entry, button },
            };
        }
コード例 #3
0
        public LoginPage(ILoginManager ilm, SmartMarktDatabase database)
        {
            InitializeComponent();

            var button = this.FindByName <Button>("button");

            button.Clicked += async(sender, e) =>
            {
                if (String.IsNullOrEmpty(username.Text) || String.IsNullOrEmpty(password.Text))
                {
                    DisplayAlert("Validation Error", "Productname and Password are required", "Re-try");
                }
                else
                {
                    //    string validated= await GetLoginValidation(Productname.Text, password.Text);
                    // REMEMBER LOGIN STATUS!
                    //  if (validated.Equals("OK"))
                    //  {
                    App.Current.Properties["IsLoggedIn"] = true;
                    ilm.ShowMainPage();
                    //  }
                    //   else {
                    //   DisplayAlert("Validation Error", "Productname or Password wrong", "Re-try");
                    //  }
                }
            };

            username = this.FindByName <Entry>("username");
            password = this.FindByName <Entry>("password");
        }
コード例 #4
0
        public RootPage(ILoginManager ilm, SmartMarktDatabase database)
        {
            var menuPage = new MenuPage();

            menuPage.Menu.ItemTapped += (sender, e) => NavigateTo(e.Item as MenuItem, ilm, database);

            Master = menuPage;
            Detail = new NavigationPage(new MainPage());
        }
コード例 #5
0
        public LoginPage_OLD(ILoginManager ilm, SmartMarktDatabase database)
        {
            var button = new Button {
                Text = "Login"
            };

            button.Clicked += async(sender, e) =>
            {
                if (String.IsNullOrEmpty(Productname.Text) || String.IsNullOrEmpty(password.Text))
                {
                    DisplayAlert("Validation Error", "Productname and Password are required", "Re-try");
                }
                else
                {
                    //    string validated= await GetLoginValidation(Productname.Text, password.Text);
                    // REMEMBER LOGIN STATUS!
                    //  if (validated.Equals("OK"))
                    //  {
                    App.Current.Properties["IsLoggedIn"] = true;
                    ilm.ShowMainPage();
                    //  }
                    //   else {
                    //   DisplayAlert("Validation Error", "Productname or Password wrong", "Re-try");
                    //  }
                }
            };

            Productname = new Entry {
                Text = ""
            };
            password = new Entry {
                Text = ""
            };
            Content = new StackLayout
            {
                Padding  = new Thickness(10, 40, 10, 10),
                Children =
                {
                    new Label {
                        Text = "Login", FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label))
                    },
                    new Label {
                        Text = "Productname"
                    },
                    Productname,
                    new Label {
                        Text = "Password"
                    },
                    password,
                    button
                }
            };
        }
コード例 #6
0
        public LoginModalPage(ILoginManager ilm, SmartMarktDatabase database)
        {
            login  = new LoginPage(ilm, database);
            create = new CreateAccountPage(ilm);
            this.Children.Add(login);
            this.Children.Add(create);

            MessagingCenter.Subscribe <ContentPage>(this, "Login", (sender) => {
                this.SelectedItem = login;
            });
            MessagingCenter.Subscribe <ContentPage>(this, "Create", (sender) => {
                this.SelectedItem = create;
            });
        }
コード例 #7
0
        public ProductsPage()
        {
            InitializeComponent();

            SmartMarktDatabase database = new SmartMarktDatabase();

            _database = database;
            Title     = "Productos";
            var Products = _database.GetProducts();

            productsList = this.FindByName <ListView>("productsList");

            var layoutAddButton = this.FindByName <StackLayout>("addButton");
            var addButton       = new ActionButton();

            addButton.ButtonIcon = "Nuevo";
            layoutAddButton.Children.Add(addButton);

            productsList.ItemsSource = Products;

            this.CurrentPageChanged += (sender, e) => {
                Refresh();
            };

            var aceptar = new Button
            {
                Text = "Aceptar"
            };

            var buscar      = this.FindByName <Button>("buscar");
            var buscarEntry = this.FindByName <Entry>("buscarEntry");
            var addEntry    = new Entry();
            var addBarcode  = new Entry();

            addButton.OnTouchesBegan += (sender, e) =>
            {
                Type TargetType = typeof(FichaProducto);
                NavigationTo(new FichaProducto(null));
            };

            aceptar.Clicked += (sender, e) =>
            {
                var  Product    = addEntry.Text;
                var  address    = addEntry.Text;
                long newBarCode = 0;
                var  barCodeAdd = long.TryParse(addBarcode.Text, out newBarCode);;


                addEntry.Text = "";
                Refresh();
                returnToList();
            };

            buscar.Clicked += async(sender, e) =>
            {
                String result = null;
                try {
                    var scanner = DependencyService.Get <IQrCodeScanningService>();
                    result = await scanner.ScanAsync();
                } catch (Exception ex) {
                    Console.Write(ex.ToString());
                }
                if (result != null)
                {
                    buscarEntry.Text = result;
                }
            };

            buscarEntry.TextChanged += (object sender, TextChangedEventArgs e) =>
            {
                var  newText = e.NewTextValue;
                long barCode = 0;
                long.TryParse(newText, out barCode);
                productsList.ItemsSource = _database.GetProduct(newText, barCode);
            };



            var ProductEntryContentPage = new ContentPage
            {
                Padding = new Thickness(20),
                Content = new StackLayout
                {
                    Children = { addEntry, addBarcode, aceptar }
                }
            };


            Children.Add(ProductEntryContentPage);

            SelectedItem = Children.ElementAt <ContentPage>(0);


            productsList.ItemTapped += (sender, e) => {
                Type TargetType = typeof(FichaProducto);
                NavigationTo(new FichaProducto((Product)e.Item));
            };
        }
コード例 #8
0
        public FichaProducto(Product product)
        {
            InitializeComponent();

            database = new SmartMarktDatabase();
            if (product == null)
            {
                product = new Product();
            }

            Title = "Editar productos";
            var layoutButton = this.FindByName <StackLayout>("layoutButton");
            var editButton   = new ActionButton();

            editButton.ButtonColor = Color.FromHex("#E91E63");
            editButton.ButtonIcon  = "Editar";

            Entry barCodeEntry = this.FindByName <Entry>("BarCodeEntry");

            barCodeEntry.IsEnabled = false;

            Entry nameEntry = this.FindByName <Entry>("NameEntry");

            nameEntry.IsEnabled = false;

            Label name = new Label();


            name.Text = product.name;
            var cerrar = new Button {
                Text = "Cerrar"
            };

            cerrar.Clicked += async(sender, e) =>
            {
                try
                {
                    await((RootPage)App.Current.MainPage).Detail.Navigation.PopAsync();
                }
                catch (Exception ex) {
                    Console.Write(ex.ToString());
                }
            };


            editButton.OnTouchesBegan += (sender, e) =>
            {
                BarCodeEntry.IsEnabled                   = !BarCodeEntry.IsEnabled;
                NameEntry.IsEnabled                      = !NameEntry.IsEnabled;
                PriceEntry.IsEnabled                     = !PriceEntry.IsEnabled;
                CategoryEntry.IsEnabled                  = !CategoryEntry.IsEnabled;
                FamilyEntry.IsEnabled                    = !FamilyEntry.IsEnabled;
                ValorEnergeticoEntry.IsEnabled           = !ValorEnergeticoEntry.IsEnabled;
                GrasasSaturadasEntry.IsEnabled           = !GrasasSaturadasEntry.IsEnabled;
                GrasasMonoinsaturadasEntry.IsEnabled     = !GrasasMonoinsaturadasEntry.IsEnabled;
                GrasasPolisaturadasEntry.IsEnabled       = !GrasasPolisaturadasEntry.IsEnabled;
                HidratosDeCarbonoEntry.IsEnabled         = !HidratosDeCarbonoEntry.IsEnabled;
                HidratosDeCarbonoAzucaresEntry.IsEnabled = !HidratosDeCarbonoAzucaresEntry.IsEnabled;
                FibraEntry.IsEnabled                     = !FibraEntry.IsEnabled;
                ProteinasEntry.IsEnabled                 = !ProteinasEntry.IsEnabled;
                SalEntry.IsEnabled = !SalEntry.IsEnabled;


                if (NameEntry.IsEnabled)
                {
                    editButton.ButtonIcon = "Guardar";
                }
                else
                {
                    database.AddProduct(NameEntry.Text, Convert.ToDouble(PriceEntry.Text), Convert.ToInt64(BarCodeEntry.Text));

                    editButton.ButtonIcon = "Editar";
                }
            };

            layoutButton.Children.Add(editButton);
        }