Example #1
0
        //----------------------------------------------------------------------------

        public CResultAErreur InitPanel(CTicket ticketEdité)
        {
            this.SuspendDrawing();

            if (ticketEdité == null)
            {
                return(CResultAErreur.False);
            }

            CResultAErreur result = CResultAErreur.True;

            m_ticketEdite = ticketEdité;
            m_utilisateur = CUtilSession.GetUserForSession(m_ticketEdite.ContexteDonnee);

            m_extLinkField.FillDialogFromObjet(m_ticketEdite);

            // Init panel Infos générales
            InitInfosGenerales();
            // Init Détail Ticket



            this.ResumeDrawing();

            return(result);
        }
Example #2
0
        public CResultAErreur SetParametres(System.Collections.Generic.Dictionary <string, object> dicParametres)
        {
            CResultAErreur result = CResultAErreur.True;

            object obj = null;

            if (dicParametres.TryGetValue(c_nomParametreId, out obj))
            {
                if (obj is int)
                {
                    int     nId    = (int)obj;
                    CTicket ticket = new CTicket(CSc2iWin32DataClient.ContexteCourant);

                    if (nId == -1)
                    {
                        ticket.CreateNew();
                    }
                    else if (!ticket.ReadIfExists(nId))
                    {
                        result.EmpileErreur(I.T("There is no Crystal Report Model corresponding to the Id: @1|10006", nId.ToString()));
                        return(result);
                    }

                    // Affecte le ticket édité
                    this.ObjetEdite = ticket;
                }
                else
                {
                    result.EmpileErreur(I.T("The Ticket ID parameter must be an integer value|10007"));
                }
            }

            return(result);
        }
Example #3
0
        //---------------------------------------------------------------------------------
        public CResultAErreur Init(CTicket ticket)
        {
            if (ticket == null)
            {
                return(CResultAErreur.False);
            }

            CResultAErreur result = CResultAErreur.True;

            m_ticketEdite = ticket;

            result = m_extLinkField.FillDialogFromObjet(m_ticketEdite);
            result = InitComboEtatCloture(true);
            m_cmbxSelectEtatCloture.ElementSelectionne = m_ticketEdite.EtatCloture;

            if (m_ticketEdite.DateClotureTechnique != null)
            {
                m_dateClotureTech.Value = (DateTime)m_ticketEdite.DateClotureTechnique;
            }
            else
            {
                m_dateClotureTech.Value = null;
            }

            InitSelectResoluPar();
            m_txtSelectResoluPar.ElementSelectionne = m_ticketEdite.ResponsableClotureTechnique;

            return(result);
        }
        //----------------------------------------------------------------------
        public void Init(CTicket ticket)
        {
            m_ticket = ticket;

            //Initialisation du filtre de base
            m_filtrebase = new CFiltreData(CTicket.c_champId + " <> @1 AND " + CTicket.c_champEtat + " = 0 ", m_ticket.Id);

            //Initialisation Maitres
            //tool tip
            m_tooltip.SetToolTip(m_chkMaitreClotureAuto, "The ticket will be automatically closed when the selected master Ticket is closed|1104");

            //Initialisation des maîtres
            m_gestionnaireMaitres.ObjetEdite = m_ticket.RelationsMaitresListe;

            //Initialisation Esclaves
            //tool tip
            m_tooltip.SetToolTip(m_chkEsclaveClotureAuto, "The selected slave Ticket will be automaticaly closed when this Tikcet is closed|1105");

            //Initialisation des esclaves
            m_gestionnaireEsclaves.ObjetEdite = m_ticket.RelationsEsclavesListe;


            MAJFiltreSelectionneurs();

            m_lnkEsclaveEditer.Visible      = false;
            m_lnkMaitreEditer.Visible       = false;
            m_chkMaitreClotureAuto.Visible  = false;
            m_chkEsclaveClotureAuto.Visible = false;
        }
Example #5
0
        public void Init()
        {
            m_contexte      = sc2i.win32.data.CSc2iWin32DataClient.ContexteCourant;
            m_nouveauTicket = new CTicket(m_contexte);
            m_nouveauTicket.CreateNew();

            m_panelEditionTicket.InitPanel(m_nouveauTicket);
        }
        //-------------------------------------------------------------------
        public void Init(CTicket ticket)
        {
            m_ticketEdite = ticket;

            InitSelectSite();
            InitSelectEO();
            InitListeSites();
            InitListeEOs();
        }
