コード例 #1
0
ファイル: CControleQuantite.cs プロジェクト: ykebaili/Timos
        protected override CResultAErreur MyInitChamps(CCustomizableListItem item)
        {
            m_bIsInitializing = true;
            CResultAErreur result = base.MyInitChamps(item);

            if (result && item != null)
            {
                CBesoinQuantite qt = item.Tag as CBesoinQuantite;
                if (qt != null && qt.IsValide())
                {
                    m_txtQuantite.LockEdition = LockEdition || qt.QuantitesFilles.Count != 0;
                    m_txtLibelle.Text         = qt.Libelle;
                    m_txtQuantite.DoubleValue = qt.Quantite;
                    m_btnEdit.Visible         = qt.Niveau == 0;
                    UpdateMarge();
                }
            }
            else
            {
                m_txtLibelle.Text         = "";
                m_txtQuantite.DoubleValue = 1;
                UpdateMarge();
            }
            m_bIsInitializing = false;
            return(result);
        }
コード例 #2
0
ファイル: CControleBesoin.cs プロジェクト: ykebaili/Timos
        //--------------------------------------------------------
        void m_controleQuantite_OnDeleteQuantite(object sender, EventArgs e)
        {
            int?nItem = m_wndListeQuantites.CurrentItemIndex;

            if (nItem != null)
            {
                CCustomizableListItem item = m_wndListeQuantites.Items[nItem.Value];
                CBesoinQuantite       qte  = item.Tag as CBesoinQuantite;
                if (qte != null)
                {
                    foreach (CBesoin besoin in Besoin.GetTousLesBesoinsDontLeCoutDependDeMesQuantites())
                    {
                        ((CControleListeBesoins)AssociatedListControl).RefreshBesoin(besoin, false);
                    }
                    CResultAErreur result = qte.Delete();
                    if (!result)
                    {
                        CFormAlerte.Afficher(result.Erreur);
                        return;
                    }
                    m_wndListeQuantites.RemoveItem(item, false);
                    CalcHeight();

                    Refresh();
                }
            }
        }
コード例 #3
0
     protected override void m_panelDessin_DragDrop(object sender, DragEventArgs e)
     {
         if (m_nItemDragElement == null)
         {
             base.m_panelDessin_DragDrop(sender, e);
         }
         else
         {
             CItemQuantite item = Items[m_nItemDragElement.Value] as CItemQuantite;
             if (item != null)
             {
                 CBesoinQuantite         bq      = item.Quantite;
                 CReferenceObjetDonnee[] lstRefs = e.Data.GetData(typeof(CReferenceObjetDonnee[])) as CReferenceObjetDonnee[];
                 if (lstRefs == null)
                 {
                     CReferenceObjetDonnee refObj = e.Data.GetData(typeof(CReferenceObjetDonnee)) as CReferenceObjetDonnee;
                     if (refObj != null)
                     {
                         lstRefs = new CReferenceObjetDonnee[] { refObj }
                     }
                     ;
                 }
                 if (lstRefs != null)
                 {
                     string strMes = "";
                     if (lstRefs.Count() == 1)
                     {
                         CObjetDonneeAIdNumerique objet = lstRefs[0].GetObjet(item.Quantite.ContexteDonnee) as CObjetDonneeAIdNumerique;
                         if (objet != null)
                         {
                             strMes = objet.DescriptionElement;
                         }
                     }
                     else
                     {
                         strMes = I.T("@1 elements|20640", lstRefs.Count().ToString());
                     }
                     if (MessageBox.Show(I.T("Add @1 to selection ?|20639",
                                             strMes), "",
                                         MessageBoxButtons.YesNo,
                                         MessageBoxIcon.Question) == DialogResult.Yes)
                     {
                         foreach (CReferenceObjetDonnee refObjet in lstRefs)
                         {
                             CObjetDonneeAIdNumerique objet = refObjet.GetObjet(item.Quantite.ContexteDonnee) as CObjetDonneeAIdNumerique;
                             if (objet != null)
                             {
                                 bq.AddSelectedEntity(objet);
                                 CurrentItemIndex = CurrentItemIndex;
                             }
                         }
                     }
                 }
             }
         }
     }
 }
コード例 #4
0
        //--------------------------------------------------------------------
        private void AddItemQuantiteEtFils(CItemQuantite itemParent, CBesoinQuantite q, List <CCustomizableListItem> lstItems)
        {
            CItemQuantite item = new CItemQuantite(q, itemParent);

            lstItems.Add(item);
            foreach (CBesoinQuantite qFils in q.QuantitesFilles)
            {
                AddItemQuantiteEtFils(item, qFils, lstItems);
            }
        }
