コード例 #1
0
ファイル: CDataRoomManager.cs プロジェクト: ykebaili/sc2idlls
        //-------------------------------------------------------------------------------------------------------------------
        public IDataRoomEntry GetFirstNotInSerie(
            string strIdTable,
            string strIdEntite,
            string strIdChamp,
            DateTime dateRecherche,
            ITestDataHotel test
            )
        {
            if (test == null)
            {
                return(null);
            }
            List <CDataRoomEntry> lstData = GetData(strIdTable, strIdEntite, strIdChamp, dateRecherche.Date, dateRecherche);

            lstData.Sort((x, y) => x.Date.CompareTo(y.Date));
            for (int n = lstData.Count - 1; n >= 0; n--)
            {
                if (!test.IsInFilter(strIdChamp, lstData[n]))
                {
                    return(lstData[n]);
                }
            }
            CPlageDates plage = GetPlageDates(strIdTable);

            if (dateRecherche > plage.DateMin)
            {
                return(GetFirstNotInSerie(strIdTable, strIdEntite, strIdChamp, dateRecherche.Date.AddSeconds(-0.1), test));
            }
            return(null);
        }
コード例 #2
0
ファイル: CDataRoomManager.cs プロジェクト: ykebaili/sc2idlls
        //-------------------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Dit depuis combien de temps le champ demandé correspond
        /// au filtre à la date donnée
        /// </summary>
        /// <param name="strTableId"></param>
        /// <param name="strEntityId"></param>
        /// <param name="strFieldId"></param>
        /// <param name="dt"></param>
        /// <param name="filtre"></param>
        /// <returns></returns>
        public double GetDepuisCombienDeTempsEnS(
            string strTableId,
            string strEntityId,
            string strFieldId,
            DateTime dt,
            ITestDataHotel filtre)
        {
            IDataRoomEntry entry = GetKnownDataAt(strTableId, strEntityId, strFieldId, dt);

            if (entry == null)
            {
                return(0);
            }
            if (!filtre.IsInFilter(strFieldId, entry))
            {
                return(0);
            }
            entry = GetFirstNotInSerie(strTableId, strEntityId, strFieldId, dt, filtre);
            if (entry != null)
            {
                return((dt - entry.Date).TotalSeconds);
            }
            return(0);
        }