//----------------------------------------------
 public void OnExpand(CItemInventaire item)
 {
     if (item.HasChildren && item.ChildItems.Count() == 0)
     {
         AddChildren(item);
     }
 }
예제 #2
0
        protected override CResultAErreur MyInitChamps(CCustomizableListItem item)
        {
            m_bIsInitializing = true;
            CResultAErreur result = base.MyInitChamps(item);

            if (!result)
            {
                return(result);
            }
            CItemInventaire   iv    = item as CItemInventaire;
            CReleveEquipement relEq = iv != null ? iv.ReleveEquipement : null;

            if (relEq != null)
            {
                System.Console.Write(relEq.NumeroSerie);
                CMemoryDbIndex <CTypeEquipement> index = IndexTypeEq;
                if (index == null)
                {
                    index       = new CMemoryDbIndex <CTypeEquipement>(((CReleveDb)relEq.Database).TimosDb);
                    IndexTypeEq = index;
                }
                int nNiveau = iv.Niveau;
                if (nNiveau == 0)
                {
                    m_panelMarge.Visible = false;
                }
                else
                {
                    m_panelMarge.Width   = nNiveau * 15;
                    m_panelMarge.Visible = true;
                }

                m_selectPresence.Value = relEq.IsPresent;
                UpdateColors();

                UpdateBoutonExpand(iv);
                m_txtCoord.Init(relEq, !IsCreatingImage);
                m_selectTypeEquipement.Init(relEq, !this.IsCreatingImage);
                m_txtSerial.Text  = relEq.NumeroSerie;
                m_txtComment.Text = relEq.Commentaire;
                foreach (Control ctrl in m_panelChampsCustom.Controls)
                {
                    CControleForCustomFieldReleve c = ctrl as CControleForCustomFieldReleve;
                    if (c != null)
                    {
                        c.InitChamps(relEq);
                    }
                }
            }
            if (!IsCreatingImage)
            {
                CalcSerialError();
            }
            m_bIsInitializing = false;

            return(result);
        }
예제 #3
0
        private void OnPresenceChanged()
        {
            HasChange = true;
            CItemInventaire iv = this.CurrentItem as CItemInventaire;

            if (m_selectPresence.Value == true && iv != null && iv.IsCollapse)
            {
                m_btnExpand_Click(this, null);
            }
        }
 //----------------------------------------------
 public void AddChildren(CReleveEquipement releveFils, CItemInventaire itemParent)
 {
     if (itemParent != null)
     {
         OnExpand(itemParent);
         CItemInventaire item = new CItemInventaire(itemParent, releveFils);
         InsertItem(itemParent.Index + 1, item, true);
     }
     else
     {
         CItemInventaire item = new CItemInventaire(null, releveFils);
         AddItem(item, true);
     }
 }
        //----------------------------------------------
        private void AddChildren(CItemInventaire item)
        {
            CReleveEquipement relEq = item.ReleveEquipement;
            int nIndex = item.Index;
            CListeEntitesDeMemoryDb <CReleveEquipement> lstFils = relEq.RelevesContenus;

            lstFils.Sort = CEquipement.c_champCoordonnee;
            foreach (CReleveEquipement fils in lstFils)
            {
                CItemInventaire itemFils = new CItemInventaire(item, fils);
                InsertItem(nIndex + 1, itemFils, false);
                nIndex++;
            }
            Refresh();
        }
        //----------------------------------------------
        public void Init(CReleveSite releve)
        {
            CListeEntitesDeMemoryDb <CReleveEquipement> lstEqpts = releve.RelevesEquipement;

            lstEqpts.Filtre = new CFiltreMemoryDb(CReleveEquipement.c_champIdContenant + " is null");
            lstEqpts.Sort   = CEquipement.c_champCoordonnee;
            List <CItemInventaire> lstItems = new List <CItemInventaire>();

            foreach (CReleveEquipement relEq in lstEqpts)
            {
                CItemInventaire item = new CItemInventaire(null, relEq);
                lstItems.Add(item);
            }
            Items = lstItems.ToArray();
        }
예제 #7
0
        //------------------------------------------------------------------------------
        public override int GetItemHeight(CCustomizableListItem item)
        {
            CItemInventaire iv = item as CItemInventaire;

            if (iv != null)
            {
                if (iv.IsMasque)
                {
                    return(0);
                }
                return(m_panelTop.Height + m_lblLigneBas.Height +
                       (m_panelChampsCustom.Controls.Count > 0?m_panelChampsCustom.Height:0));
            }
            return(base.GetItemHeight(item));
        }
예제 #8
0
        //------------------------------------------------------------------------------
        private void m_btnExpand_Click(object sender, EventArgs e)
        {
            CItemInventaire iv = this.CurrentItem as CItemInventaire;

            if (iv != null)
            {
                iv.SetCollapse(!iv.IsCollapse);
                if (!iv.IsCollapse)
                {
                    ((CControleListePourInventaire)AssociatedListControl).OnExpand(iv);
                }
            }
            //AssociatedListControl.Refill();
            AssociatedListControl.Refresh();
            UpdateBoutonExpand(iv);
        }