コード例 #5
0
ファイル: CControleQuantite.cs プロジェクト: ykebaili/Timos
        //-------------------------------------------------------------
        private void m_btnDelete_Click(object sender, EventArgs e)
        {
            if (OnDeleteQuantite != null)
            {
                CBesoinQuantite qte = CurrentItem != null ? CurrentItem.Tag as CBesoinQuantite : null;

                if (qte != null && MessageBox.Show(I.T("Delete quantity '@1'|20596", qte.Libelle),
                                                   "",
                                                   MessageBoxButtons.YesNo,
                                                   MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    OnDeleteQuantite(this, null);
                }
            }
        }
コード例 #6
0
ファイル: CControleQuantite.cs プロジェクト: ykebaili/Timos
        protected override CResultAErreur MyMajChamps()
        {
            CResultAErreur result = base.MyMajChamps();

            if (result && CurrentItem != null)
            {
                CBesoinQuantite qt = CurrentItem.Tag as CBesoinQuantite;
                if (qt != null)
                {
                    qt.Index    = CurrentItem.Index;
                    qt.Libelle  = m_txtLibelle.Text;
                    qt.Quantite = m_txtQuantite.DoubleValue == null ? 0 : m_txtQuantite.DoubleValue.Value;
                }
            }
            return(result);
        }
コード例 #7
0
ファイル: CControleBesoin.cs プロジェクト: ykebaili/Timos
        //--------------------------------------------------------
        private void m_btnMenuQuantite_Click(object sender, EventArgs e)
        {
            CItemBesoin item = CurrentItem as CItemBesoin;

            if (item != null)
            {
                if (m_controleQuantite.CurrentItem != null)
                {
                    m_controleQuantite.MajChamps();
                }
                CBesoinQuantite qte = new CBesoinQuantite(item.Besoin.ContexteDonnee);
                qte.CreateNewInCurrentContexte();
                qte.Besoin = item.Besoin;
                CCustomizableListItem newItem = new CCustomizableListItem();
                newItem.Tag = qte;
                m_wndListeQuantites.AddItem(newItem, false);
                CalcHeight();
                m_wndListeQuantites.CurrentItemIndex = m_wndListeQuantites.Items.Count() - 1;
            }
        }
コード例 #8
0
ファイル: CControleBesoin.cs プロジェクト: ykebaili/Timos
        //--------------------------------------------------------
        private void RefreshCoutTotal()
        {
            double?dOld = m_txtCoutTotal.DoubleValue;
            IEditeurDonneeBesoin editeurCout = GetEditeurEnCours(ETypeEditeurBesoin.EditeurCout);

            if (Besoin != null && editeurCout != null && editeurCout.DonneeBesoin != null)
            {
                m_txtCoutTotal.DoubleValue = editeurCout.DonneeBesoin.CalculeCout(Besoin);
            }
            else if (Besoin != null)
            {
                m_txtCoutTotal.DoubleValue = Besoin.CoutSaisiTotalSansRegroupement;
            }
            else
            {
                m_txtCoutTotal.DoubleValue  = null;
                m_txtTotalTotal.DoubleValue = null;
            }
            if (Besoin != null)
            {
                CBesoinQuantite q = Besoin.RegroupementQuantite;
                m_panelTotalTotal.Visible = q != null;
                if (q != null)
                {
                    m_txtTotalTotal.DoubleValue = m_txtCoutTotal.DoubleValue * q.Quantite;
                }
                else
                {
                    m_txtTotalTotal.DoubleValue = m_txtCoutTotal.DoubleValue;
                }
            }
            else
            {
                m_panelTotalTotal.Visible = false;
            }

            if (!m_bIsInitializing)//ChangementDeValeurTotale
            {
                ((CControleListeBesoins)AssociatedListControl).AfterTotalChanged(Besoin);
            }
        }
コード例 #9
0
        private void FillDatas()
        {
            m_bIsInitializing = true;
            if (m_besoin != null)
            {
                m_chkSaisiAsPrevisionnel.Checked = m_besoin.UtiliserSaisiAsPrevisionnel || !m_besoin.HasSatisfactions;
                m_chkSaisiAsReel.Checked         = m_besoin.UtiliserSaisiAsReel;
                m_chkSaisiAsPrevisionnel.Visible = !m_besoin.HasChildren;
                m_chkSaisiAsReel.Visible         = !m_besoin.HasChildren;
                m_txtCoutReel.DoubleValue        = m_itemBesoin.CoutReel;
                m_txtCoutCalculé.DoubleValue     = m_itemBesoin.CoutPrevisionnel;
                StringBuilder bl = new StringBuilder();
                CBesoin       b  = m_besoin;
                while (b != null)
                {
                    CBesoinQuantite qte = b.RegroupementQuantite;
                    if (qte != null)
                    {
                        bl.Append(qte.Quantite);
                        bl.Append(" ");
                        bl.Append(qte.Libelle);
                        bl.Append(", ");
                    }
                    b = b.BesoinParent;
                }
                if (bl.Length > 0)
                {
                    bl.Remove(bl.Length - 2, 2);
                }

                m_lblRegroupement.Text     = bl.ToString();
                m_txtCoutSaisi.DoubleValue = m_itemBesoin.CoutSaisi;
                UpdateIconeFiger();
                UpdateIconeHierarchie();
            }
            m_bIsInitializing = false;
        }
コード例 #10
0
 public CItemQuantite(CBesoinQuantite q, CItemQuantite itemParent)
     : base(itemParent)
 {
     Tag = q;
 }