public CResultAErreur InitPanel(CPhaseTicket phase) { m_bIsInitialising = true; if (phase == null) { return(CResultAErreur.False); } if (phase.TypePhase == null) { return(CResultAErreur.False); } if (phase.Ticket == null) { return(CResultAErreur.False); } CResultAErreur result = CResultAErreur.True; m_phaseEdite = phase; result = m_extLinkField.FillDialogFromObjet(m_phaseEdite); if (result) { result = InitListeInterventions(); } if (result) { result = InitPanelFormulaire(); } InitInfosGel(); m_ctrlSaisiesOperations.Init(m_phaseEdite); m_controlSaisieInfosCloture.Init(m_phaseEdite.Ticket); if (!m_phaseEdite.CanEdit()) { m_lblMessageEntete.Text = I.T("You do not have permission to edit this Phase|532"); } else { m_lblMessageEntete.Text = ""; } UpdateVisuelBoutons(); m_bIsInitialising = false; return(result); }
//------------------------------------------------------------------- /// <summary> /// /// </summary> /// <param name="contexte"></param> /// <returns></returns> public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte) { CResultAErreur result = base.TraitementAvantSauvegarde(contexte); if (!result) { return(result); } DataTable table = contexte.Tables[GetNomTable()]; if (table == null) { return(result); } ArrayList lst = new ArrayList(table.Rows); Dictionary <CFractionIntervention, bool> lstFractions = new Dictionary <CFractionIntervention, bool>(); foreach (DataRow row in table.Rows) { if (row.RowState == DataRowState.Added) { COperation operation = new COperation(row); if (operation.FractionIntervention != null) { lstFractions[operation.FractionIntervention] = true; } CTypeOperation opType = operation.TypeOperation; // Propage le lien de l'opération vers la phase si l'option est activée if (opType != null && opType.PropagerSurPhaseApplique) { if (operation.FractionIntervention != null && operation.FractionIntervention.Intervention != null) { CPhaseTicket phase = operation.FractionIntervention.Intervention.PhaseTicket; if (phase != null) { operation.PhaseTicket = phase; } } } } } foreach (CFractionIntervention fraction in lstFractions.Keys) { fraction.UpdateEtat(); } return(result); }
//------------------------------------------------------------------- public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CPhaseTicket phaseTicket = (CPhaseTicket)objet; } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
//----------------------------------------------------------------------------- private void m_listePhases_ItemClick(ListViewItem item) { if (item != null) { CPhaseTicket phase = (CPhaseTicket)item.Tag; if (phase != null) { if (!m_bIsInitialising) { m_panelEditionPhase.MAJ_Champs(); } InitPanelPhases(phase); } } }
//----------------------------------------------------------------------------- // Démarre la phase suivante du processus de résolution private void StartPhaseSuivante(CTypePhase typePhase) { m_extLinkField.FillObjetFromDialog(m_ticketEdite); CPhaseTicket phasePrecedente = m_ticketEdite.PhaseEnCours; CResultAErreur result = m_ticketEdite.StartPhaseSuivante(typePhase); if (result) { if (phasePrecedente != null) { m_ticketEdite.CreerHistorique(phasePrecedente, I.T("Ending Phase:|680") + " " + phasePrecedente.Libelle); } m_ticketEdite.CreerHistorique(null, I.T("Creating Phase:|681") + " " + typePhase.Libelle); m_extLinkField.FillDialogFromObjet(m_ticketEdite); } }
//------------------------------------------------------------------------- private void InitPanelPhases(CPhaseTicket phase) { if (phase == null) { m_panelEditionPhase.Visible = false; } else { m_panelEditionPhase.Visible = true; if (phase != m_ticketEdite.PhaseEnCours || !phase.CanEdit()) { m_panelEditionPhase.LockEdition = true; } else { m_panelEditionPhase.LockEdition = !m_gestionnaireModeEdition.ModeEdition; } m_panelEditionPhase.InitPanel(phase); } }
//------------------------------------------------------------------------- private void InitListeGels() { if (m_elementGelable == null) { return; } CPhaseTicket phaseEnCours = m_elementGelable as CPhaseTicket; if (phaseEnCours != null && !m_chkAfficherQueLaPhaseEnCours.Checked) { CListeObjetsDonnees listeGels = new CListeObjetsDonnees(phaseEnCours.ContexteDonnee, typeof(CGel)); // Va chercher tous les gels de toutes les phases du Ticket //listeGels.Filtre = new CFiltreDataAvance(CGel.c_nomTable, // CPhaseTicket.c_nomTable + "."+ // CTicket.c_champId + "= @1", // phaseEnCours.Ticket.Id); //List<CGel> listeSource = listeGels.ToList<CGel>(); List <CGel> listeSource = new List <CGel>(); // Ajoute les éventuels nouveaux gels qui sont pas encore dans la base foreach (CPhaseTicket phase in phaseEnCours.Ticket.PhasesListe) { foreach (CGel gel in phase.Gels) { //if (!listeSource.Contains(gel)) listeSource.Add(gel); } } m_wndListeGels.ListeSource = listeSource; } else { m_wndListeGels.ListeSource = m_elementGelable.Gels; } m_wndListeGels.Refresh(); }
public CResultAErreur Execute(int nIdSession, Hashtable valeursParametres) { CResultAErreur result = CResultAErreur.True; using (CContexteDonnee contexte = new CContexteDonnee(nIdSession, true, false)) { try { CHandlerEvenementServeur.SuspendGestionnaire(true); contexte.EnableTraitementsAvantSauvegarde = false; CListeObjetsDonnees lstInterventions = new CListeObjetsDonnees(contexte, typeof(CIntervention)); //*** DEBUG *** //lstInterventions.Filtre = new CFiltreData( // CIntervention.c_champId + " > @1 ", // 8500); int compteur = lstInterventions.CountNoLoad; // FIN DEBUG lstInterventions.ReadDependances("PhaseTicket.Ticket.RelationsChampsCustom"); lstInterventions.ReadDependances("RelationsIntervenants"); foreach (CIntervention inter in lstInterventions) { compteur--; CPhaseTicket phase = inter.PhaseTicket; if (phase != null) { // Copier les compte rendu pour OTA depuis l'intervention vers le ticket CTicket ticketLié = phase.Ticket; // 113 = Id du champ [Compte rendu d'Intervention modifié] string strCompteRendu = (string)inter.GetValeurChamp(113); // 114 = Id du champ [Compte rendu résumé pour OTA] ticketLié.SetValeurChamp(144, strCompteRendu); // Affecter le technicien sur les Phases de ticket CActeur acteur = null; if (phase.GetValeurChamp(146) == null) { foreach (CIntervention_Intervenant rel in inter.RelationsIntervenants) { acteur = rel.Intervenant; // 146 = Id du champ [Technicien affecté] sur Phase if (acteur != null) { phase.SetValeurChamp(146, acteur); break; } } } } } result = contexte.SaveAll(true); if (!result) { result.EmpileErreur("Erreur de sauvegarde des données"); return(result); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } finally { CHandlerEvenementServeur.SuspendGestionnaire(false); } } return(result); }
//------------------------------------------------------------------------------------ private void m_panelEditionPhase_OnDebutPhase(object sender, EventArgs e) { CPhaseTicket phase = (CPhaseTicket)sender; m_ticketEdite.CreerHistorique(null, I.T("Starting Phase|697") + " " + phase.Libelle); }