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); }
//-------------------------------------------------------- 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(); } } }
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; } } } } } } } }
//-------------------------------------------------------------------- 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); } }
//------------------------------------------------------------- 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); } } }
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); }
//-------------------------------------------------------- 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; } }
//-------------------------------------------------------- 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); } }
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; }
public CItemQuantite(CBesoinQuantite q, CItemQuantite itemParent) : base(itemParent) { Tag = q; }