public CResultAErreur MajChamps(CStatutEquipement status, IEmplacementEquipement emplacement)
        {
            CResultAErreur result = CResultAErreur.True;

            if (IsChecked)
            {
                AssureEquipement(status, emplacement);
            }
            else
            {
                if (LigneLivraison != null)
                {
                    CEquipement eqpt = LigneLivraison.Equipement;
                    if (eqpt == null || eqpt.IsNew())
                    {
                        result = LigneLivraison.Delete(true);
                        if (result && eqpt != null)
                        {
                            result = eqpt.Delete(true);
                        }
                    }
                }
            }
            return(result);
        }
 //-----------------------------------------------------------------
 public bool AssureEquipement(CStatutEquipement status, IEmplacementEquipement emplacement)
 {
     AssureLigneLivraison();
     if (LigneLivraison.Equipement == null)
     {
         if (TypeEquipement != null)
         {
             LigneLivraison.Equipement = new CEquipement(LigneLivraison.ContexteDonnee);
             LigneLivraison.Equipement.CreateNewInCurrentContexte();
         }
         else
         {
             return(false);
         }
     }
     if (LigneLivraison.Equipement != null)
     {
         LigneLivraison.Equipement.TypeEquipement       = TypeEquipement;
         LigneLivraison.Equipement.RelationConstructeur = RefConstructeur;
         LigneLivraison.Equipement.NumSerie             = NumeroSerie;
         if (status != null && LigneLivraison.Equipement.Statut == null)
         {
             LigneLivraison.Equipement.Statut = status;
         }
         if (emplacement != null && LigneLivraison.Equipement.Emplacement == null)
         {
             LigneLivraison.Equipement.SetEmplacementSansHistorique(
                 emplacement,
                 EquipementConteneur);
         }
     }
     return(LigneLivraison.Equipement != null);
 }
        //-------------------------------------------------
        private void InitComboEquipementParent()
        {
            IEmplacementEquipement emplacement = m_selectEmplacement.ElementSelectionne as IEmplacementEquipement;
            if (emplacement == null)
            {
                m_cmbEquipement.Visible = false;
            }
            else
            {
                CFiltreData filtre = null;

                if (emplacement is CSite)
                    filtre = new CFiltreData(CSite.c_champId + "=@1",
                        emplacement.Id);
                if (emplacement is CStock)
                    filtre = new CFiltreData(CStock.c_champId + "=@1",
                        emplacement.Id);
                if (emplacement is CActeur)
                    filtre = new CFiltreData(CActeur.c_champId + "=@1",
                        emplacement.Id);


                m_cmbEquipement.Init(typeof(CEquipement),
                    "EquipementsContenus",
                    CEquipement.c_champIdEquipementContenant,
                    "Libelle",
                    null,
                    filtre);
                m_cmbEquipement.Visible = true;
            }
        }
 //--------------------------------------------------------------------------
 public CActionDeplacerEquipement(CReleveEquipement releveEquipement,
                                  CEquipement equipement,
                                  IEmplacementEquipement emplacement)
     : base(releveEquipement)
 {
     m_equipement  = equipement;
     m_emplacement = emplacement;
 }
 //--------------------------------------------------------------------------------
 private void m_cmbTypeEmplacement_SelectionChangeCommitted(object sender, EventArgs e)
 {
     IEmplacementEquipement place = m_selectEmplacement.ElementSelectionne as IEmplacementEquipement;
     InitSelectEmplacement();
     Type tp = m_cmbTypeEmplacement.TypeSelectionne;
     if (place != null && tp != null && tp == place.GetType())
         m_selectEmplacement.ElementSelectionne = place as CObjetDonnee;
 }
        //---------------------------------------------------------------
        protected override CResultAErreur MySerialize(C2iSerializer serializer)
        {
            int            nVersion = GetNumVersion();
            CResultAErreur result   = serializer.TraiteVersion(ref nVersion);

            if (!result)
            {
                return(result);
            }
            int?nIdEquipement  = m_equipement != null?(int?)m_equipement.Id:null;
            int?nIdEmplacement = m_emplacement != null ? (int?)m_emplacement.Id : null;

            serializer.TraiteIntNullable(ref nIdEquipement);
            serializer.TraiteIntNullable(ref nIdEmplacement);
            switch (serializer.Mode)
            {
            case ModeSerialisation.Ecriture:
                if (nIdEmplacement != null)
                {
                    Type tp = m_emplacement.GetType();
                    serializer.TraiteType(ref tp);
                }
                break;

            case ModeSerialisation.Lecture:
                CContexteDonnee ctx = ReleveEquipement.ContexteDonnee;
                if (nIdEquipement != null)
                {
                    m_equipement = new CEquipement(ctx);
                    if (!m_equipement.ReadIfExists(nIdEquipement.Value))
                    {
                        m_equipement = null;
                    }
                }
                if (nIdEmplacement != null)
                {
                    Type tp = null;
                    serializer.TraiteType(ref tp);
                    m_emplacement = Activator.CreateInstance(tp, new object[] { ReleveEquipement.ContexteDonnee }) as IEmplacementEquipement;
                    if (m_emplacement != null)
                    {
                        if (!m_emplacement.ReadIfExists(nIdEmplacement.Value))
                        {
                            m_emplacement = null;
                        }
                    }
                }
                break;
            }
            return(result);
        }
        private void InitSelectEmplacement()
        {
            IEmplacementEquipement place = m_selectStock.ElementSelectionne as IEmplacementEquipement;
            Type tp = m_cmbTypeDestination.TypeSelectionne;

            if (tp != null)
            {
                m_selectStock.Init(
                    tp,
                    "Libelle",
                    true);
            }
            if (place != null && place.GetType() == tp)
            {
                m_selectStock.ElementSelectionne = place as CObjetDonnee;
            }
        }
        //----------------------------------------------------------------------------------
        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);
        }
        //------------------------------------------------------------------
        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();
        }
