コード例 #1
0
        public HouseBookingDateTimeInfo getHouseDataTimeInfoList(HouseBookingParam param)
        {
            HouseBookingDateTimeInfo houseBookingDateTimeInfo = new HouseBookingDateTimeInfo();

            houseBookingDateTimeInfo.beginTimes = new List <string>();
            houseBookingDateTimeInfo.endTimes   = new List <string>();

            House house = getHouseByHouseId(param.houseId);

            StringBuilder builder = new StringBuilder();

            builder.AppendFormat(ShipSqls.SELECT_HOUSELIST_TIME_BY_HOUSEID_AND_DATA, param.houseId, param.checkDate);
            string    sql = builder.ToString();
            DataTable dt  = DatabaseOperationWeb.ExecuteSelectDS(sql, "T").Tables[0];

            DateTime      begin         = Convert.ToDateTime(param.checkDate + " 09:00:00");
            DateTime      end           = Convert.ToDateTime(param.checkDate + " 19:00:00");
            List <string> beginTimes    = new List <string>();
            List <string> endTimes      = new List <string>();
            List <string> bookingPrices = new List <string>();

            DateTime dateTime   = begin;
            int      i          = 0;
            int      count      = 0;
            bool     ifEndClose = false;

            while (dateTime < end)
            {
                if (i == dt.Rows.Count || dateTime.AddMinutes(30) <= Convert.ToDateTime(dt.Rows[i]["BOOKING_TIME_FROM"]))
                {
                    beginTimes.Add(dateTime.ToString("HH:mm"));
                    dateTime = dateTime.AddMinutes(15);
                    count++;
                    if (!ifEndClose)
                    {
                        endTimes.Add(dateTime.ToString("HH:mm"));
                        bookingPrices.Add(Convert.ToString(Convert.ToDouble(house.hourPrice) / 4 * count));
                    }
                }
                else
                {
                    dateTime = Convert.ToDateTime(dt.Rows[i]["BOOKING_TIME_END"]).AddMinutes(15);
                    i++;
                    if (endTimes.Count > 0)
                    {
                        ifEndClose = true;
                    }
                }
            }
            houseBookingDateTimeInfo.beginTimes    = beginTimes;
            houseBookingDateTimeInfo.endTimes      = endTimes;
            houseBookingDateTimeInfo.bookingPrices = bookingPrices;

            return(houseBookingDateTimeInfo);
        }
コード例 #2
0
        public HouseBookingDateInfo getHouseBookingDateInfo(HouseBookingParam param)
        {
            HouseBookingDateInfo houseBookingDateInfo = new HouseBookingDateInfo();

            houseBookingDateInfo.todoDayList    = new List <TodoDay>();
            houseBookingDateInfo.disableDayList = new List <DisableDay>();
            StringBuilder builder = new StringBuilder();

            builder.AppendFormat(ShipSqls.SELECT_HOUSELIST_DATA_BY_HOUSEID, param.houseId);
            string    sql = builder.ToString();
            DataTable dt  = DatabaseOperationWeb.ExecuteSelectDS(sql, "T").Tables[0];

            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (dt.Rows[i]["BOOKINGTYPE"].ToString() == "1")
                    {
                        DisableDay disableDay = new DisableDay
                        {
                            year  = dt.Rows[i]["BOOKINGYEAR"].ToString(),
                            month = dt.Rows[i]["BOOKINGMONTH"].ToString(),
                            day   = dt.Rows[i]["BOOKINGDAY"].ToString(),
                        };
                        houseBookingDateInfo.disableDayList.Add(disableDay);
                    }
                    else
                    {
                        string todoText = "";
                        if (param.userPhone != "")
                        {
                            if (param.userPhone == dt.Rows[i]["BOOKINGYEAR"].ToString())
                            {
                                todoText = "预订";
                            }
                        }

                        TodoDay todoDay = new TodoDay
                        {
                            year     = dt.Rows[i]["BOOKINGYEAR"].ToString(),
                            month    = dt.Rows[i]["BOOKINGMONTH"].ToString(),
                            day      = dt.Rows[i]["BOOKINGDAY"].ToString(),
                            todoText = todoText,
                        };
                        houseBookingDateInfo.todoDayList.Add(todoDay);
                    }
                }
            }
            houseBookingDateInfo.house = getHouseByHouseId(param.houseId);
            return(houseBookingDateInfo);
        }