Beispiel #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;
                }
                }
            }
        }
Beispiel #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState, Resource.Layout.frmNewLicense);

            translateScreen();

            mustRefresh = false;

            licence = ReceivingDetailsActivity.licence;
            var tfWeight = FindViewById <EditText>(Resource.Id.tfWeight);



            // Récupération de la réception sélectionnée
            ReceptionWS reception = (ReceptionWS)ReceivingDetailsActivity.data;

            // Récupération de la liste de produit selon une reception grâce au web service Operations
            List <ProductDetailsWS> listProduct = OperationsWebService.getReceptionProductDetails(Configuration.securityToken, reception.ReceptionNRI, (int)Configuration.currentLanguage, Configuration.userInfos.NRI, Configuration.userInfos.Udp_Label).OfType <ProductDetailsWS>().ToList();

            // Creation liste de nom produit pour le spinner
            List <string> typeProd = new List <string>();

            foreach (ProductDetailsWS p in listProduct)
            {
                if (!(typeProd.Contains(p.code.ToString())))
                {
                    typeProd.Add(p.code.ToString());
                }
            }

            // Configuration du Spinner et de son Adapter par rapport à une liste de produit
            spinner = FindViewById <Spinner>(Resource.Id.spnProduct);
            var adapter = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem, typeProd);

            spinner.Adapter = adapter;

            dateSelect        = FindViewById <TextView>(Resource.Id.tvDate);
            dateSelect.Click += (sender, e) =>
            {
                DatePickerFragment frag = DatePickerFragment.NewInstance(delegate(DateTime time)
                {
                    date            = new DateTime();
                    date            = time;
                    dateSelect.Text = time.ToLongDateString();
                    Console.Write(time.ToLongDateString());
                });
                Console.Write(dateSelect.Text);
                frag.Show(FragmentManager, DatePickerFragment.TAG);
            };

            spinner.ItemSelected += (parent, args) =>
            {
                // Sauvegarde de la réception choisie
                licence.productNRI  = listProduct[args.Position].NRI;
                licence.productSSCC = listProduct[args.Position].SSCC[0];
                if (listProduct[args.Position].isFixedWeight)
                {
                    tfWeight.Text = listProduct[args.Position].defaultProductWeight.ToString();
                }
            };

            FindViewById <Button>(Resource.Id.btnConfirm).Click += async(sender, e) => {
                bool   sucess = true;
                string msg    = "";
                switch (Configuration.currentLanguage)
                {
                case CR_TTLangue.French_Canada:
                {
                    msg = "Veuillez renseigner les champs :  ";

                    break;
                }

                case CR_TTLangue.English:
                {
                    msg = "Please fill in the fields:  ";
                    break;
                }
                }

                if (date != null)
                {
                    licence.expirationDate = date;
                    licence.packingDate    = date;
                    licence.saleDate       = date;
                    licence.productionDate = date;
                }
                else
                {
                    msg   += "date, ";
                    sucess = false;
                }

                if (licence.productNRI == 0)
                {
                    switch (Configuration.currentLanguage)
                    {
                    case CR_TTLangue.French_Canada:
                    {
                        msg += "produit, ";

                        break;
                    }

                    case CR_TTLangue.English:
                    {
                        msg += "product, ";
                        break;
                    }
                    }

                    sucess = false;
                }

                if (tfWeight.Text != "")
                {
                    licence.weightKG = decimal.Parse(tfWeight.Text);
                    licence.weightLb = decimal.Parse(tfWeight.Text);
                }
                else
                {
                    switch (Configuration.currentLanguage)
                    {
                    case CR_TTLangue.French_Canada:
                    {
                        msg += "poids, ";

                        break;
                    }

                    case CR_TTLangue.English:
                    {
                        msg += "weight, ";
                        break;
                    }
                    }
                    sucess = false;
                }


                if (sucess == true)
                {
                    IsBusy = true;
                    await Task.Delay(50);

                    var produit = OperationsWebService.pickLicenseReception(Configuration.securityToken, licence, (int)Configuration.currentLanguage, Configuration.userInfos.Udp_NRI, Configuration.userInfos.Udp_Label);
                    if (produit == null)
                    {
                        Toast.MakeText(this, OperationsWebService.errorMessage, ToastLength.Long).Show();
                    }
                    else
                    {
                        if (ReceivingDetailsActivity.licences == null)
                        {
                            ReceivingDetailsActivity.licences = new List <LicenseWS>();
                        }
                        ReceivingDetailsActivity.licences.Add(licence);
                    }

                    IsBusy      = false;
                    mustRefresh = true;
                    Finish();
                }
                else
                {
                    msg.Remove(msg.Length - 2, 2);
                    Toast.MakeText(this, msg, ToastLength.Long).Show();
                }
            };
        }
        /*
         * Méthode qui permet de récupérer une reception par son code NRI
         *
         */
        public static ReceptionWS getReceptionByNRI(string userToken, int receptionNRI, int lang, int UdP_NRI, string UdP_Label)
        {
            ReceptionWS reception = new ReceptionWS();

            try
            {
                CR_ResultActionOfReceptionWS result;

                if (connectToWebServiceOperations())
                {
                    result = webServiceOperation.GetReceptionByNRI(userToken, receptionNRI, lang, UdP_NRI, UdP_Label);

                    if (result.Success)
                    {
                        reception = result.ReturnValue;
                    }
                    else
                    {
                        errorMessage = result.Errors[0].Message.ToString();

                        reception = null /* TODO Change to default(_) if this is not a reference type */;
                    }
                }
            }

            /*catch (WebException ex)
             * {
             *  switch (Configuration.currentLanguage)
             *  {
             *      case object _ when Ceritar.Common.CR_TTLangue.French:
             *          {
             *              MessageBox.Show(My.Resources.RessourceFR.errCannotReachWebservice);
             *              break;
             *          }
             *
             *      default:
             *          {
             *              MessageBox.Show(My.Resources.RessourceEN.errCannotReachWebservice);
             *              break;
             *          }
             *  }
             * }*/
            catch (Exception)
            {
                switch (Configuration.currentLanguage)
                {
                case CR_TTLangue.French_France:
                {
                    //MessageBox.Show(My.Resources.RessourceFR.errWebserviceGeneric);
                    break;
                }

                default:
                {
                    //MessageBox.Show(My.Resources.RessourceEN.errWebserviceGeneric);
                    break;
                }
                }
            }

            return(reception);
        }
