示例#1
0
        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);
        }
示例#2
0
        //-------------------------------------------------------------------
        /// <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);
        }
示例#3
0
        //-------------------------------------------------------------------
        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);
        }
示例#4
0
 //-----------------------------------------------------------------------------
 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);
         }
     }
 }
示例#5
0
        //-----------------------------------------------------------------------------
        // 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);
            }
        }
示例#6
0
 //-------------------------------------------------------------------------
 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);
     }
 }
示例#7
0
        //-------------------------------------------------------------------------
        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();
        }
示例#8
0
        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);
        }
示例#9
0
        //------------------------------------------------------------------------------------
        private void m_panelEditionPhase_OnDebutPhase(object sender, EventArgs e)
        {
            CPhaseTicket phase = (CPhaseTicket)sender;

            m_ticketEdite.CreerHistorique(null, I.T("Starting Phase|697") + " " + phase.Libelle);
        }