예제 #9
0
 //------------------------------------------------------------------------------
 private void UpdateBoutonExpand(CItemInventaire iv)
 {
     if (!iv.HasChildren)
     {
         m_btnExpand.Image = null;
     }
     else
     {
         if (iv.IsCollapse)
         {
             m_btnExpand.Image = global::TimosInventory.Properties.Resources.plus_32;
         }
         else
         {
             m_btnExpand.Image = global::TimosInventory.Properties.Resources.moins_32;
         }
     }
 }
예제 #10
0
        private void m_btnAdd_Click(object sender, EventArgs e)
        {
            CItemInventaire item = CurrentItem as CItemInventaire;

            if (item != null)
            {
                ((CControleListePourInventaire)AssociatedListControl).OnExpand(item);
                CReleveEquipement relEq = CFormCreerEquipement.CreateEquipement(
                    item.ReleveEquipement.ReleveSite,
                    item.ReleveEquipement);
                if (relEq != null)
                {
                    CControleListePourInventaire ctrl = this.AssociatedListControl as CControleListePourInventaire;
                    if (ctrl != null)
                    {
                        ctrl.AddChildren(relEq, item);
                    }
                }
            }
        }
예제 #11
0
        private void CalcSerialError()
        {
            //Vérifie s'il n'y a pas de relevé avec le même numéro de série
            CItemInventaire iv = CurrentItem as CItemInventaire;

            if (iv != null && m_txtSerial.Text.Trim() != "")
            {
                CListeEntitesDeMemoryDb <CReleveEquipement> lstRels = new CListeEntitesDeMemoryDb <CReleveEquipement>(iv.ReleveEquipement.Database);
                lstRels.Filtre = new CFiltreMemoryDb(
                    CEquipement.c_champSerial + "=@1 and " +
                    CReleveSite.c_champId + "=@2 and " +
                    CTypeEquipement.c_champId + "=@3",
                    m_txtSerial.Text.Trim(),
                    iv.ReleveEquipement.ReleveSite.Id,
                    iv.ReleveEquipement.IdTypeEquipement);
                if (lstRels.Count() > 1)
                {
                    StringBuilder bl = new StringBuilder();
                    bl.Append(I.T("Multiple use of serial|20035"));
                    bl.Append("( ");
                    foreach (CReleveEquipement rel in lstRels)
                    {
                        bl.Append(rel.CoordonneeComplete);
                        bl.Append(',');
                    }
                    bl.Remove(bl.Length - 1, 1);
                    bl.Append(")");
                    m_error.SetError(m_txtSerial, bl.ToString());
                }
                else
                {
                    m_error.SetError(m_txtSerial, "");
                }
            }
            else
            {
                m_error.SetError(m_txtSerial, "");
            }
        }
예제 #12
0
        private void UpdateColors()
        {
            CItemInventaire iv = CurrentItem as CItemInventaire;

            if (iv != null)
            {
                if (iv.ReleveEquipement.IsPresent == null)
                {
                    BackColor     = Color.Red;
                    ColorInactive = Color.LightPink;
                }
                else
                {
                    ColorInactive = Color.White;
                    BackColor     = Color.LightBlue;
                }
                if (iv.Index % 2 == 0)
                {
                    BackColor     = sc2i.drawing.CUtilCouleur.Assombrir(BackColor, 10);
                    ColorInactive = sc2i.drawing.CUtilCouleur.Assombrir(ColorInactive, 10);
                }
            }
        }
예제 #13
0
        //------------------------------------------------------------------------------
        protected override CResultAErreur MyMajChamps()
        {
            CResultAErreur  result = base.MyMajChamps();
            CItemInventaire iv     = CurrentItem as CItemInventaire;

            if (iv == null || iv.ReleveEquipement == null || iv.ReleveEquipement.Row.Row.RowState == DataRowState.Detached)
            {
                return(result);
            }
            if (iv != null)
            {
                iv.ReleveEquipement.IsPresent   = m_selectPresence.Value;
                m_selectPresence.Value          = iv.ReleveEquipement.IsPresent;
                iv.ReleveEquipement.NumeroSerie = m_txtSerial.Text;
            }
            result = m_selectTypeEquipement.MajChamps();
            if (result)
            {
                result = m_txtCoord.MajChamps();
            }
            iv.ReleveEquipement.Commentaire = m_txtComment.Text;
            foreach (Control ctrl in m_panelChampsCustom.Controls)
            {
                CControleForCustomFieldReleve c = ctrl as CControleForCustomFieldReleve;
                if (c != null)
                {
                    result = c.MajChamp();
                }
                if (!result)
                {
                    return(result);
                }
            }

            UpdateColors();
            return(result);
        }
예제 #14
0
 //-------------------------------------------------------
 public CItemInventaire(CItemInventaire itemParent, CReleveEquipement relEqpt)
     : base(itemParent)
 {
     Tag            = relEqpt;
     m_bHasChildren = relEqpt.RelevesContenus.Count() > 0;
 }