//------------------------------------------------------------ public virtual CResultAErreur Serialize(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (!result) { return(result); } serializer.TraiteString(ref m_strNomChampFinal); int nOp = (int)m_operationAgregation; serializer.TraiteInt(ref nOp); m_operationAgregation = (OperationsAgregation)nOp; if (nVersion < 2) { string strTmp = ""; serializer.TraiteString(ref strTmp); CSourceDeChampDeRequete source = new CSourceDeChampDeRequete(strTmp); serializer.TraiteString(ref strTmp); source.ChampDeTable = strTmp; serializer.TraiteString(ref strTmp); source.Alias = strTmp; m_listeSources = new ArrayList(); m_listeSources.Add(source); } else { result = serializer.TraiteArrayListOf2iSerializable(m_listeSources); if (!result) { return(result); } } serializer.TraiteBool(ref m_bGroupBy); serializer.TraiteType(ref m_typeDonneeAvantAgregation); if (nVersion >= 1) { serializer.TraiteString(ref m_strFonctionSql); } if (nVersion >= 3) { serializer.TraiteType(ref m_typeDonneeFinalForce); } else { m_typeDonneeFinalForce = null; } return(result); }
//---------------------------------------- public C2iChampDeRequete( string strNomChampFinal, CSourceDeChampDeRequete[] sources, Type typeDonneeAvantAgregation, OperationsAgregation operation, bool bGroupBy) { NomChamp = strNomChampFinal; m_listeSources = new ArrayList(sources); TypeDonneeAvantAgregation = typeDonneeAvantAgregation; OperationAgregation = operation; GroupBy = bGroupBy; }
//--------------------------------------------------- public CColumnDeEasyQueryChampDeRequete( string strNomChampFinal, CSourceDeChampDeRequete source, Type typeDonneeAvantAgregation, OperationsAgregation operation, bool bGroupBy) : base(strNomChampFinal, source, typeDonneeAvantAgregation, operation, bGroupBy) { m_strId = Guid.NewGuid().ToString(); }
public static CDonneeAgregation GetNewDonneeForOperation(OperationsAgregation operation) { switch (operation) { case OperationsAgregation.Sum: return(new CDonneeAgregationSomme()); case OperationsAgregation.Number: return(new CDonneeAgregationNombre()); case OperationsAgregation.DistinctNumber: return(new CDonneeAgregationNombreDistinct()); case OperationsAgregation.Max: return(new CDonneeAgregationMax()); case OperationsAgregation.Min: return(new CDonneeAgregationMin()); case OperationsAgregation.Average: return(new CDonneeAgregationMoyenne()); } return(null); }