Example #7
0
        //-------------------------------------------------------------------
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CTicket ticket = (CTicket)objet;

                //On vérifi qu'il n'y a aucun des esclaves qui est déjà maitre de ce ticket
                foreach (CDependanceTicket dep in ticket.RelationsEsclavesListe)
                {
                    if (dep.TicketEsclave.IsMaitre(ticket))
                    {
                        result.EmpileErreur(I.T("The slave ticket @1 is already defined as a master of this ticket|229", dep.TicketEsclave.Numero));
                    }
                }

                //On vérifi qu'il n'y a aucun des maitres qui est déjà esclave de ce ticket
                foreach (CDependanceTicket dep in ticket.RelationsMaitresListe)
                {
                    if (ticket.IsMaitre(dep.TicketMaitre))
                    {
                        result.EmpileErreur(I.T("The master ticket @1 is already defined as a slave of this ticket|230", dep.TicketMaitre.Numero));
                    }
                }

                if (ticket.Responsable == null)
                {
                    result.EmpileErreur(I.T("A person  in charge of this ticket must be affected|231"));
                }

                // Saisie des détails
                if (ticket.Client == null)
                {
                    result.EmpileErreur(I.T("The Customer cannot be empty|232"));
                }
                if (ticket.Contrat == null)
                {
                    result.EmpileErreur(I.T("The Contract cannot be empty|233"));
                }
                if (ticket.TypeTicket == null)
                {
                    result.EmpileErreur(I.T("The Ticket Type cannot be empty|234"));
                }

                // Le Tikcet doit avoir au moins une phase de résolution
                //if (ticket.PhasesListe.Count == 0)
                //  result.EmpileErreur(I.T("The ticket must have at least one resolution phase|235"));
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
Example #8
0
        //-------------------------------------------------------------------
        /// <summary>
        ///
        /// </summary>
        /// <param name="contexte"></param>
        /// <returns></returns>
        public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte)
        {
            CResultAErreur result = CResultAErreur.True;

            DataTable table = contexte.Tables[GetNomTable()];
            ArrayList lst   = new ArrayList(table.Rows);

            foreach (DataRow row in lst)
            {
                if (row.RowState == DataRowState.Modified)
                {
                    CTicket ticket = new CTicket(row);

                    DataRowVersion            currentVersion = ticket.VersionToReturn;
                    CDonneesActeurUtilisateur respApresModif = ticket.Responsable;
                    DateTime?dateClotureTechApres            = ticket.DateClotureTechnique;

                    ticket.VersionToReturn = DataRowVersion.Original;
                    CDonneesActeurUtilisateur respAvantModif = ticket.Responsable;
                    DateTime?dateClotureTechAvant            = ticket.DateClotureTechnique;

                    ticket.VersionToReturn = currentVersion;

                    // Si le Responsable a été modifié, création d'un Historique
                    if (respApresModif != null)
                    {
                        if (respAvantModif == null || respApresModif != respAvantModif)
                        {
                            if (respApresModif.Acteur != null)
                            {
                                ticket.CreerHistorique(ticket.PhaseEnCours, I.T("Ticket assigned to : |406") + respApresModif.Acteur.IdentiteComplete);
                            }
                        }
                    }
                    // Si la date de cloture technique change
                    if (dateClotureTechApres != null && dateClotureTechApres != dateClotureTechAvant)
                    {
                        ticket.CreerHistorique(ticket.PhaseEnCours, I.T("Technical closing date set to @1|407", dateClotureTechApres.ToString()));
                    }
                }
            }

            return(result);
        }
        //----------------------------------------------------------------------
        private void AfficherTicket(CTicket tkt)
        {
            //Type t = CFormFinder.GetTypeFormToEdit(tkt.GetType());
            //if (typeof(IFormNavigable).IsAssignableFrom(t))
            //{
            //    IFormNavigable iformnav = (IFormNavigable)Activator.CreateInstance(t, new object[] { tkt });
            //    CTimosApp.Navigateur.AffichePage(iformnav);
            //}
            CReferenceTypeForm refTypeForm = CFormFinder.GetRefFormToEdit(tkt.GetType());

            if (refTypeForm != null)
            {
                IFormNavigable iformnav = refTypeForm.GetForm(tkt) as IFormNavigable;
                if (iformnav != null)
                {
                    CTimosApp.Navigateur.AffichePage(iformnav);
                }
            }
        }
