Esempio n. 1
0
        //-------------------------------------------------------------------
        public CResultAErreur DoRemplacementPourDotation(DateTime dateRemplacement)
        {
            CResultAErreur result = CResultAErreur.True;

            CRemplacementEquipement remplacementEdite = this;

            remplacementEdite.BeginEdit();

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

                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");
                }


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

                    result = remplacementEdite.EquipementDeRemplacement.DeplaceEquipementOptionPassage(
                        strInfo,
                        remplacementEdite.MouvementDuRemplacant.EmplacementOrigine,
                        remplacementEdite.MouvementDuRemplacant.EquipementOrigine,
                        remplacementEdite.MouvementDuRemplacant.CoordonneeOrigine,
                        remplacementEdite.MouvementDuRemplacant.OccupationOrigine,
                        null,
                        dateRemplacement,
                        "",
                        false,
                        true);
                    if (!result)
                    {
                        result.EmpileErreur(I.T("Movement of equipment @1 impossible|270",
                                                remplacementEdite.EquipementDeRemplacement.Libelle));
                        return(result);
                    }
                    remplacementEdite.MouvementDuRemplace = (CMouvementEquipement)result.Data;
                }
            }


            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            finally
            {
                if (result)
                {
                    result = remplacementEdite.CommitEdit();
                }
                else
                {
                    remplacementEdite.CancelEdit();
                }
            }



            return(result);
        }
Esempio n. 2
0
        //-------------------------------------------------------------------
        public CResultAErreur AnnuleRemplacement()
        {
            CResultAErreur          result            = CResultAErreur.True;
            CRemplacementEquipement remplacementEdite = this;

            remplacementEdite.BeginEdit();


            try
            {
                if (remplacementEdite.MouvementDuRemplace != null)
                {
                    if (IsDotation)
                    {
                        CMouvementEquipement mvt = remplacementEdite.MouvementDuRemplace;
                        remplacementEdite.MouvementDuRemplace = null;                        //Pour éviter la suppression en casade
                        result = mvt.Delete();
                    }
                    else
                    {
                        result = remplacementEdite.MouvementDuRemplace.AnnuleDeplacement();
                    }
                    if (!result)
                    {
                        result.EmpileErreur(I.T("Impossible to cancel the replacement|267"));
                        return(result);
                    }
                    else
                    {
                        remplacementEdite.MouvementDuRemplace = null;
                    }
                }

                if (remplacementEdite.MouvementDuRemplacant != null)
                {
                    if (IsDotation)
                    {
                        CMouvementEquipement mvt = remplacementEdite.MouvementDuRemplacant;
                        remplacementEdite.MouvementDuRemplacant = null;                        //pour éviter la suppr en cascade
                        result = mvt.Delete();
                    }
                    else
                    {
                        result = remplacementEdite.MouvementDuRemplacant.AnnuleDeplacement();
                    }
                    if (!result)
                    {
                        result.EmpileErreur(I.T("Impossible to cancel the replacement|267"));
                        return(result);
                    }
                    else
                    {
                        remplacementEdite.MouvementDuRemplacant = null;
                        if (IsDotation)
                        {
                            remplacementEdite.EquipementDeRemplacement.NumSerie = NumSerieAvantRemplacement;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            finally
            {
                if (result)
                {
                    result = remplacementEdite.CommitEdit();
                }
                else
                {
                    remplacementEdite.CancelEdit();
                }
            }
            return(result);
        }