Génération d'un numéro de client unique au format : XX999999
cs_g_marvin
Messages postés17Date d'inscriptionvendredi 9 juillet 2004StatutMembreDernière intervention 3 octobre 2005
-
26 avril 2005 à 17:21
ricklekebekoi
Messages postés303Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 avril 2009
-
26 avril 2005 à 21:27
Un numéro de client unique en base pour affecter a un nouveau client.
X : Caractère Alphabetique
9 : Chiffre
Contrainte historique : à l'origine les numéros de client étaient créés sur ce format de manière aléatoire, il est important de vérifier que le numéro de client générer n'est pas attribué
Voici la structure de ma classe :
using System;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
using WO.Common;
using WO.DataAccess;
using WO.Business.Products;
using WO.Persistence;
namespace WO.Business.Customers
{
public class Customer
{
#region Members
private int _customerId = 0;
private string _noClient;
#endregion
#region GetSetters
public int CustomerId { get { return _customerId; } }
public string No_Client { get { return _noClient; } set { _noClient = value; } }
#endregion
public Customer()
{
_customerId = 0;
}
public Customer(int customerId)
{
_customerId = customerId;
}
public void CreateNoClient()
{
string listChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// TODO:
// je veux Créer la boucle qui permet de générer le numéro de client
// je veuxCréer une exception spécifique lorsqu'on va au bout de la boucle,
//lorsqu'il n'y a plus de numéros de client disponibles!
Ensuite, vis-a-vis le TODO.... ah et je m'excuse d'avance d'utiliser le += au lieu du Append que je n'ai jamais vraiment utiliser jusqu'a présent, les amateurs de perfs me corrigeront
string Final;
bool valide = false;
while( !valide )
{
Final = "";
Final += listChar[ Hasard.Random( 26 ) ];
Final += listChar[ Hasard.Random( 26 ) ];
Final += Hasard.Random( 9 );
Final += Hasard.Random( 9 );
Final += Hasard.Random( 9 );
Final += Hasard.Random( 9 );
Final += Hasard.Random( 9 );
Final += Hasard.Random( 9 );
// ici tu recherche dans ta liste savoir si il existe
valide = !TrouveDansTaListe();
}
Il y a une maniere plus propre de le faire et plus rapide comem dit plus haut, mais celle-ci fonctionnera très bien.
ricklekebekoi
Messages postés303Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 avril 20095 26 avril 2005 à 21:27
sinon, pour savoir si toutes les possibilités ont étés effeurées, vérifier si le nombre d'entré est égal a 359 254 116 soit le maximu mde possibilités si je ne me suis pas trompé