예제 #1
0
        //----------------------------------------------------------------------------------
        public override CResultAErreur ExecuteAction(
            CTraitementReleveEquipement traitementExecutant,
            CEquipement equipementParent,
            CContexteDonnee ctxDonnee)
        {
            CResultAErreur         result      = CResultAErreur.True;
            CEquipement            eqpt        = (CEquipement)m_equipement.GetObjetInContexte(ctxDonnee);
            IEmplacementEquipement emplacement = m_emplacement;

            if (emplacement == null)
            {
                emplacement = CEmplacementEquipementsTrouves.StockPerduTrouve;
            }
            if (emplacement == null)
            {
                result.EmpileErreur(I.T("'lost & found' stock is not defined. Contact Timos Administrator|20216"));
                return(result);
            }
            string strSiteLabel = "";
            string strDate      = "";

            try
            {
                strSiteLabel = ReleveEquipement.ReleveSite.Site.Libelle;
                strDate      = ReleveEquipement.ReleveSite.DateReleve.ToShortDateString();
            }
            catch { }
            result = eqpt.DeplaceEquipementOptionPassage(
                I.T("Inventory on @1 (@2)|20245",
                    strSiteLabel, strDate),
                emplacement,
                equipementParent != null && equipementParent.Emplacement.Equals(emplacement) ? equipementParent : null,
                traitementExecutant.ReleveEquipement.Coordonnee,
                null,
                CUtilSession.GetUserForSession(ctxDonnee),
                DateTime.Now, "", false, true);
            if (result && emplacement.Equals(ReleveEquipement.ReleveSite.Site))
            {
                result = CActionModifierEquipement.MajEquipement(eqpt, traitementExecutant.ReleveEquipement);
            }
            return(result);
        }
예제 #2
0
        //----------------------------------------------------------------
        private void m_btnOk_Click(object sender, EventArgs e)
        {
            IEmplacementEquipement emplacement      = null;
            CEquipement            equipementParent = null;

            if (m_radioSite.Checked)
            {
                emplacement      = (CSite)m_selectSite.ElementSelectionne;
                equipementParent = (CEquipement)m_cmbEquipement.ElementSelectionne;
            }
            if (m_radioStock.Checked)
            {
                emplacement      = (CStock)m_selectStock.ElementSelectionne;
                equipementParent = (CEquipement)m_cmbEquipementStock.ElementSelectionne;
            }
            if (m_radioActeur.Checked)
            {
                emplacement = (CActeur)m_selectActeur.ElementSelectionne;
            }

            CActeur acteur = (CActeur)m_selectUser.ElementSelectionne;

            //S'il existe un mouvement en édition, modifie ce mouvement
            CMouvementEquipement mouvement = null;

            foreach (CMouvementEquipement mouvext in m_equipement.Mouvements)
            {
                if (mouvext.IsNew() && mouvext.EmplacementDestination.Equals(emplacement))
                {
                    mouvement = mouvext;
                    break;
                }
            }
            if (mouvement != null)
            {
                mouvement.Info          = m_txtInfo.Text;
                mouvement.DateMouvement = m_dtMouvement.Value;
                DialogResult            = DialogResult.OK;
                Close();
            }



            CResultAErreur result = m_equipement.DeplaceEquipementOptionPassage(
                m_txtInfo.Text,
                emplacement,
                equipementParent,
                m_panelCoordonnee.Visible?m_editCoordonnee.Coordonnee:null,
                null,
                acteur == null?null:acteur.Utilisateur,
                m_dtMouvement.Value,
                "",
                false,
                false);

            if (result.Result)
            {
                DialogResult = DialogResult.OK;
                Close();
            }
            else
            {
                if (!result)
                {
                    CFormAlerte.Afficher(result.Erreur);
                }
            }
        }