示例#10
0
        //-------------------------------------------------------------------
        public CResultAErreur DoRemplacementInCurrentContexte(DateTime dateRemplacement)
        {
            CResultAErreur result      = CResultAErreur.True;
            bool           bIsDotation = EquipementDeRemplacement != null && EquipementDeRemplacement.IsDotationApplique;

            if (EmplacementDestination == null && !bIsDotation)
            {
                result.EmpileErreur(I.T("The destination place must be specified|268"));
                return(result);
            }
            if (EquipementRemplace == null && !bIsDotation)
            {
                result.EmpileErreur(I.T("The replaced equipment must be specified|269"));
                return(result);
            }

            CRemplacementEquipement remplacementEdite = this;

            //remplacementEdite.BeginEdit();

            try
            {
                #region annulation des mouvements generés précédements (annulation)
                result = AnnuleRemplacement();
                if (!result)
                {
                    return(result);
                }
                #endregion

                IsDotation = false;
                string strInfo = "";
                if (remplacementEdite.EquipementDeRemplacement != null)
                {
                    strInfo = I.T("Replacement by @1|235", remplacementEdite.EquipementDeRemplacement.Libelle);
                }
                else if (remplacementEdite.Operation != null)
                {
                    strInfo = I.T("Equipment removed during the operation @1|236", remplacementEdite.Operation.TypeOperation.Libelle);
                }
                else
                {
                    strInfo = I.T("Replaced|237");
                }

                CEquipementLogique equipementLogiqueDuRemplace = remplacementEdite.EquipementRemplace.EquipementLogique;
                // Detache l'équipement logique associé au remplacé
                remplacementEdite.EquipementRemplace.EquipementLogique = null;

                //Déplacement de l'équipement remplacé
                result.Data = null;
                if (!bIsDotation)
                {
                    result = remplacementEdite.EquipementRemplace.DeplaceEquipementOptionPassage(
                        strInfo,
                        EmplacementDestination,
                        null,
                        "",
                        null,
                        null,
                        dateRemplacement,
                        "",
                        false,
                        true);
                }
                if (!result)
                {
                    result.EmpileErreur(I.T("Movement of equipment @1 impossible|270",
                                            remplacementEdite.EquipementRemplace.Libelle));
                    return(result);
                }

                remplacementEdite.MouvementDuRemplace = (CMouvementEquipement)result.Data;

                //Déplacement de l'équipement de remplacement
                if (remplacementEdite.EquipementDeRemplacement != null)
                {
                    IEmplacementEquipement emplacementOuALieuLeRemplacement = null;
                    if (remplacementEdite.EquipementDeRemplacement.EquipementLogique == null)
                    {
                        remplacementEdite.EquipementDeRemplacement.EquipementLogique = equipementLogiqueDuRemplace;
                    }
                    string strLibelleRemplace = "";
                    if (bIsDotation)
                    {
                        strLibelleRemplace = remplacementEdite.NumSerieRemplace;
                    }
                    else
                    {
                        strLibelleRemplace = remplacementEdite.EquipementRemplace.Libelle;
                    }
                    if (!bIsDotation)
                    {
                        result = remplacementEdite.EquipementDeRemplacement.DeplaceEquipementOptionPassage(
                            I.T("Replacement of @1 |271", remplacementEdite.EquipementRemplace.Libelle),
                            remplacementEdite.MouvementDuRemplace.EmplacementOrigine,
                            remplacementEdite.MouvementDuRemplace.EquipementOrigine,
                            remplacementEdite.MouvementDuRemplace.CoordonneeOrigine,
                            remplacementEdite.MouvementDuRemplace.OccupationOrigine,
                            null,
                            dateRemplacement,
                            "",
                            false,
                            true);

                        if (result)
                        {
                            remplacementEdite.MouvementDuRemplacant = (CMouvementEquipement)result.Data;
                        }
                    }
                    else
                    {
                        if (remplacementEdite.Operation != null &&
                            remplacementEdite.Operation.FractionIntervention != null)
                        {
                            emplacementOuALieuLeRemplacement = remplacementEdite.Operation.FractionIntervention.Intervention.Site;
                        }
                        IsDotation = true;
                        NumSerieAvantRemplacement = remplacementEdite.EquipementDeRemplacement.NumSerie;
                        //Déplace l'équipement de remplacement sur le site,
                        result = remplacementEdite.EquipementDeRemplacement.DeplaceEquipementOptionPassage(
                            I.T("Replacement of @1 by @2|271", NumSerieRemplace, EquipementDeRemplacement.NumSerie),
                            emplacementOuALieuLeRemplacement,
                            null,
                            null,
                            null,
                            null,
                            dateRemplacement,
                            "",
                            false,
                            true);
                        if (result)
                        {
                            MouvementDuRemplacant = (CMouvementEquipement)result.Data;
                        }
                        //et le place sur le lieu de destination
                        if (result)
                        {
                            result = remplacementEdite.EquipementDeRemplacement.DeplaceEquipementOptionPassage(
                                I.T("Replacement of @1 by @2|271", NumSerieRemplace, EquipementDeRemplacement.NumSerie),
                                EmplacementDestination,
                                null,
                                null,
                                null,
                                null,
                                dateRemplacement,
                                "",
                                false,
                                true);
                            //Change le numéro de série de l'équipement
                            remplacementEdite.EquipementDeRemplacement.NumSerie = NumSerieRemplace;
                            if (result)
                            {
                                MouvementDuRemplace = (CMouvementEquipement)result.Data;
                            }
                        }
                    }



                    if (!result)
                    {
                        result.EmpileErreur(I.T("Movement of equipment @1 impossible|270",
                                                remplacementEdite.EquipementDeRemplacement.Libelle));
                        return(result);
                    }
                }
            }


            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            finally
            {
                //if ( result )
                //    result = remplacementEdite.CommitEdit();
                //else
                //    remplacementEdite.CancelEdit();
            }
            return(result);
        }