Example #10
0
        public CResultAErreur InitPanel(CTicket ticketEdité)
        {
            m_bIsInitialising = true;

            this.SuspendDrawing();

            if (ticketEdité == null)
            {
                return(CResultAErreur.False);
            }

            CResultAErreur result = CResultAErreur.True;

            m_ticketEdite = ticketEdité;
            m_utilisateur = CUtilSession.GetUserForSession(m_ticketEdite.ContexteDonnee);

            if (m_ticketEdite.IsNew())
            {
                m_bNouveau = true;
                m_ticketEdite.CreerHistorique(null, I.T("Ticket opening|675"));
            }
            else
            {
                m_bNouveau = false;
            }

            m_extLinkField.FillDialogFromObjet(m_ticketEdite);

            // Init panel Infos générales
            InitInfosGenerales();
            // Init Détail Ticket
            InitDetailTicket();
            InitOnglets();

            m_bIsInitialising = false;

            UpdateVisuEntete(m_bInfosEnteteAffiche);

            this.ResumeDrawing();

            return(result);
        }
        //----------------------------------------------------------------------
        private void m_MaitreAjout_LinkClicked(object sender, EventArgs e)
        {
            if (m_txtMaitreSelec.ElementSelectionne != null)
            {
                CTicket tkt = (CTicket)m_txtMaitreSelec.ElementSelectionne;

                if (tkt.Equals(m_ticket))
                {
                    CFormAlerte.Afficher(I.T("A Ticket cannot be master of itself|1106"), EFormAlerteType.Exclamation);
                }
                else if (m_ticket.IsMaitre(tkt))
                {
                    CFormAlerte.Afficher(I.T("This Ticket cannot be a master Ticket, it is already slave of the current Ticket|1107"), EFormAlerteType.Exclamation);
                }
                else
                {
                    CDependanceTicket dependancetkt = new CDependanceTicket(m_ticket.ContexteDonnee);
                    dependancetkt.TicketMaitre       = tkt;
                    dependancetkt.TicketEsclave      = m_ticket;
                    dependancetkt.ClotureAutoEscalve = false;
                    dependancetkt.CreateNewInCurrentContexte();


                    ListViewItem item = new ListViewItem();
                    m_listeMaitres.Items.Add(item);
                    m_listeMaitres.UpdateItemWithObject(item, dependancetkt);
                    foreach (ListViewItem itemSel in m_listeMaitres.SelectedItems)
                    {
                        itemSel.Selected = false;
                    }
                    item.Selected = true;

                    m_txtMaitreSelec.ElementSelectionne = null;

                    MAJFiltreSelectionneurs();
                }
            }
        }
Example #12
0
        //--------------------------------------------------------------------------
        private void m_lnkNouveauTicket_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            // Créer un nouveau ticket
            CTicket ticket = new CTicket(m_listeObjets.ContexteDonnee);

            ticket.CreateNew();
            // Edition dans un nouvel onglet

            CReferenceTypeForm rTpForm = CFormFinder.GetRefFormToEdit(typeof(CTicket));

            if (rTpForm != null)
            {
                IFormNavigable form = rTpForm.GetForm(ticket) as IFormNavigable;
                if (form != null)
                {
                    CTimosApp.Navigateur.AffichePageDansNouvelOnglet(form);
                }
            }

            //CFormNavigateurPopup.Show(new CFormEditionTicket(ticket),FormWindowState.Maximized);

            InitPanel();
        }
Example #13
0
 //-------------------------------------------------------------------------
 public CFormEditionTicket(CTicket ticket, CListeObjetsDonnees liste)
     : base(ticket, liste)
 {
     // Cet appel est requis par le Concepteur Windows Form.
     InitializeComponent();
 }
Example #14
0
 //-------------------------------------------------------------------------
 public CFormEditionTicket(CTicket ticket)
     : base(ticket)
 {
     // Cet appel est requis par le Concepteur Windows Form.
     InitializeComponent();
 }
Example #15
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);
        }
        public CResultAErreur Execute(int nIdSession, Hashtable valeursParametres)
        {
            CResultAErreur result = CResultAErreur.True;

            using (CContexteDonnee contexte = new CContexteDonnee(nIdSession, true, false))
            {
                StreamReader reader = null;
                try
                {
                    CHandlerEvenementServeur.SuspendGestionnaire(true);
                    contexte.EnableTraitementsAvantSauvegarde = false;

                    // Charges tous les tickets
                    CListeObjetsDonnees listeTicketsACharger = new CListeObjetsDonnees(contexte, typeof(CTicket));
                    listeTicketsACharger.ReadDependances("RelationsChampsCustom");

                    // Lire le CSV
                    string strFichierImport = "c:\\TimosData\\IMPORT_JANVIER_MARS_2009.csv";
                    reader = new StreamReader(strFichierImport);

                    // Lit l'entête de colonnes
                    string strLine = reader.ReadLine();
                    // Lit la première ligne
                    strLine = reader.ReadLine();
                    while (strLine != null)
                    {
                        // Pour chaque ligne du ficher
                        string[] strChamps       = strLine.Split(';');
                        string   strNumeroTicket = strChamps[0];
                        string   strIdQualif     = strChamps[2];

                        // Traitement
                        CTicket ticket = new CTicket(contexte);
                        if (ticket.ReadIfExists(new CFiltreData(
                                                    CTicket.c_champNumero + " = @1",
                                                    strNumeroTicket)))
                        {
                            CQualificationTicket qualif = new CQualificationTicket(contexte);
                            if (qualif.ReadIfExists(new CFiltreData(
                                                        CQualificationTicket.c_champId + " = @1",
                                                        Int32.Parse(strIdQualif))))
                            {
                                // Affecte la valeur du champs custom 147 : Requalification
                                ticket.SetValeurChamp(147, qualif);
                            }
                        }

                        // Lit la ligne suivante
                        strLine = reader.ReadLine();
                    }

                    reader.Close();

                    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);
                    if (reader != null)
                    {
                        reader.Close();
                    }
                }
            }

            return(result);
        }