/// //////////////////////////////////////////////////////////// public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CRemplacementEquipement remplacement = (CRemplacementEquipement)objet; if (remplacement.EquipementRemplace == null) { result.EmpileErreur(I.T("The replaced equipment must be defined|253")); } if (remplacement.EmplacementDestination == null) { result.EmpileErreur(I.T("The site of the equipment must be defined|254")); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
//------------------------------------------------------------------- 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); }
//------------------------------------------------------------------- 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); }
//------------------------------------------------------------------- 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); }