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