Ejemplo n.º 1
0
        //-------------------------------------------------------------------
        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();
        }
Ejemplo n.º 3
0
        //-------------------------------------------------------------------
        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);
        }
Ejemplo n.º 4
0
        //-------------------------------------------------------------------
        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();
        }