예제 #1
0
        private static int ComputTotalFanliValue(DBManager dbMgr, DBRoleInfo roleInfo, int activeid, string fromDate, string todate, List <int> minGateValueList)
        {
            DateTime now = DateTime.Now;
            DateTime huodongStartTime = new DateTime(2000, 1, 1, 0, 0, 0);
            DateTime huodongEndTime   = default(DateTime);

            DateTime.TryParse(fromDate, out huodongStartTime);
            DateTime.TryParse(todate, out huodongEndTime);
            int retvalue = 0;
            int result;

            if (now.Ticks <= huodongStartTime.Ticks + 864000000000L)
            {
                result = 0;
            }
            else
            {
                for (int i = 1; i <= 7; i++)
                {
                    DateTime sub1DayDateTime = Global.GetAddDaysDataTime(now, -i, true);
                    DateTime startTime       = new DateTime(sub1DayDateTime.Year, sub1DayDateTime.Month, sub1DayDateTime.Day, 0, 0, 0);
                    DateTime endTime         = new DateTime(sub1DayDateTime.Year, sub1DayDateTime.Month, sub1DayDateTime.Day, 23, 59, 59);
                    string   huoDongKeyStr   = Global.GetHuoDongKeyString(startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"));
                    if (startTime < huodongStartTime)
                    {
                        break;
                    }
                    int    hasgettimes = 0;
                    string lastgettime = "";
                    DBQuery.GetAwardHistoryForUser(dbMgr, roleInfo.UserID, activeid, huoDongKeyStr, out hasgettimes, out lastgettime);
                    if (hasgettimes > 0)
                    {
                        break;
                    }
                    retvalue += NewZoneActiveMgr.ComputNewFanLiValue(dbMgr, roleInfo, activeid, startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), minGateValueList);
                }
                result = retvalue;
            }
            return(result);
        }