/* * Méthode qui permet de cueillir une licence * */ public static ProductDetailsWS pickLicenseInterWarehouse(string usertoken, LicenseWS lic) { CR_ResultActionOfProductDetailsWS result = new CR_ResultActionOfProductDetailsWS(); try { if (connectToWebServiceOperations()) { result = webServiceOperation.PickLicenseInterWarehouse(usertoken, lic); if (!result.Success) { errorMessage = result.Errors[0].Message.ToString(); } } } /*catch (WebException ex) * { * switch (Configuration.currentLanguage) * { * case CR_TTLangue.French_France: * { * //MessageBox.Show(My.Resources.RessourceFR.errCannotReachWebservice); * break; * } * * default: * { * //MessageBox.Show(My.Resources.RessourceEN.errCannotReachWebservice); * break; * } * } * result.Success = false; * }*/ 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; } } result.Success = false; } return(result.ReturnValue); }
public static LicenseWS ParsedLicToLicenceWS(ParsedLicence parsedLic) { LicenseWS result = new LicenseWS(); result.productSSCC = parsedLic.codeSSCC; result.weightKG = parsedLic.weightKG; result.weightLb = parsedLic.weightLb; result.packingDate = parsedLic.packingDate; result.productionDate = parsedLic.productionDate; result.expirationDate = parsedLic.ExpirationDate; result.saleDate = parsedLic.SaleDate; result.licenseCode = parsedLic.palletCode; return(result); }
public static ProductDetailsWS PickLicenseSale(string userToken, LicenseWS license, int lang, int warehouseNRI, int UdP_NRI) { ProductDetailsWS currentProduct = new ProductDetailsWS(); CR_ResultActionOfProductDetailsWS result; if (connectToWebServiceOperations()) { result = webServiceOperation.PickLicenseSale(userToken, license, lang, warehouseNRI, UdP_NRI); if (result.Success) { currentProduct = result.ReturnValue; } else { errorMessage = result.Errors[0].Message.ToString(); currentProduct = null /* TODO Change to default(_) if this is not a reference type */; } } return(currentProduct); }
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 le détail d'un produit grace à une licence * */ public static ProductDetailsWS pickLicenseReception(string userToken, LicenseWS license, int lang, int UdP_NRI, string UdP_Label) { ProductDetailsWS currentProduct = new ProductDetailsWS(); try { CR_ResultActionOfProductDetailsWS result; if (connectToWebServiceOperations()) { result = webServiceOperation.PickLicenseReception(userToken, license, lang, UdP_NRI, UdP_Label); if (result.Success) { currentProduct = result.ReturnValue; } else { errorMessage = result.Errors[0].Message.ToString(); currentProduct = 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(currentProduct); }
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(); }; }
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; } } } } }; }