Exemple #1
0
        /// <summary>
        /// 查询包含DateTime.Now时间点的已缴房租时间段
        /// 1、如果最近一次的缴费期始时间大于DateTime.Now时间点,则包含此时间段,并向下查询,找到包含DateTime.Now时间点的缴费时间区域,并叠加。)
        /// 2、如果欠费,即最近一次缴费期末时间小于DateTime.Now,那么返回最近缴费时间区域
        /// </summary>
        /// <param name="context"></param>
        /// <param name="kf"></param>
        /// <returns></returns>
        public static MyDate GetRecentMyDate(MyContext context, 客房 kf)
        {
            MyDate myDate = new MyDate();
            var    result = GetRentDetails_Current2(kf);
            var    temp   = result.GetEnumerator();

            do
            {
                if (temp.MoveNext())
                {
                    myDate.Begin = MyDate.Smaller(temp.Current.起付日期, myDate.Begin);
                    myDate.End   = MyDate.Bigger(temp.Current.止付日期, myDate.End);
                }
                else
                {
                    break;
                }
            }while (temp.Current.起付日期.Date > DateTime.Now.Date);

            if (myDate.Begin == DateTime.MaxValue || myDate.End == DateTime.MinValue)
            {
                return(null);
            }
            else
            {
                myDate.ContractEnd = kf.期止;//当有缴费数据时,同时得到客房协议期止时间
                return(myDate);
            }
        }
Exemple #2
0
        /// <summary>
        /// 查询包含DateTime.Now时间点的已缴房租时间段
        /// 1、如果最近一次的缴费期始时间大于DateTime.Now时间点,则包含此时间段,并向下查询,找到包含DateTime.Now时间点的缴费时间区域,并叠加。)
        /// 2、如果欠费,即最近一次缴费期末时间小于DateTime.Now,那么返回最近缴费时间区域
        /// </summary>
        /// <param name="context"></param>
        /// <param name="yf"></param>
        /// <returns></returns>
        public static MyDate GetRecentPayMyDate(MyContext context, 源房 yf)
        {
            MyDate myDate = new MyDate();
            var    result = compiledQuery1.Invoke(context, yf.ID, "房租").Execute(MergeOption.NoTracking).ToList();
            var    temp   = result.GetEnumerator();

            do
            {
                if (temp.MoveNext())
                {
                    myDate.Begin = MyDate.Smaller(temp.Current.期始.Value, myDate.Begin);
                    myDate.End   = MyDate.Bigger(temp.Current.期止.Value, myDate.End);
                }
                else
                {
                    break;
                }
            }while (temp.Current.期始.Value.Date > DateTime.Now.Date);

            if (myDate.Begin == DateTime.MaxValue || myDate.End == DateTime.MinValue)
            {
                return(null);
            }
            else
            {
                myDate.ContractEnd = 源房涨租协定.GetByYFid(context, yf.ID).Execute(MergeOption.NoTracking).Max(m => m.期止);//当有缴费数据时,同时得到源房协议期止时间
                return(myDate);
            }
        }