public FrmListDeclaration(DeclarationController controller) : this() { if (controller == null) { throw new ArgumentNullException("controller"); } _controller = controller; InitGridDeclaration(); InitLigne(); _collection = new BindingList <DeclarationView>(_controller.GetAll().ToList()); gridDeclaration.DataSource = _collection; var currentSociete = controller.GetCurrentSociete(); if (currentSociete == null) { throw new ApplicationException("Societe invalide!"); } var currentExercice = controller.GetCurrentExercice(); if (currentExercice == null) { throw new ApplicationException("Exercice invalide!"); } txtExercice.Text = currentExercice.Annee; txtSociete.Text = currentSociete.RaisonSocial; }
public void Valider(object sender, ValidateRowEventArgs e) { // clear columns errors viewLigne.ClearColumnErrors(); // get selected ligne var ligne = e.Row as LigneView; if (ligne == null) { e.Valid = false; return; } //******* Verify Numero autorisation *********** if (string.IsNullOrEmpty(ligne.NumeroAutorisation.Trim()) || ligne.NumeroAutorisation.Length > 30) { viewLigne.SetColumnError(_colNumeroAutorisation, "Numéro autorisation invalide!"); e.Valid = false; return; } //******* Verify Numero bon de commande *********** if (string.IsNullOrEmpty(ligne.NumeroBonCommande.Trim()) || ligne.NumeroBonCommande.Length > 13) { viewLigne.SetColumnError(_colNumeroBonCommande, "Numéro bon de commande invalide!"); e.Valid = false; return; } // charger l'exercice var exercice = _controller.GetCurrentExercice(); int annee; if (!int.TryParse(exercice.Annee, out annee)) { throw new ApplicationException("Exercice invalide!"); } // verifier que la date du bon de commande est unclue dans le trimestre declarée switch (_currentDeclaration.Trimestre) { case 1: var dateDebutT1 = new DateTime(annee, 1, 1); var dateFinT1 = new DateTime(annee, 3, 31); if (ligne.DateBonCommande.Date < dateDebutT1 || ligne.DateBonCommande.Date > dateFinT1) { viewLigne.SetColumnError(_colDateBonCommande, "La date du bon de commande doit être inclue dans la premiére trimestre!"); e.Valid = false; return; } break; case 2: var dateDebutT2 = new DateTime(annee, 4, 1); var dateFinT2 = new DateTime(annee, 6, 30); if (ligne.DateBonCommande.Date < dateDebutT2 || ligne.DateBonCommande.Date > dateFinT2) { viewLigne.SetColumnError(_colDateBonCommande, "La date du bon de commande doit être inclue dans la deuxiéme trimestre!"); e.Valid = false; return; } break; case 3: var dateDebutT3 = new DateTime(annee, 7, 1); var dateFinT3 = new DateTime(annee, 9, 30); if (ligne.DateBonCommande.Date < dateDebutT3 || ligne.DateBonCommande.Date > dateFinT3) { viewLigne.SetColumnError(_colDateBonCommande, "La date du bon de commande doit être inclue dans la troisiéme trimestre!"); e.Valid = false; return; } break; case 4: var dateDebutT4 = new DateTime(annee, 10, 1); var dateFinT4 = new DateTime(annee, 12, 31); if (ligne.DateBonCommande.Date < dateDebutT4 || ligne.DateBonCommande.Date > dateFinT4) { viewLigne.SetColumnError(_colDateBonCommande, "La date du bon de commande doit être inclue dans la quatriéme trimestre!"); e.Valid = false; return; } break; default: throw new InvalidOperationException("Trimestre invalide!"); } //******* Verify Numero identifiant *********** if (string.IsNullOrEmpty(ligne.Identifiant.Trim()) || ligne.Identifiant.Length != 13) { viewLigne.SetColumnError(_colIdentifiant, "Identifiant invalide!"); e.Valid = false; return; } //******* Verify nom prenom au raison sociale du fournisseur *********** if (string.IsNullOrEmpty(ligne.RaisonSocialFournisseur.Trim()) || ligne.RaisonSocialFournisseur.Length > 40) { viewLigne.SetColumnError(_colRaisonSocialFournisseur, "Nom prénom ou raison social fournisseur invalide!"); e.Valid = false; return; } //******* Verify Numero facture *********** if (string.IsNullOrEmpty(ligne.NumeroFacture.Trim()) || ligne.NumeroFacture.Length > 30) { viewLigne.SetColumnError(_colNumeroFacture, "Numéro facture invalide!"); e.Valid = false; return; } // verifier que la date bon commande est inferieur au date facture if (ligne.DateFacture.Date < ligne.DateBonCommande.Date) { viewLigne.SetColumnError(_colDateFacture, "La date du bon de commande doit être inférieur au date facture!"); e.Valid = false; return; } //******* Verify Prix achat hors taxe ******** if (ligne.PrixAchatHorsTaxe < 0) { viewLigne.SetColumnError(_colPrixAchatHorsTaxe, "Prix d'achat hors taxe invalide!"); e.Valid = false; return; } //******* Verify montant tva ******** if (ligne.MontantTva < 0) { viewLigne.SetColumnError(_colMontantTva, "Montant invalide!"); e.Valid = false; return; } //******* Verify objet facture*********** if (string.IsNullOrEmpty(ligne.ObjetFacture.Trim()) || ligne.ObjetFacture.Length > 320) { viewLigne.SetColumnError(_colObjetFacture, "Objet facture invalide!"); e.Valid = false; return; } try { if (ligne.Id == 0) { // ajouter ligne bon de commande en suspension var newView = _controller.CreateLigne(ligne, _currentDeclaration); // refresh var indexLigne = _listLignes.IndexOf(ligne); if (indexLigne < 0) { return; } _listLignes[indexLigne] = newView; return; } // update _controller.Update(ligne); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); e.Valid = false; } }
public void Valider(object sender, ValidateRowEventArgs e) { // clear columns errors viewLigne.ClearColumnErrors(); // current row var ligne = e.Row as LigneView; if (ligne == null) { e.Valid = false; return; } //******* Verify Numero facture *********** if (string.IsNullOrEmpty(ligne.NumeroFacture.Trim()) || ligne.NumeroFacture.Length > 20) { viewLigne.SetColumnError(_colNumeroFacture, "Numéro facture invalide!"); e.Valid = false; return; } // charger l'exercice var exercice = _controller.GetCurrentExercice(); int annee; if (!int.TryParse(exercice.Annee, out annee)) { throw new ApplicationException("Exercice invalide!"); } // verifier que la date du facture est unclue dans le trimestre declarée switch (_currentDeclaration.Trimestre) { case 1: var dateDebutT1 = new DateTime(annee, 1, 1); var dateFinT1 = new DateTime(annee, 3, 31); if (ligne.DateFacture.Date < dateDebutT1 || ligne.DateFacture.Date > dateFinT1) { viewLigne.SetColumnError(_colDateFacture, "La date facture doit être inclue dans la premiére trimestre!"); e.Valid = false; return; } break; case 2: var dateDebutT2 = new DateTime(annee, 4, 1); var dateFinT2 = new DateTime(annee, 6, 30); if (ligne.DateFacture.Date < dateDebutT2 || ligne.DateFacture.Date > dateFinT2) { viewLigne.SetColumnError(_colDateFacture, "La date facture doit être inclue dans la deuxiéme trimestre!"); e.Valid = false; return; } break; case 3: var dateDebutT3 = new DateTime(annee, 7, 1); var dateFinT3 = new DateTime(annee, 9, 30); if (ligne.DateFacture.Date < dateDebutT3 || ligne.DateFacture.Date > dateFinT3) { viewLigne.SetColumnError(_colDateFacture, "La date facture doit être inclue dans la troisiéme trimestre!"); e.Valid = false; return; } break; case 4: var dateDebutT4 = new DateTime(annee, 10, 1); var dateFinT4 = new DateTime(annee, 12, 31); if (ligne.DateFacture.Date < dateDebutT4 || ligne.DateFacture.Date > dateFinT4) { viewLigne.SetColumnError(_colDateFacture, "La date facture doit être inclue dans la quatriéme trimestre!"); e.Valid = false; return; } break; default: throw new InvalidOperationException("Trimestre invalide!"); } //******* Verify identifiant *********** switch (ligne.TypeClient) { case TypeClient.MatriculeFiscal: // verifier le matricule fiscal du client if (ligne.IdentifiantClient.Length != 13) { viewLigne.SetColumnError(_colIdentifiant, "Identifiant client invalide!"); e.Valid = false; return; } break; case TypeClient.CarteSejour: // verifier le numero du carte de sejour du client if (ligne.IdentifiantClient.Length != 10) { viewLigne.SetColumnError(_colIdentifiant, "Identifiant client invalide!"); e.Valid = false; return; } break; case TypeClient.Cin: // verifier le numero du CIN du client if (ligne.IdentifiantClient.Length != 8) { viewLigne.SetColumnError(_colIdentifiant, "Identifiant client invalide!"); e.Valid = false; return; } break; case TypeClient.NonDomiciliee: // verifier le numero du client non domiciliée ni établie if (ligne.IdentifiantClient.Length == 0 || ligne.IdentifiantClient.Length > 13) { viewLigne.SetColumnError(_colIdentifiant, "Identifiant client invalide!"); e.Valid = false; return; } break; default: viewLigne.SetColumnError(_colTypeIdentifiantClient, "Type identifiant client invalide!"); e.Valid = false; return; } if (string.IsNullOrEmpty(ligne.IdentifiantClient.Trim()) || ligne.IdentifiantClient.Length > 13) { viewLigne.SetColumnError(_colIdentifiant, "Identifiant client invalide!"); e.Valid = false; return; } //******* Verify nom prenom du client if (string.IsNullOrEmpty(ligne.NomPrenomClient.Trim()) || ligne.NomPrenomClient.Length > 40) { viewLigne.SetColumnError(_colRaisonSocialClient, "Nom et prénom du client invalide!"); e.Valid = false; return; } //******* Verify Numero bon de commande *********** if (string.IsNullOrEmpty(ligne.AdresseClient.Trim()) || ligne.AdresseClient.Length > 120) { viewLigne.SetColumnError(_colAdresseClient, "Adresse client in invalide!"); e.Valid = false; return; } //******* Verify numero autorisation if (string.IsNullOrEmpty(ligne.NumeroAutorisation.Trim()) || ligne.NumeroAutorisation.Length > 20) { viewLigne.SetColumnError(_colNumeroAutorisation, "Numéro autorisation invalide!"); e.Valid = false; return; } //******* Verify Prix vente hors taxe ******** if (ligne.PrixVenteHt < 0) { viewLigne.SetColumnError(_colPrixVenteHt, "Prix de vente hors taxe invalide!"); e.Valid = false; return; } //******* Verify taux FODEC if (ligne.TauxFodec < 0 || ligne.TauxFodec > 1) { viewLigne.SetColumnError(_colTauxFodec, "Taux fodec invalide!"); e.Valid = false; return; } //****** Verify montant FODEC if (ligne.MontantFodec < 0) { viewLigne.SetColumnError(_colMontantTva, "Montant fodec invalide!"); e.Valid = false; return; } //******* Verify taux droit de consommation if (ligne.TauxDroitConsommation < 0 || ligne.TauxDroitConsommation > 1) { viewLigne.SetColumnError(_colTauxDroitConsommation, "Taux droit de consommation invalide!"); e.Valid = false; return; } //******* Verify montant droit de consommation if (ligne.MontantDroitConsommation < 0) { viewLigne.SetColumnError(_colMontantDroitConsommation, "Montant droit de consommation invalide!"); e.Valid = false; return; } //******* Verify taux TVA if (ligne.TauxTva < 0 || ligne.TauxTva > 1) { viewLigne.SetColumnError(_colTauxTva, "Taux Tva invalide!"); e.Valid = false; return; } //******* Verify montant TVA ******** if (ligne.MontantTva < 0) { viewLigne.SetColumnError(_colMontantTva, "Montant Tva invalide!"); e.Valid = false; return; } try { // add ligne if (ligne.Id == 0) { // create ligne var newView = _controller.AjouterLigne(ligne, _currentDeclaration); // refresh var indexLigne = _listLignes.IndexOf(ligne); if (indexLigne < 0) { return; } _listLignes[indexLigne] = newView; return; } // update ligne _controller.Update(ligne); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); e.Valid = false; } }