示例#11
0
        //----------------------------------------------------------------
        private void m_btnOk_Click(object sender, EventArgs e)
        {
            CResultAErreur result = CResultAErreur.True;

            IEmplacementEquipement emplacement = null;

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

            CTypeEquipement typeEquipementRemplace = (CTypeEquipement)m_selectTypeEquipementRemplace.ElementSelectionne;
            CEquipement     equipementRemplace     = (CEquipement)m_selectEquipementRemplace.ElementSelectionne;
            CEquipement     equipementRemplacant   = (CEquipement)m_selectEquipementRemplacant.ElementSelectionne;


            CRemplacementEquipement remplacement = m_operation.RemplacementAssocie;
            bool bNewRemplacement = remplacement == null;

            if (remplacement == null)
            {
                remplacement = new CRemplacementEquipement(m_operation.ContexteDonnee);
                remplacement.CreateNewInCurrentContexte();
            }

            //Indique une gestion par dotation, donc pas d'équipement remplacé
            bool bIsDotation = equipementRemplacant != null && equipementRemplacant.IsDotationApplique;

            if (!bIsDotation)
            {
                if (typeEquipementRemplace == null && equipementRemplace == null)
                {
                    CFormAlerte.Afficher(I.T("Select a replaced equipement or equipement type|30186"), EFormAlerteType.Exclamation);
                    return;
                }
            }

            remplacement.TypeEquipementRemplace = typeEquipementRemplace;
            remplacement.EquipementRemplace     = equipementRemplace;
            if (remplacement.EquipementRemplace != null)
            {
                remplacement.NumSerieRemplace = remplacement.EquipementRemplace.NumSerie;
            }
            else
            {
                if (bIsDotation)
                {
                    remplacement.NumSerieRemplace = m_txtSerialNumber.Text;
                }
                else
                {
                    remplacement.NumSerieRemplace = equipementRemplace != null ? equipementRemplace.NumSerie : "";
                }
            }
            remplacement.EquipementDeRemplacement = equipementRemplacant;
            remplacement.EmplacementDestination   = emplacement;
            remplacement.Info      = m_txtInfo.Text;
            remplacement.Operation = m_operation;

            if (equipementRemplace != null || bIsDotation)
            {
                result = remplacement.DoRemplacementInCurrentContexte(m_dtRemplacement.Value);
            }

            if (result.Result)
            {
                DialogResult = DialogResult.OK;
                Close();
            }
            else if (!result)
            {
                remplacement.CancelCreate();
                CFormAlerte.Afficher(result.Erreur);
            }
        }
