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); }