//------------------------------------------------------------------- public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte) { CResultAErreur result = base.TraitementAvantSauvegarde(contexte); if (!result) { return(result); } DataTable table = contexte.Tables[CValorisationElement.c_nomTable]; if (table == null) { return(result); } ArrayList lst = new ArrayList(table.Rows); foreach (DataRow row in lst) { if (row.RowState != DataRowState.Unchanged) { ///Cherche les impacts sur les couts CValorisationElement valorisation = new CValorisationElement(row); if (row.RowState == DataRowState.Deleted) { valorisation.VersionToReturn = DataRowVersion.Original; } CLotValorisation lot = valorisation.LotValorisation; if (lot.Row.RowState == DataRowState.Deleted) { lot.VersionToReturn = DataRowVersion.Original; } foreach (CLivraisonLotValorisation livs in lot.RelationsLivraisons) { CLivraisonEquipement livraison = livs.Livraison; if (livraison == null) { continue; } if (livraison.Row.RowState == DataRowState.Deleted) { livraison.VersionToReturn = DataRowVersion.Original; } CCommande commande = livraison.Commande; if (commande == null || commande.Row.RowState == DataRowState.Deleted) { continue;//la commande a été supprimée } CListeObjetsDonnees lignes = commande.Lignes; foreach (CLigneCommande ligne in lignes) { if (ligne.Row.RowState != DataRowState.Deleted) { CUtilElementACout.OnChangeCout(ligne, true, false);//changement du cout réel } } } } } return(result); }
public CItemLigneLivraison(CLigneLivraisonEquipement ligneLivraison, CLigneCommande ligneCommande, CLivraisonEquipement livraison) { m_ligneLivraison = ligneLivraison; LigneCommande = ligneCommande; Livraison = livraison; InitValeursControles(); }
//------------------------------------------------------------------- public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CLivraisonEquipement LivraisonEquipement = (CLivraisonEquipement)objet; } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
//------------------------------------------------------------------- public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte) { CResultAErreur result = base.TraitementAvantSauvegarde(contexte); if (!result) { return(result); } DataTable table = contexte.Tables[GetNomTable()]; ArrayList lst = new ArrayList(table.Rows); HashSet <CLivraisonEquipement> livraisonsPourValorisation = new HashSet <CLivraisonEquipement>(); foreach (DataRow row in lst) { if (row.RowState != DataRowState.Unchanged) { CLivraisonLotValorisation livLot = new CLivraisonLotValorisation(row); if (row.RowState == DataRowState.Deleted) { livLot.VersionToReturn = DataRowVersion.Original; } try { CLivraisonEquipement livraison = livLot.Livraison; if (livraison.IsValide()) { livraisonsPourValorisation.Add(livraison); } } catch { } } } foreach (CLivraisonEquipement liv in livraisonsPourValorisation) { liv.AppliqueValorisation(); } return(result); }
//------------------------------------------------------------------ public void Init(CLivraisonEquipement LivraisonEquipement) { m_wndListeLignes.CancelEdit(); m_LivraisonEquipement = LivraisonEquipement; m_cmbStatut.Init( typeof(CStatutEquipement), "Libelle", null, false); m_cmbTypeDestination.Init(DynamicClassAttribute.GetAllDynamicClassHeritant(typeof(IEmplacementEquipement))); if (m_lastPlace == null && LivraisonEquipement.Lignes.Count > 0) { foreach (CLigneLivraisonEquipement ligne in LivraisonEquipement.Lignes) { if (ligne.Equipement != null) { m_lastPlace = ligne.Equipement.Emplacement; m_cmbStatut.ElementSelectionne = ligne.Equipement.Statut; break; } } } if (m_lastPlace != null) { m_cmbTypeDestination.TypeSelectionne = m_lastPlace.GetType(); m_selectStock.ElementSelectionne = m_lastPlace as CObjetDonnee; } if (m_extModeEdition.ModeEdition && m_cmbTypeDestination.TypeSelectionne == null) { m_cmbTypeDestination.TypeSelectionne = typeof(CStock); } InitSelectEmplacement(); List <CItemLigneLivraison> lstItems = new List <CItemLigneLivraison>(); foreach (CLigneLivraisonEquipement ligne in m_LivraisonEquipement.Lignes) { CItemLigneLivraison item = new CItemLigneLivraison(ligne, ligne.LigneDeCommandeAssociee, ligne.LivraisonEquipement); lstItems.Add(item); } if (m_extModeEdition.ModeEdition) { //Création des éléments complémentaires if (m_LivraisonEquipement.Commande != null) { foreach (CLigneCommande ligne in m_LivraisonEquipement.Commande.Lignes) { int nRestant = (int)ligne.Quantite - ligne.LignesLivraison.Count; for (int n = 0; n < nRestant; n++) { CItemLigneLivraison item = new CItemLigneLivraison(null, ligne, m_LivraisonEquipement); lstItems.Add(item); } } } } m_wndListeLignes.Items = lstItems.ToArray(); m_wndListeLignes.Refresh(); }