/// <summary> /// Elimina la parte di filtro costituita da esercizio='yyyy' poiché /// la vista classmovimentioperativo non contiene il campo esercizio /// </summary> /// <param name="filter">filtro da purificare</param> /// <returns>filtro purificato</returns> //private string PurificaFiltro(string filter) { // string tofind="(ayear='"+GetSys("esercizio").ToString()+"')"; // int lentofind=tofind.Length; // //se non contiene la stringa non faccio nulla // if (!(filter.IndexOf(tofind)>0)) return filter; // //cerco il punto di inizio // int begin=filter.IndexOf(tofind); // int end=begin+lentofind; // //elimino la stringa // string newfilter=filter.Substring(0,begin)+filter.Substring(end); // //si trova in prima posizione? // if (newfilter.Trim().StartsWith("AND")) // return newfilter.Trim().Substring(3); // //si trova in ultima posizione? // if (newfilter.Trim().EndsWith("AND")) // return newfilter.Trim().Substring(0, newfilter.Length - newfilter.LastIndexOf("AND")); // //si trova al centro // return newfilter.Replace("ANDAND","AND"); //} public override DataRow SelectByCondition(string filter, string searchtable) { //filter=PurificaFiltro(filter); DataRow R = base.SelectByCondition(filter, "sortingusableyear"); if (R == null) { return(null); } string newfilter = QHS.AppAnd(QHS.CmpEq("ayear", GetSys("esercizio")), QHS.MCmp(R, "idsorkind", "idsor"), QHS.NullOrLt("start", GetSys("esercizio")), QHS.NullOrGe("stop", GetSys("esercizio"))); int count = Conn.RUN_SELECT_COUNT("sortingview", newfilter, true); if (count == 1) { return(R); } return(null); }