示例#12
0
        //-------------------------------------------------------------------------
        private void CFormRemplacerEquipement_Load(object sender, EventArgs e)
        {
            m_initialise = false;

            m_dtRemplacement.Value = DateTime.Now;

            CWin32Traducteur.Translate(this);

            m_selectSite.Init <CSite>(
                "Libelle", false);
            m_selectStock.Init <CStock>(
                "Libelle", false);
            m_selectActeur.Init <CActeur>(
                "IdentiteComplete",
                false);

            InitSelectTypeEquipementRemplace();
            InitSelectEquipementRemplace();
            InitSelectEquipementRemplacant();
            InitProfilPreFiltreEquipementRemplacant();

            m_ctrlFindCoordonnee.Visible = false;

            m_panelSearchReplaced.Visible = true;
            m_panelSerialReplaced.Visible = false;

            CListeObjetsDonnees listeInter = m_operation.FractionIntervention.Intervention.RelationsIntervenants;

            if (listeInter.Count > 0)
            {
                m_selectActeur.ElementSelectionne = ((CIntervention_Intervenant)listeInter[0]).Intervenant;
            }
            m_radioActeur.Checked = true;

            CRemplacementEquipement remplacement = m_operation.RemplacementAssocie;

            if (remplacement != null)
            {
                m_selectTypeEquipementRemplace.ElementSelectionne = remplacement.TypeEquipementRemplace;
                m_selectEquipementRemplace.ElementSelectionne     = remplacement.EquipementRemplace;
                m_selectEquipementRemplacant.ElementSelectionne   = remplacement.EquipementDeRemplacement;

                m_selectActeur.ElementSelectionne = remplacement.EmplacementActeur;
                m_selectStock.ElementSelectionne  = remplacement.EmplacementStock;
                m_selectSite.ElementSelectionne   = remplacement.EmplacementSite;
                if (remplacement.MouvementDuRemplace != null)
                {
                    m_dtRemplacement.Value = remplacement.MouvementDuRemplace.DateMouvement;
                }
                else
                if (remplacement.Operation != null && remplacement.Operation.FractionIntervention.DateDebut != null)
                {
                    m_dtRemplacement.Value = (DateTime)remplacement.Operation.FractionIntervention.DateDebut;
                }

                IEmplacementEquipement emplacement = remplacement.EmplacementDestination;
                m_radioActeur.Checked = emplacement is CActeur;
                m_radioSite.Checked   = emplacement is CSite;
                m_radioStock.Checked  = emplacement is CStock;
                m_txtInfo.Text        = remplacement.Info;

                m_txtSerialNumber.Text = remplacement.NumSerieRemplace;

                LockEditionMouvement(true);
            }

            m_initialise = true;
        }
示例#13
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);
                }
            }
        }