예제 #1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState, Resource.Layout.frmProductDetails);

            translateScreen();

            List <ProductDetailsWS> listProduct = null;

            if (CsDetailsActivity.typeCS == TYPE_CS.RECEPTION)
            {
                // Récupération de la réception sélectionnée
                Console.Write("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n lalilal \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ");
                ReceptionWS reception = (ReceptionWS)ReceivingDetailsActivity.data;
                Console.Write("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n lolilol \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ");
                // Récupération de la liste de produit selon une reception grâce au web service Operations
                listProduct = OperationsWebService.getReceptionProductDetails(Configuration.securityToken, reception.ReceptionNRI, (int)Configuration.currentLanguage, Configuration.userInfos.Udp_NRI, Configuration.userInfos.Udp_Label).OfType <ProductDetailsWS>().ToList();
            }
            else if (CsDetailsActivity.typeCS == TYPE_CS.COMMANDE)
            {
                // Récupération de la réception sélectionnée
                SaleWS sale = (SaleWS)PickingListActivity.data;
                // Récupération de la liste de produit selon une reception grâce au web service Operations
                listProduct = OperationsWebService.getSaleProductDetails(Configuration.securityToken, sale.saleNRI, (int)Configuration.currentLanguage, Configuration.userInfos.Udp_NRI).OfType <ProductDetailsWS>().ToList();
            }

            // Configuration de la ListView et de son Adapter par rapport à une liste de produit
            ListView list    = FindViewById <ListView>(Resource.Id.lvDetailsProduct);
            var      adapter = new ProductCustomAdapter(this, listProduct);

            list.Adapter = adapter;

            // Action clic bouton pour sélectionner un produit
            list.ItemClick += (parent, args) =>
            {
                // Sauvegarde du produit sélectionné
                data = listProduct[args.Position];
                StartActivity(new Intent(this, typeof(CsDetailsActivity)));
            };

            // Si pas de liste de produit alors on previent l'utilisateur avec un msg
            if (listProduct.Count == 0)
            {
                switch (Configuration.currentLanguage)
                {
                case CR_TTLangue.French_Canada:
                {
                    Toast.MakeText(this, "Pas de produit", ToastLength.Long).Show();

                    break;
                }

                case CR_TTLangue.English:
                {
                    Toast.MakeText(this, "No product", ToastLength.Long).Show();
                    break;
                }
                }
            }
        }
예제 #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState, Resource.Layout.frmPickingDetails);

            translateScreen();

            clearTextOnClick(FindViewById <ImageButton>(Resource.Id.imClear), FindViewById <EditText>(Resource.Id.tfLicensePickingDetails));

            SaleWS sale = (SaleWS)PickingListActivity.data;


            // Remplir champs de données par rapport à la réception
            FindViewById <TextView>(Resource.Id.tvNumPicking).Text = sale.saleNRI.ToString();
            FindViewById <TextView>(Resource.Id.tvnameClient).Text = sale.customerCode;

            // Action clic sur détails pour accèder à la liste de produit d'une reception
            FindViewById <ImageButton>(Resource.Id.imDetails).Click += async(sender, e) => {
                data   = sale;
                IsBusy = true;
                await Task.Delay(50);

                StartActivity(new Intent(this, typeof(ProductDetailsActivity)));
                IsBusy = false;
            };

            // Action clic sur bouton pour completer une reception
            FindViewById <Button>(Resource.Id.btnEndPicking).Click += async(sender, e) => {
                IsBusy = true;
                await Task.Delay(50);

                OperationsWebService.completeSale(Configuration.securityToken, sale.saleNRI);
                IsBusy      = false;
                mustRefresh = true;
                Finish();
            };

            // Affichage de la dernière licence créer, si pas de licence alors on n'affiche rien
            if (licence != null)
            {
                // Creation liste de nom produit
                List <ProductDetailsWS> listProduct = OperationsWebService.getSaleProductDetails(Configuration.securityToken, sale.saleNRI, (int)Configuration.currentLanguage, Configuration.userInfos.Udp_NRI).OfType <ProductDetailsWS>().ToList();

                foreach (ProductDetailsWS p in listProduct)
                {
                    // On parcourt la liste de produit pour trouver le produit qui correspond à la licence
                    foreach (PickedLicensesWS l in p.pickedProducts)
                    {
                        // Puis on affichage les information dans les TextView
                        if (licence.licenseCode == l.code)
                        {
                            FindViewById <TextView>(Resource.Id.tvNameProduct).Text = p.code;
                            FindViewById <TextView>(Resource.Id.tvAmountQte).Text   = p.qtyPicked.ToString();
                            FindViewById <TextView>(Resource.Id.tvAmountPoids).Text = l.weight.ToString() + " kg";
                        }
                    }
                }
            }

            EditText editText = FindViewById <EditText>(Resource.Id.tfLicensePickingDetails);

            editText.KeyPress += (object sender, View.KeyEventArgs e) => {
                e.Handled = false;

                CodeParser parser = new CodeParser();


                if (e.Event.Action == KeyEventActions.Down && e.KeyCode == Keycode.Enter)
                {
                    if (editText.Text.ToString() != "")
                    {
                        editText.Text.Replace(" ", "");
                        licence = new LicenseWS();

                        ParsedLicence parsedLicence = parser.getLicense(editText.Text);
                        licence = Converts.ParsedLicToLicenceWS(parsedLicence);

                        if (licence.licenseCode == null)
                        {
                            licence.licenseCode = editText.Text;
                        }

                        licence.parentNRI = sale.saleNRI;

                        var productResult = OperationsWebService.PickLicenseSale(Configuration.securityToken, licence, Configuration.userInfos.warehouseNRI, Configuration.userInfos.warehouseNRI, Configuration.userInfos.Udp_NRI);
                        if (productResult == null)
                        {
                            Toast.MakeText(this, OperationsWebService.errorMessage, ToastLength.Long).Show();
                            OperationsWebService.errorMessage = "";
                        }
                        else
                        {
                            switch (Configuration.currentLanguage)
                            {
                            case CR_TTLangue.French_Canada:
                            {
                                Toast.MakeText(this, "Licence ajoutée", ToastLength.Long).Show();

                                break;
                            }

                            case CR_TTLangue.English:
                            {
                                Toast.MakeText(this, "License added", ToastLength.Long).Show();
                                break;
                            }
                            }
                        }
                        data = sale;

                        Recreate();
                        e.Handled = true;
                    }
                    else
                    {
                        editText.Text = "";
                        switch (Configuration.currentLanguage)
                        {
                        case CR_TTLangue.French_Canada:
                        {
                            Toast.MakeText(this, Activities.ResourceFR.errEmptyFieldLicense, ToastLength.Long).Show();

                            break;
                        }

                        case CR_TTLangue.English:
                        {
                            Toast.MakeText(this, Activities.ResourceEN.errEmptyFieldLicense, ToastLength.Long).Show();
                            break;
                        }
                        }
                    }
                }
            };
        }