Beispiel #4
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState, Resource.Layout.frmReceivingDetails);

            translateScreen();

            // Récupération de la réception
            ReceptionWS reception = (ReceptionWS)ReceivingActivity.data;

            // Action clic pour clear le EditText
            clearTextOnClick(FindViewById <ImageButton>(Resource.Id.imClear), FindViewById <EditText>(Resource.Id.tfLicenseReceivingDetails));

            // Remplir champs de données par rapport à la réception
            FindViewById <TextView>(Resource.Id.tvNumRecieving).Text = reception.ReceptionNRI.ToString();
            FindViewById <TextView>(Resource.Id.tvnameProvider).Text = reception.SupplierCode;

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

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

            // Action touche "Enter" pour accèder à la création d'une nouvelle licence
            EditText urlEditText = FindViewById <EditText>(Resource.Id.tfLicenseReceivingDetails);

            urlEditText.KeyPress += (object sender, View.KeyEventArgs e) => {
                e.Handled = false;
                CodeParser parser = new CodeParser();

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

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

                        if (licence.licenseCode == null)
                        {
                            licence.licenseCode = urlEditText.Text;
                            licence.parentNRI   = reception.ReceptionNRI;
                            data = reception;
                            StartActivity(new Intent(this, typeof(NewLicenseActivity)));
                        }
                        else
                        {
                            licence.parentNRI = reception.ReceptionNRI;
                            // Creation liste de nom produit
                            List <ProductDetailsWS> listProduct = OperationsWebService.getReceptionProductDetails(Configuration.securityToken, reception.ReceptionNRI, (int)Configuration.currentLanguage, Configuration.userInfos.Udp_NRI, Configuration.userInfos.Udp_Label).OfType <ProductDetailsWS>().ToList();


                            foreach (ProductDetailsWS pro in listProduct)
                            {
                                if (pro.SSCC.Contains(licence.productSSCC))
                                {
                                    licence.productNRI = pro.NRI;
                                }
                            }

                            if (licence.productNRI != 0)
                            {
                                data = reception;
                                var produit = OperationsWebService.pickLicenseReception(Configuration.securityToken, licence, (int)Configuration.currentLanguage, Configuration.userInfos.Udp_NRI, Configuration.userInfos.Udp_Label);
                                if (produit == null)
                                {
                                    Toast.MakeText(this, OperationsWebService.errorMessage, ToastLength.Long).Show();
                                    Recreate();
                                }
                                else
                                {
                                    Recreate();
                                }
                            }
                            else
                            {
                                if (Configuration.currentLanguage == CR_TTLangue.French_Canada)
                                {
                                    Toast.MakeText(this, Activities.ResourceFR.errProductNotPresent, ToastLength.Long).Show();
                                }
                                else
                                {
                                    Toast.MakeText(this, Activities.ResourceEN.errProductNotPresent, ToastLength.Long).Show();
                                }
                            }
                        }

                        e.Handled = true;
                    }
                    else
                    {
                        urlEditText.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.ResourceFR.errEmptyFieldLicense, ToastLength.Long).Show();
                            break;
                        }
                    }
                }
            };

            // 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   = reception;
                IsBusy = true;
                await Task.Delay(50);

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

            // Ne peut pas fonctionner, il faudrait ajouter une méthode dans les web services afin d'ajouter des licences sur une palette.

            /*// Action clic sur palette pour mettre toutes les licences crées sur la palette
             * FindViewById<Button>(Resource.Id.btnPalette).Click += async (sender, e) => {
             *  if (licences != null)
             *  {
             *
             *      IsBusy = true;
             *      await Task.Delay(50);
             *      var test1 = "1302";
             *      var test2 = "111";
             *      var codePalette = OperationsWebService.createPalletCode(Configuration.securityToken, ref test1, ref test2);
             *      string msg = "Licence non transférée : ";
             *      bool isSucess = true;
             *      licences.Remove(licence);
             *
             *      foreach (LicenseWS lic in licences)
             *      {
             *          if (!(OperationsWebService.relocateLicense(Configuration.securityToken, lic.licenseCode, codePalette, RELOCATION_DESTINATION.Pallet, Configuration.userInfos.warehouseNRI)))
             *          {
             *              isSucess = false;
             *              msg += lic.licenseCode + ", ";
             *          }
             *      }
             *      IsBusy = false;
             *      if (isSucess)
             *      {
             *          Toast.MakeText(this, "Les licences ont été transférées", ToastLength.Long).Show();
             *
             *      }
             *      else
             *      {
             *          Toast.MakeText(this, msg, ToastLength.Long).Show();
             *
             *      }
             *      Recreate();
             *  }
             *  else
             *  {
             *      Toast.MakeText(this, "Veuillez insérer des licences", ToastLength.Long).Show();
             *  }
             * };*/

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

                OperationsWebService.completeReception(Configuration.securityToken, reception.ReceptionNRI);
                IsBusy      = false;
                mustRefresh = true;

                Finish();
            };
        }