//------------------------------------------------------------------- public void AppliquerFiltre() { CFiltreData filtre = null; CActeur acteur = m_txtActeur.ElementSelectionne as CActeur; if (acteur != null) { CFiltreData filtreAss = new CFiltreData(); string[] strCodes = acteur.GetListeCodesAffectationEtape(); foreach (string strCode in strCodes) { filtreAss.Filtre += CEtapeWorkflow.c_champAffectations + " like @" + (filtreAss.Parametres.Count + 1) + " or "; filtreAss.Parametres.Add("%~" + strCode + "~%"); } if (filtreAss.Filtre.Length > 0) { filtreAss.Filtre = filtreAss.Filtre.Remove(filtreAss.Filtre.Length - 4, 4); filtre = CFiltreData.GetAndFiltre(filtre, filtreAss); } } CEtatEtapeWorkflow etat = m_cmbEtats.SelectedValue as CEtatEtapeWorkflow; if (etat != null) { CFiltreData filtreTmp = new CFiltreData(CEtapeWorkflow.c_champEtat + "=@1", etat.CodeInt); filtre = CFiltreData.GetAndFiltre(filtreTmp, filtre); } CTypeWorkflow type = m_txtTypeWorkflow.ElementSelectionne as CTypeWorkflow; if (type != null) { filtre = CFiltreData.GetAndFiltre(filtre, new CFiltreDataAvance(CEtapeWorkflow.c_nomTable, CTypeEtapeWorkflow.c_nomTable + "." + CTypeWorkflow.c_champId + "=@1", type.Id)); } if (m_txtLabel.Text.Trim().Length > 0) { filtre = CFiltreData.GetAndFiltre(filtre, new CFiltreDataAvance(CEtapeWorkflow.c_nomTable, "(" + CEtapeWorkflow.c_champLibelle + " like @1) or (" + CEtapeWorkflow.c_champLibelle + "=@2 and " + CTypeEtapeWorkflow.c_nomTable + "." + CTypeEtapeWorkflow.c_champLibelle + " like @1)", "%" + m_txtLabel.Text.Trim() + "%", "")); } Filtre = filtre; OnAppliqueFiltre(new object(), null); }
//------------------------------------------------------------------- public void FillContexte(CContexteFormNavigable ctx) { CActeur acteur = m_txtActeur.ElementSelectionne as CActeur; ctx["FILTRE_ACTEUR"] = acteur != null ? (int?)acteur.Id : null; CEtatEtapeWorkflow etat = m_cmbEtats.SelectedValue as CEtatEtapeWorkflow; ctx["FILTRE_ETAT"] = etat; CTypeWorkflow type = m_txtTypeWorkflow.ElementSelectionne as CTypeWorkflow; ctx["FILTRE_TYPE_WKF"] = type != null ? (int?)type.Id : null; ctx["FILTRE_LABEL"] = m_txtLabel.Text; }
//------------------------------------------------------------------- public void InitFromContexte(CContexteFormNavigable ctx) { int?nIdActeur = ctx["FILTRE_ACTEUR"] as int?; if (nIdActeur != null) { CActeur acteur = new CActeur(CSc2iWin32DataClient.ContexteCourant); if (acteur.ReadIfExists(nIdActeur.Value)) { m_txtActeur.ElementSelectionne = acteur; } } else { m_txtActeur.ElementSelectionne = null; } CEtatEtapeWorkflow etat = ctx["FILTRE_ETAT"] as CEtatEtapeWorkflow; if (etat != null) { m_cmbEtats.SelectedValue = etat; } else { m_cmbEtats.SelectedValue = null; } int?nIdType = ctx["FILTRE_TYPE_WKF"] as int?; if (nIdType != null) { CTypeWorkflow type = new CTypeWorkflow(CSc2iWin32DataClient.ContexteCourant); if (type.ReadIfExists(nIdType.Value)) { m_txtTypeWorkflow.ElementSelectionne = type; } } else { m_txtTypeWorkflow.ElementSelectionne = null; } m_txtLabel.Text = ctx["FILTRE_LABEL"] as string; }
/// //////////////////////////////////////////////////////////////////// public CResultAErreur SerializeFiltre(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (!result) { return(result); } if (serializer.Mode == ModeSerialisation.Lecture) { InitCombos(); } CActeur acteur = m_txtActeur.ElementSelectionne as CActeur; int? nIdActeur = acteur != null ? (int?)acteur.Id : null; serializer.TraiteIntNullable(ref nIdActeur); if (nIdActeur != null && serializer.Mode == ModeSerialisation.Lecture) { acteur = new CActeur(CSc2iWin32DataClient.ContexteCourant); if (acteur.ReadIfExists(nIdActeur.Value)) { m_txtActeur.ElementSelectionne = acteur; } } CEtatEtapeWorkflow etat = m_cmbEtats.SelectedValue as CEtatEtapeWorkflow; int?nEtat = etat != null?(int?)etat.CodeInt:null; serializer.TraiteIntNullable(ref nEtat); if (serializer.Mode == ModeSerialisation.Lecture && nEtat != null) { etat = new CEtatEtapeWorkflow((EEtatEtapeWorkflow)nEtat.Value); m_cmbEtats.SelectedValue = etat; } CTypeWorkflow type = m_txtTypeWorkflow.ElementSelectionne as CTypeWorkflow; int? nIdType = type != null ? (int?)type.Id : null; serializer.TraiteIntNullable(ref nIdType); if (nIdType != null && serializer.Mode == ModeSerialisation.Lecture) { type = new CTypeWorkflow(CSc2iWin32DataClient.ContexteCourant); if (type.ReadIfExists(nIdType.Value)) { m_txtTypeWorkflow.ElementSelectionne = type; } } string strText = m_txtLabel.Text; serializer.TraiteString(ref strText); if (serializer.Mode == ModeSerialisation.Lecture) { m_txtLabel.Text = strText; } return(result); }