//------------------------------------------------------------------- public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CMouvementRessource mouvement = (CMouvementRessource)objet; if (mouvement.RessourceDeplace == null) { result.EmpileErreur(I.T("Moved Resource cannot be empty|10005")); } if (mouvement.EmplacementOrigine == null) { result.EmpileErreur(I.T("The movement must be linked to an original location|123")); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
public CResultAErreur DeplaceRessource( string strInfoDeplacement, IPossesseurRessource emplacementDestination, CDonneesActeurUtilisateur utilisateur, DateTime dateDeplacement) { CResultAErreur result = CResultAErreur.True; if (emplacementDestination == null) { result.EmpileErreur(I.T("Movement must have a destination Place|248")); } if (utilisateur == null) { utilisateur = sc2i.workflow.CUtilSession.GetUserForSession(ContexteDonnee); if (utilisateur == null) { result.EmpileErreur(I.T("No user for movement|249")); } } if (!result) { return(result); } if (emplacementDestination.Equals(Emplacement)) { return(result); } CRessourceMaterielle ressourceToEdit = this; ressourceToEdit.BeginEdit(); CMouvementRessource mouvement = null; if (Emplacement != null) { mouvement = new CMouvementRessource(ressourceToEdit.ContexteDonnee); mouvement.CreateNewInCurrentContexte(); mouvement.RessourceDeplace = this; mouvement.EmplacementOrigine = Emplacement; mouvement.Info = strInfoDeplacement; mouvement.DateMouvement = dateDeplacement; mouvement.Utilisateur = utilisateur; } ressourceToEdit.SetEmplacementSansHistorique(emplacementDestination); // Déplace les ressources filles avec if (mouvement != null) { result = ressourceToEdit.VerifieDonnees(false); } if (result && mouvement != null) { result = mouvement.VerifieDonnees(false); } if (result) { result = ressourceToEdit.CommitEdit(); } else { ressourceToEdit.CancelEdit(); } return(result); }