Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var time = DateTime.Parse("2017-09-01");
            var week = (int)time.DayOfWeek;

            using (var db = new yudingEntities())
            {
                var ratecodelist = db.newroom_t.Where(x => x.flag == 0).ToList();
                var list         = new List <info>();

                foreach (var item in ratecodelist)
                {
                    var b = new info()
                    {
                        xz = new List <xz>()
                    };
                    if (db.roomtimestart_t.Any(x => x.flag == 0 && x.roomtype == item.roomtype && x.startdate <= time && x.enddate >= time))
                    {
                        //集合里添加一个房型
                        b.roomtype = item.roomtype;
                        b.roomname = item.descript;
                        var xz1    = new List <xz>();
                        var xzlist = db.rateroom_xz.Where(x => x.roomtype == item.roomtype && x.flag == 0).GroupBy(x => x.roomtype).ToList();
                        foreach (var item1 in xzlist)
                        {
                            var xzcode = item1.FirstOrDefault(x => x.WeekIndex == week).xz_code;
                            var isok   = db.everydate_price_t.Where(x => x.everydate == time && x.xz_code == xzcode).FirstOrDefault();
                            if (isok != null)
                            {
                                //集合里添加一个房价码
                                var s = new xz()
                                {
                                    xz_code = item1.FirstOrDefault().xz_code.ToString(),
                                    xz_name = item1.FirstOrDefault().xz_name.ToString(),
                                    price   = isok.price,
                                    package = isok.package,
                                };
                                xz1.Add(s);
                                b.xz.AddRange(xz1);
                            }
                        }
                        var min = db.everydate_price_t.Where(x => x.everydate == time).Min(x => x.price);
                        b.minprice = min;
                        list.Add(b);
                    }
                }
            }
        }
Beispiel #2
0
        private void AddIncrease(yudingEntities db, order_increase item)
        {
            var increase = new increase_order()
            {
                descript      = item.increasedescribe,
                hotelid       = hotelcode,
                increasenum   = int.Parse(item.increasenum),
                increaseprice = int.Parse(item.increaseprice),
                pay           = int.Parse(item.pay),
                price         = item.price,
                roomtype      = item.roomtype,
                sessionid     = item.sessionid,
                tian          = item.tian,
            };

            db.increase_order.Add(increase);
        }
Beispiel #3
0
        /// <summary>
        /// 刷新缓存
        /// </summary>
        /// <param name="db"></param>
        /// <param name="key"></param>
        /// <param name="hotelcode"></param>
        /// <param name="type"></param>
        public static void Refresh(yudingEntities db, string key, string hotelcode, int type, DateTime time)
        {
            //var min = db.everydate_price_t.Where(x => x.hotelid == hotelcode&&x.xz_code==key&&x.everydate==time).Min(x => x.everydate);
            //var max = db.everydate_price_t.Where(x => x.hotelid == hotelcode&&x.xz_code==key).Max(x => x.everydate);
            // var min = DateTime.Parse("");
            //var max = DateTime.Parse("");
            //var days = (int)(max - min).TotalDays;
            var client = new RedisClient("127.0.0.1", 6379);
            var week   = (int)time.DayOfWeek;
            var list   = GetRoomTypeList(db, hotelcode, type, week, time);

            if (list.Count > 0)
            {
                var str = hotelcode + time.ToString("yyyy-MM-dd") + type.ToString();
                client.Set <List <info> >(str, list);
                // var starttime = time.ToString("yyyy-MM-dd");
                //foreach (var item in list)
                //{
                //    client.Set<List<RateXzByRmType>>(hotelcode + item.roomtype + time.ToString("yyyy-MM-dd"), GetRateCodexzByRoomtype(db, starttime, starttime, item.roomtype, hotelcode, type));
                //}
            }
        }
Beispiel #4
0
 protected void Page_Load(object sender, EventArgs e)
 {
     try
     {
         using (yudingEntities db = new yudingEntities())
         {
             var weatherData = new Root();
             var tomorrow    = Convert.ToDateTime(DateTime.Now.AddDays(+1).ToString("yyyy-MM-dd"));
             var today       = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));
             var list        = db.order_t.Where(x => x.ispay == 1 && x.state == "R" && (x.arrivetime == tomorrow || x.arrivetime == today) && x.isSendMsg == "0").GroupBy(x => x.sessionid).ToList();
             var city        = "";
             if (list.Count > 0)
             {
                 foreach (var item in list)
                 {
                     var    mobile    = item.FirstOrDefault().contact_mobile;
                     var    sessionid = item.FirstOrDefault().sessionid;
                     string roomname  = "";
                     foreach (var item1 in item)
                     {
                         roomname += "【" + item.FirstOrDefault().hotelname + "】" + item1.arrivetime.ToString() + item1.roomname + item1.count + "间,";
                     }
                     if (item.FirstOrDefault().City == city)
                     {
                         if (item.FirstOrDefault().City != "" && item.FirstOrDefault().City != null)
                         {
                             item.FirstOrDefault().City = city;
                             var shopcode = item.FirstOrDefault().hotelcode;
                             var modelid  = HttpPost("http://fx.kuaishun.net/Sms/Api/GetTemplate.ashx", "hotelcode=" + shopcode + "&type=TQYB");
                             var modelxx  = JsonConvert.DeserializeObject <GetModelId>(modelid);
                             var SendMsg  = s.SendSameSms(mobile, modelxx.data.TemplateId, sessionid + "," + roomname + "," + city + "," + weatherData.result.today.weather + "," + weatherData.result.today.temperature, "", shopcode);
                             var result   = JsonConvert.DeserializeObject <SendMsgResult>(SendMsg);
                             if (result.Msg == "00")
                             {
                                 var data = db.order_t.Where(x => x.sessionid == sessionid).ToList();
                                 foreach (var item2 in data)
                                 {
                                     item2.isSendMsg = "1";
                                 }
                                 db.SaveChanges();
                                 //WritenLog(DateTime.Now.ToString() + ":后台服务发送一条天气预报短信,发送给" + mobile + "," + "批次号:" + sessionid, CurrentPath);
                             }
                         }
                     }
                     else
                     {
                         city = item.FirstOrDefault().City;
                         if (city != null && city != "")
                         {
                             weatherData = JsonConvert.DeserializeObject <Root>(GetFunction(city));
                             var shopcode = item.FirstOrDefault().hotelcode;
                             var modelid  = HttpPost("http://fx.kuaishun.net/Sms/Api/GetTemplate.ashx", "hotelcode=" + shopcode + "&type=TQYB");
                             var modelxx  = JsonConvert.DeserializeObject <GetModelId>(modelid);
                             var SendMsg  = s.SendSameSms(mobile, modelxx.data.TemplateId, sessionid + "," + roomname + "," + city + "," + weatherData.result.today.weather + "," + weatherData.result.today.temperature, "", shopcode);
                             var result   = JsonConvert.DeserializeObject <SendMsgResult>(SendMsg);
                             if (result.Msg == "00")
                             {
                                 var data = db.order_t.Where(x => x.sessionid == sessionid).ToList();
                                 foreach (var item2 in data)
                                 {
                                     item2.isSendMsg = "1";
                                 }
                                 db.SaveChanges();
                                 // WritenLog(DateTime.Now.ToString() + ":后台服务发送一条天气预报短信,发送给" + mobile + "," + "批次号:" + sessionid, CurrentPath);
                             }
                         }
                     }
                     // var SendMsg = s.SendSameSms(item.FirstOrDefault().contact_mobile, "38425", "" + tq.result.today.weather + "," + tq.result.today.temperature + "," + tq.result.today.dressing_advice + "", "", "KSHZ");
                 }
             }
         }
     }
     catch (Exception ex)
     {
         //WritenLog(ex + "-------" + DateTime.Now.ToString(), CurrentPath);
     }
 }
Beispiel #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //var time = DateTime.Parse("2017-08-24");
            //var index = (int)time.DayOfWeek;
            //var a = index.ToString();
            //using (var db = new yudingEntities())
            //{
            //    var roomlist = new List<roomlist>()
            //    {


            //    };
            //    var roomtime = db.newroomtimes.Where(x => x.startdate <= time && time <= x.enddate && x.flag == 0 && x.week == a).ToList();
            //    foreach (var item in roomtime)
            //    {
            //        var room = new roomlist()
            //        {
            //            roomname=item.descript,
            //            roomtype=item.roomtype,
            //            pricelist=new List<price>(),
            //        };

            //        var xz = db.GetRoomAndPrices.Where(x => x.roomtype == item.roomtype && x.WeekIndex == index).ToList();
            //        foreach (var item1 in xz)
            //        {
            //            var  x =

            //        }


            //    }
            using (var db = new yudingEntities())
            {
                var ratecode = "KSHZ20170828396";
                var a        = db.GetRateCode_xz.Where(x => x.ratecode == ratecode).GroupBy(x => x.roomtype).ToList();
                var list     = new List <info>();
                var time     = DateTime.Parse("2017-08-24");
                foreach (var item in a)
                {
                    var b = new info()
                    {
                        xz = new List <xz>()
                    };
                    var r = item.FirstOrDefault().roomtype;
                    if (db.roomtimestart_t.Any(x => x.roomtype == r && x.startdate == time && x.flag == 0))
                    {
                        b.roomtype = item.FirstOrDefault().roomtype;
                        b.roomname = item.FirstOrDefault().descript;
                    }
                    var xz1 = new List <xz>();
                    foreach (var item1 in item.GroupBy(x => x.xz_code))
                    {
                        var c = item1.FirstOrDefault().xz_code;
                        if (db.everydate_price_t.Any(x => x.xz_code == c && x.everydate == time))
                        {
                            var s = new xz()
                            {
                                xz_code = item1.FirstOrDefault().xz_code.ToString(),
                                xz_name = item1.FirstOrDefault().xz_name.ToString(),
                                price   = item1.FirstOrDefault().price,
                                package = item1.FirstOrDefault().package,
                            };
                            xz1.Add(s);
                        }
                    }
                    b.xz.AddRange(xz1);
                    list.Add(b);
                }
                var json = JsonConvert.SerializeObject(list);
                Response.Write(json);
            }
        }
Beispiel #6
0
        /// <summary>
        /// 获取房型列表
        /// </summary>
        /// <param name="hotelcode"></param>
        /// <param name="type"></param>
        /// <param name="week"></param>
        /// <param name="time"></param>
        /// <returns></returns>
        public static List <info> GetRoomTypeList(yudingEntities db, string hotelcode, int type, int week, DateTime time)
        {
            var a            = db.ratecode_t.Where(x => x.flag == 0 && x.scenario == 1 && x.hotelid == hotelcode && x.type == type).FirstOrDefault().ratecode;
            var ratecodelist = db.newroom_t.Where(x => x.flag == 0 && x.hotelid == hotelcode && x.type == type).ToList();
            var list         = new List <info>();

            foreach (var item in ratecodelist)
            {
                var b = new info()
                {
                    xz = new List <xz>()
                };
                var now     = DateTime.Now;
                var strWeek = week.ToString();
                var room    = db.newroomtimes.Where(x => x.flag == 0 && x.timeflag == 0 && x.roomtype == item.roomtype && x.startdate <= time && x.enddate >= time && x.week == strWeek
                                                    ).OrderByDescending(x => x.px).FirstOrDefault();
                if (room != null)
                {
                    Nullable <DateTime> roomstarttime = room.startdate;
                    Nullable <DateTime> roomendtime   = room.enddate;
                    if (room.starttime != "" && room.endtime != "")
                    {
                        roomstarttime = now.AddHours(DateTime.Parse(room.starttime).Hour).AddMinutes(DateTime.Parse(room.starttime).Minute);
                        roomendtime   = now.AddHours(DateTime.Parse(room.endtime).Hour).AddMinutes(DateTime.Parse(room.endtime).Minute);
                    }
                    if (room != null && time >= roomstarttime && time <= roomendtime)
                    {
                        var xzlist = db.rateroom_xz.Where(x => x.roomtype == item.roomtype && x.flag == 0 && x.ratecode == a && x.WeekIndex == week).ToList();
                        foreach (var item1 in xzlist)
                        {
                            var ratecode = item1.ratecode;
                            if (ratecode == a)
                            {
                                if (b.roomtype != item.roomtype)
                                {
                                    b.price    = room.yuanjia;
                                    b.pic      = room.img;
                                    b.roomtype = item.roomtype;
                                    b.roomname = item.descript;
                                    var xz1    = new List <xz>();
                                    var xzcode = item1.xz_code;
                                    // var c = db.xztimestart_t.Where(x => x.startdate <= time && x.enddate >= time && x.xz_code == xzcode && x.flag == 0).FirstOrDefault();
                                    //if(c)
                                    Nullable <decimal> MinPrice = 0;
                                    var xzprice = db.GetRateCodexzByRoomtypes.Where(x => x.everydate == time && x.roomtype == item.roomtype && x.flag == 0 && x.WeekIndex == week).OrderByDescending(x => x.price).ToList();
                                    foreach (var item2 in xzprice)
                                    {
                                        var xztime = db.xztimestart_t.Where(x => x.xz_code == item2.xz_code && x.week == week.ToString() && x.startdate <= time && x.enddate >= time).OrderByDescending(x => x.px).FirstOrDefault();
                                        if (xztime != null && item2.price != 0)
                                        {
                                            MinPrice = item2.price;
                                        }
                                    }
                                    //var min = db.GetRateCodexzByRoomtypes.Where(x => x.everydate == time && x.roomtype == item.roomtype && x.flag == 0&&x.WeekIndex==week ).Min(x => x.price);
                                    b.minprice = MinPrice;
                                    list.Add(b);
                                }
                            }
                        }
                    }
                }
            }
            return(list);
        }
Beispiel #7
0
        public static List <info> GetRoomsByDate(string date, int type, string hotelcode)
        {
            //var r = Getpost("date");
            var time = DateTime.Parse(date);
            var week = (int)time.DayOfWeek;

            // var type = int.Parse(Getpost("type"));
            // var client = new RedisClient("127.0.0.1", 6379);
            //var str = hotelcode + time.ToString("yyyy-MM-dd") + type.ToString();
            //var roomListData = client.Get<List<info>>(str);
            //if (roomListData==null)
            //{
            using (var db = new yudingEntities())
            {
                var ratecode1 = db.ratecode_t.Where(x => x.flag == 0 && x.scenario == 1 && x.hotelid == hotelcode && x.type == type).FirstOrDefault();
                if (ratecode1 != null)
                {
                    var a            = ratecode1.ratecode;
                    var ratecodelist = db.newroom_t.Where(x => x.flag == 0 && x.hotelid == hotelcode && x.type == type).OrderByDescending(x => x.pxid).ToList();
                    var list         = new List <info>();
                    foreach (var item in ratecodelist)
                    {
                        var b = new info()
                        {
                            xz = new List <xz>()
                        };
                        var now     = DateTime.Now;
                        var strWeek = week.ToString();
                        var roomxz  = db.newroomtimes.Where(x => x.flag == 0 && x.timeflag == 0 && x.roomtype == item.roomtype && x.startdate <= time && x.enddate >= time
                                                            ).OrderByDescending(x => x.pxid);
                        var px   = roomxz.Max(x => x.px);
                        var room = roomxz.Where(x => x.px == px && x.week == strWeek).FirstOrDefault();
                        if (room != null)
                        {
                            Nullable <DateTime> roomstarttime = room.startdate;
                            Nullable <DateTime> roomendtime   = room.enddate;
                            if (room.starttime != "" && room.endtime != "")
                            {
                                roomstarttime = now.AddHours(DateTime.Parse(room.starttime).Hour).AddMinutes(DateTime.Parse(room.starttime).Minute);
                                roomendtime   = now.AddHours(DateTime.Parse(room.endtime).Hour).AddMinutes(DateTime.Parse(room.endtime).Minute);
                            }
                            if (room != null && time >= roomstarttime && time <= roomendtime)
                            {
                                var xzlist = db.rateroom_xz.Where(x => x.roomtype == item.roomtype && x.flag == 0 && x.ratecode == a && x.WeekIndex == week).ToList();
                                foreach (var item1 in xzlist)
                                {
                                    var ratecode = item1.ratecode;
                                    if (ratecode == a)
                                    {
                                        if (b.roomtype != item.roomtype)
                                        {
                                            b.price    = room.yuanjia;
                                            b.pic      = room.img;
                                            b.roomtype = item.roomtype;
                                            b.roomname = item.descript;
                                            var xz1    = new List <xz>();
                                            var xzcode = item1.xz_code;
                                            // var c = db.xztimestart_t.Where(x => x.startdate <= time && x.enddate >= time && x.xz_code == xzcode && x.flag == 0).FirstOrDefault();
                                            //if(c)
                                            Nullable <decimal> MinPrice = 0;
                                            var xzprice = db.GetRateCodexzByRoomtypes.Where(x => x.everydate == time && x.roomtype == item.roomtype && x.flag == 0 && x.WeekIndex == week).OrderByDescending(x => x.price).ToList();
                                            foreach (var item2 in xzprice)
                                            {
                                                var xztime = db.xztimestart_t.Where(x => x.xz_code == item2.xz_code && x.week == week.ToString() && x.startdate <= time && x.enddate >= time).OrderByDescending(x => x.px).FirstOrDefault();
                                                if (xztime != null && item2.price != 0)
                                                {
                                                    MinPrice = item2.price;
                                                }
                                            }
                                            //var min = db.GetRateCodexzByRoomtypes.Where(x => x.everydate == time && x.roomtype == item.roomtype && x.flag == 0&&x.WeekIndex==week ).Min(x => x.price);
                                            b.minprice = MinPrice;
                                            list.Add(b);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    return(list);
                }
                else
                {
                    return(null);
                }
            }
        }
Beispiel #8
0
        public static List <RateXzByRmType> GetRateCodexzByRoomtype(yudingEntities db, string starttimeStr, string endtimeStr, string roomtype, string hotelcode, int type)
        {
            db = new yudingEntities();
            var time    = DateTime.Parse(starttimeStr);
            var week    = (int)time.DayOfWeek;
            var end     = DateTimeHelper.GetTimeStamp(DateTime.Parse(endtimeStr));
            var XzList  = db.GetRcListByRoomType(roomtype, hotelcode, DateTime.Parse(starttimeStr)).ToList().GroupBy(x => x.xz_code).OrderByDescending(x => x.FirstOrDefault().px);
            var yuanjia = db.newroom_t.Where(x => x.roomtype == roomtype).FirstOrDefault();
            var list    = new List <RateXzByRmType>();
            var d       = db.ratecode_t.Where(x => x.hotelid == hotelcode && x.scenario == 1 && x.flag == 0 && x.type == type).FirstOrDefault().ratecode;

            string             URL      = Config.WxAPIUrl + "/API/GetWX.ashx?action=GetGZHxx";
            var                postData = "hotelcode=" + hotelcode;
            var                result   = HttpHepler.SendPost(URL, postData);
            HotelInfoJson      info     = JsonConvert.DeserializeObject <HotelInfoJson>(result);
            var                data     = info.data[0];
            GetRoomAvailResult room     = null;

            if (info.data[0].LvyunHotelgroupId != "" && info.data[0].LvyunHotelgroupId != null)
            {
                //var data = info.data[0];
                room = PmsAPI.GetRoomAvail(data.orderUrl, data.LvyunHotelgroupId, data.LvyunHotelId, time.ToString("yyyy-MM-dd"), time.ToString("yyyy-MM-dd"), yuanjia.pms);
            }
            foreach (var item in XzList)
            {
                var xzcode = item.FirstOrDefault().xz_code;
                var rate   = db.rateroom_xz.Where(x => x.xz_code == xzcode).FirstOrDefault();
                var c      = db.xztimestart_t.Where(x => x.startdate <= time && x.enddate >= time && x.xz_code == xzcode && x.flag == 0 && x.week == week.ToString()).FirstOrDefault();
                //c.starttime
                //
                if (rate.ratecode == d && item.FirstOrDefault().price != 0)
                {
                    if (c != null)
                    {
                        var m1 = c.starttime == "" ? "00:00" : c.starttime;
                        var m2 = c.endtime == "" ? "23:59" : c.endtime;
                        var t1 = DateTime.Parse(m1);
                        var t2 = DateTime.Parse(m2);
                        if (DateTime.Now >= t1 && DateTime.Now <= t2)
                        {
                            //if(DateTime.Now>=DateTime.Parse(c.starttime)&&DateTime.Now<=DateTime.Parse(c.endtime))
                            Nullable <int> sum = 0;
                            foreach (var item1 in XzList)
                            {
                                sum += item1.FirstOrDefault().ordernum;
                            }
                            var price = db.everydate_price_t.Where(x => x.xz_code == xzcode && x.everydate == time).FirstOrDefault();
                            if (price != null)
                            {
                                var num       = price.num;
                                var ordernum  = price.ordernum;
                                var miaosha   = db.miaosha_t.Where(x => x.xz_code == xzcode).FirstOrDefault();
                                var starttime = "";
                                var endtime   = "";
                                if (miaosha != null)
                                {
                                    starttime = DateTimeHelper.GetTimeStamp(DateTime.Parse(miaosha.starttime)).ToString();
                                    endtime   = DateTimeHelper.GetTimeStamp(DateTime.Parse(miaosha.endtime)).ToString();
                                }
                                var ass      = db.associateds.Where(x => x.xz_code == xzcode).FirstOrDefault();
                                var baojia   = db.baojia_t.Where(x => x.xz_code == xzcode).FirstOrDefault();
                                var baojiaid = "";
                                if (baojia != null)
                                {
                                    baojiaid = baojia.formulaid.ToString();
                                }
                                object rules     = null;
                                object rulesname = null;
                                if (ass != null)
                                {
                                    if (ass.rules == "early")
                                    {
                                        var id = int.Parse(ass.codeid);
                                        rulesname = "early";
                                        var early = db.earlies.Where(x => x.id == id).FirstOrDefault();
                                        rules = early.code;
                                    }
                                    if (ass.rules == "live")
                                    {
                                        var id = int.Parse(ass.codeid);
                                        rulesname = "live";
                                        var live = db.lives.Where(x => x.id == id).FirstOrDefault();
                                        rules = live.code;
                                    }
                                }
                                var activty    = db.activity_link.Where(x => x.xz_code == xzcode).FirstOrDefault();
                                var dis        = "";
                                var aStarttime = "";
                                var aEndtime   = "";
                                if (activty != null)
                                {
                                    var act = db.Activities.Where(x => x.Code == activty.activitycode).FirstOrDefault();
                                    if (act.starttime != null && act.endtime != null)
                                    {
                                        aStarttime = DateTimeHelper.GetTimeStamp(act.starttime).ToString();
                                        aEndtime   = DateTimeHelper.GetTimeStamp(act.endtime).ToString();
                                    }
                                    dis = db.Activities.Where(x => x.Code == activty.activitycode).FirstOrDefault().discount;
                                }
                                var formula = db.price_formulaid.Where(x => x.xz_code == xzcode).ToList();
                                List <System.String> listS = new List <System.String>();
                                string str = "";
                                if (formula.Count > 0)
                                {
                                    foreach (var item1 in formula)
                                    {
                                        listS.Add(item1.formulaid + ":" + item1.categoryid + ":" + item1.type);
                                    }
                                    listS.ToArray();
                                }
                                str = string.Join(",", listS);
                                Nullable <int> physicalnum = item.FirstOrDefault().pnum;
                                var            a           = new RateXzByRmType
                                {
                                    onsalecode       = rate.onsalecode,
                                    chaifen          = item.FirstOrDefault().chaifen.Value,
                                    xzcode           = xzcode,
                                    islock           = item.FirstOrDefault().islock,
                                    package          = item.FirstOrDefault().package,
                                    payway           = item.FirstOrDefault().payway,
                                    pay              = item.FirstOrDefault().pay.ToString(),
                                    xzname           = item.FirstOrDefault().xz_name,
                                    yuanjia          = item.FirstOrDefault().yuanjia,
                                    ordersum         = sum,
                                    ordernum         = ordernum,
                                    pnum             = physicalnum,
                                    num              = num,
                                    baojia           = baojiaid,
                                    price            = item.FirstOrDefault().price,
                                    starttime        = starttime,
                                    endtime          = endtime,
                                    startdate        = DateTimeHelper.GetTimeStamp(time).ToString(),
                                    enddate          = end,
                                    rulesname        = rulesname == null ? "" : rulesname,
                                    rules            = rules == null ? "" : rules,
                                    activty          = dis,
                                    formula          = str,
                                    roomtype         = roomtype,
                                    lvyunnum         = room,
                                    activtyStarttime = aStarttime,
                                    activtyEndtime   = aEndtime,
                                };
                                list.Add(a);
                            }
                        }
                    }
                }
            }
            return(list);
            //throw new NotImplementedException();
        }
Beispiel #9
0
        public List <RateXzByRmType> CrsGetRateCodexzByRoomtype(string starttimeStr, string endtimeStr, string roomtype, string hotelcode, int type)
        {
            db = new yudingEntities();
            var time    = DateTime.Parse(starttimeStr);
            var end     = DateTimeHelper.GetTimeStamp(DateTime.Parse(endtimeStr));
            var XzList  = db.GetRcListByRoomType(roomtype, hotelcode, DateTime.Parse(starttimeStr)).ToList().GroupBy(x => x.xz_code).OrderByDescending(x => x.FirstOrDefault().px);
            var yuanjia = db.newroom_t.Where(x => x.roomtype == roomtype).FirstOrDefault().yuanjia;
            var list    = new List <RateXzByRmType>();
            var d       = db.ratecode_t.Where(x => x.hotelid == hotelcode && x.scenario == 1 && x.flag == 0 && x.type == type).FirstOrDefault().ratecode;

            foreach (var item in XzList)
            {
                var xzcode = item.FirstOrDefault().xz_code;
                var rate   = db.rateroom_xz.Where(x => x.xz_code == xzcode).FirstOrDefault();
                var c      = db.xztimestart_t.Where(x => x.startdate <= time && x.enddate >= time && x.xz_code == xzcode && x.flag == 0).FirstOrDefault();
                if (rate.ratecode == d)
                {
                    if (c != null)
                    {
                        Nullable <int> sum = 0;
                        foreach (var item1 in XzList)
                        {
                            sum += item1.FirstOrDefault().ordernum;
                        }
                        var price = db.everydate_price_t.Where(x => x.xz_code == xzcode && x.everydate == time).FirstOrDefault();
                        if (price != null)
                        {
                            var num       = price.num;
                            var ordernum  = price.ordernum;
                            var miaosha   = db.miaosha_t.Where(x => x.xz_code == xzcode).FirstOrDefault();
                            var starttime = "";
                            var endtime   = "";
                            if (miaosha != null)
                            {
                                starttime = DateTimeHelper.GetTimeStamp(DateTime.Parse(miaosha.starttime)).ToString();
                                endtime   = DateTimeHelper.GetTimeStamp(DateTime.Parse(miaosha.endtime)).ToString();
                            }
                            var ass      = db.associateds.Where(x => x.xz_code == xzcode).FirstOrDefault();
                            var baojia   = db.baojia_t.Where(x => x.xz_code == xzcode).FirstOrDefault();
                            var baojiaid = "";
                            if (baojia != null)
                            {
                                baojiaid = baojia.formulaid.ToString();
                            }
                            object rules     = null;
                            object rulesname = null;
                            if (ass != null)
                            {
                                if (ass.rules == "early")
                                {
                                    var id = int.Parse(ass.codeid);
                                    rulesname = "early";
                                    var early = db.earlies.Where(x => x.id == id).FirstOrDefault();
                                    rules = early.code;
                                }
                                if (ass.rules == "live")
                                {
                                    var id = int.Parse(ass.codeid);
                                    rulesname = "live";
                                    var live = db.lives.Where(x => x.id == id).FirstOrDefault();
                                    rules = live.code;
                                }
                            }
                            var activty = db.activity_link.Where(x => x.xz_code == xzcode).FirstOrDefault();
                            var dis     = "";
                            if (activty != null)
                            {
                                dis = db.Activities.Where(x => x.Code == activty.activitycode).FirstOrDefault().discount;
                            }
                            var formula = db.price_formulaid.Where(x => x.xz_code == xzcode).ToList();
                            List <System.String> listS = new List <System.String>();
                            string str = "";
                            if (formula.Count > 0)
                            {
                                foreach (var item1 in formula)
                                {
                                    listS.Add(item1.formulaid + ":" + item1.categoryid);
                                }
                                listS.ToArray();
                            }
                            str = string.Join(",", listS);
                            Nullable <int> physicalnum = item.FirstOrDefault().pnum;
                            var            a           = new RateXzByRmType
                            {
                                xzcode    = xzcode,
                                islock    = item.FirstOrDefault().islock,
                                package   = item.FirstOrDefault().package,
                                payway    = item.FirstOrDefault().payway,
                                pay       = item.FirstOrDefault().pay.ToString(),
                                xzname    = item.FirstOrDefault().xz_name,
                                yuanjia   = item.FirstOrDefault().yuanjia,
                                ordersum  = sum,
                                ordernum  = ordernum,
                                pnum      = physicalnum,
                                num       = num,
                                baojia    = baojiaid,
                                price     = item.FirstOrDefault().price,
                                starttime = starttime,
                                endtime   = endtime,
                                startdate = DateTimeHelper.GetTimeStamp(time).ToString(),
                                enddate   = end,
                                rulesname = rulesname,
                                rules     = rules,
                                activty   = dis,
                                formula   = str,
                                roomtype  = roomtype,
                            };
                            list.Add(a);
                        }
                    }
                }
            }
            return(list);
            //throw new NotImplementedException();
        }
Beispiel #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            yudingEntities db      = new yudingEntities();
            var            time    = DateTime.Parse("2017-11-27");
            var            end     = DateTime.Parse("2017-11-04");
            var            week    = (int)time.DayOfWeek;
            var            strWeek = week.ToString();

            var room = db.newroomtimes.Where(x => x.flag == 0 && x.timeflag == 0 && x.roomtype == "KSHZ20171124507" && x.startdate <= time && x.enddate >= time
                                             ).OrderByDescending(x => x.px).ToList();
            var px = room.Max(x => x.px);

            room = room.Where(x => x.px == px && x.week == strWeek).ToList();


            //var hotelcode="LDSPT";
            //var list = db.order_t.Where(x => x.addtime >= time && x.addtime <= end && x.hotelcode == hotelcode&&x.state!="X"&&x.ispay==1).GroupBy(x => x.bosscard).ToList();
            //var result = new List<object>();
            //foreach (var item in list)
            //{
            //   Nullable<decimal> tmoney = 0;
            //    foreach (var item1 in item)
            //    {
            //        tmoney += item1.count * item1.rate;
            //    }
            //    result.Add(new
            //    {
            //        bosscard=item.FirstOrDefault().bosscard,
            //        contact_name=item.FirstOrDefault().contact_name,
            //        contact_mobile=item.FirstOrDefault().contact_mobile,
            //        num=item.GroupBy(x=>x.sessionid).Count(),
            //        roomnum=item.Sum(x=>x.count),
            //        tmoney = tmoney,
            //    });
            //}
            var json = JsonConvert.SerializeObject(room);

            Response.Write(json);
            //
            //var a = db.GetRateCodexzByRoomtypes.Where(x => x.everydate == time && x.roomtype == "KSHZ20170929709" && x.flag == 0&&x.WeekIndex==6).ToList();
            //Nullable<decimal> MinPrice = 0;
            //var xzprice = db.GetRateCodexzByRoomtypes.Where(x => x.everydate == time && x.roomtype == "LDSPT20171031484" && x.flag == 0 && x.WeekIndex == 6).OrderByDescending(x => x.price).ToList();
            //foreach (var item2 in xzprice)
            //{
            //    var xztime = db.xztimestart_t.Where(x => x.xz_code == item2.xz_code && x.week == "6" && x.startdate <= time && x.enddate >= time).OrderByDescending(x => x.px).FirstOrDefault();
            //    if (xztime != null&&item2.price!=0)
            //    {
            //        MinPrice = item2.price;
            //    }

            //}
            //var json = JsonConvert.SerializeObject(xzprice);
            //Response.Write(json);
            //var post = new
            //{
            //    hotelGroupCode = "LANDISON",
            //    clientChannel = "CRS",
            //    fromDate = DateTime.Now.AddDays(-1),
            //    toDate = DateTime.Now,
            //    otaChannel = "WEB"
            //};
            //IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
            //timeFormat.DateTimeFormat = "yyyy-MM-ddTHH:mm:ss";
            //var json = JsonConvert.SerializeObject(post, Formatting.Indented, timeFormat);
            //var result = HttpHepler.SendPostJson("http://gds.ipms.cn/int/Crs/hotels", json);
            //var hotelInfo = JsonConvert.DeserializeObject<HotelListResult>(result);
            //Response.Write(json);
            //var groupcode = "YMJDJTG";
            //var post = new
            //{
            //    hotelGroupCode = groupcode,
            //    clientChannel = "CRS",
            //    fromDate = "2017-10-09T00:00:00",
            //    toDate = "2017-10-10T00:00:00",
            //    otaChannel = "WEB"
            //};
            //var json = JsonConvert.SerializeObject(post);

            //var result = HttpHepler.SendPostJson("http://gds.ipms.cn/int/Crs/hotels", json);
        }
Beispiel #11
0
        private void XiaDan(HttpContext context)
        {
            var orderdata    = Getpost("orderdata");
            var increasedata = Getpost("increasedata");

            Logger.WriteLog(orderdata);
            var increaselist = JsonConvert.DeserializeObject <List <order_increase> >(increasedata);
            var orderlist    = JsonConvert.DeserializeObject <List <order> >(orderdata);

            using (var db = new yudingEntities())
            {
                if (orderlist.Count > 0)
                {
                    using (var transaction = db.Database.BeginTransaction())
                    {
                        bool isorder = true;
                        foreach (var item in orderlist)
                        {
                            //var hotelname = db.hotel_list.Where(x => x.hotelId ==item. hotelcode).FirstOrDefault();
                            //item.hotelname = hotelname.hotelName;
                            var roomxz  = db.rateroom_xz.Where(x => x.roomtype == item.roomtype && x.xz_code == item.xz_code).FirstOrDefault();
                            var newroom = db.ratecode_t.Where(x => x.ratecode == roomxz.ratecode).FirstOrDefault();
                            var date    = DateTime.Parse(item.arr);
                            var every   = db.everydate_price_t.Where(x => x.everydate == date && x.xz_code == item.xz_code).FirstOrDefault();
                            var room    = db.newroom_t.Where(x => x.roomtype == item.roomtype).FirstOrDefault();
                            var hotel   = db.hotel_list.FirstOrDefault(x => x.hotelId == item.hotelcode);
                            if (every.ordernum < every.num)
                            {
                                if (roomxz.qudao != null && roomxz.qudao != "")
                                {
                                    //绿云下单
                                    if (!PlaceOrder(db, item, hotel.pms, room.pms, roomxz.pmsratecode, roomxz.qudao, true, roomxz.cusno))
                                    {
                                        isorder = false;
                                        break;
                                    }
                                }
                                else
                                {
                                    if (newroom.qudao != "" && newroom.qudao != null)
                                    {
                                        //绿云下单
                                        if (!PlaceOrder(db, item, hotel.pms, room.pms, newroom.pmsratecode, newroom.qudao, true, roomxz.cusno))
                                        {
                                            isorder = false;
                                            break;
                                        }
                                    }
                                    else
                                    {
                                        //本地下单
                                        if (!PlaceOrder(db, item))
                                        {
                                            isorder = false;
                                            break;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                isorder = false;
                                break;
                            }
                        }
                        if (isorder)
                        {
                            db.SaveChanges();
                            //transaction.Commit();
                            if (increaselist != null)
                            {
                                if (increaselist.Count > 0)
                                {
                                    foreach (var item in increaselist)
                                    {
                                        AddIncrease(db, item);
                                    }
                                    db.SaveChanges();
                                }
                            }
                            transaction.Commit();
                            jsonResult.code = "200";
                            jsonResult.msg  = "下单成功";
                        }
                        else
                        {
                            jsonResult.code = "500";
                            jsonResult.msg  = "满房";
                        }
                    }
                }
            }
        }
Beispiel #12
0
        private bool PlaceOrder(yudingEntities db, order item, string pmscode = "0", string pms = "", string pmsratecode = "", string qudao = "", bool ispms = false, string cusno = "")
        {
            var order = new order_t()
            {
                ptchannel      = item.ptchannel,
                isSendMsg      = "0",
                hotelname      = item.hotelname,
                City           = item.City,
                channelid      = item.channelid,
                guestname      = item.guestname,
                arrivetime     = DateTime.Parse(item.arr),
                baojia         = item.baojia,
                bosscard       = item.resby,
                contact_mobile = item.mobile,
                contact_name   = item.name,
                count          = int.Parse(item.count),
                hotelcode      = item.hotelcode,
                leavetime      = DateTime.Parse(item.dep),
                ordernumber    = item.ordernumber,
                pay            = item.pay,
                yuanjia        = item.rate.ToString(),
                trueRate       = item.truerate,
                notes          = item.remark,
                roomname       = item.roomname,
                roomtype       = item.roomtype,
                xz_code        = item.xz_code,
                xz_name        = item.xz_name,
                sessionid      = item.sessionid,
                formulaid      = item.formulaid,
                categoryid     = item.categoryid,
                increasemoney  = item.increasemoney,
                yhmoney        = decimal.Parse(item.yhmoney),
                rate           = item.rate,
                tpid           = item.tpid,
                type           = int.Parse(item.type),
                Fmoney         = item.Fmoney,
                TicketSn       = item.TicketSn,
            };

            if (ispms && item.type == "0")
            {
                if (pmscode == "1")
                {
                    ly ly = new ly("http://115.159.81.168:8100/ipmsgroup/router", item.hotelcode);
                    Dictionary <string, string> parms = new Dictionary <string, string>();
                    parms.Add("arr", item.arr + " 12:00:00");
                    parms.Add("dep", item.dep + " 12:00:00");
                    parms.Add("rmtype", pms);
                    parms.Add("channel", qudao);
                    parms.Add("rateCode", pmsratecode);
                    parms.Add("rmNum", item.count);
                    parms.Add("rsvMan", item.name);
                    parms.Add("sex", "1");
                    parms.Add("mobile", item.mobile);
                    parms.Add("idType", "");
                    parms.Add("idNo", "");
                    parms.Add("email", "");
                    parms.Add("cardType", "");
                    parms.Add("cardNo", "");
                    parms.Add("adult", "1");
                    parms.Add("resultCode", "");
                    parms.Add("remark", item.remark);
                    var json = new List <object>();
                    foreach (var item1 in item.everydate)
                    {
                        var everydate = new
                        {
                            date     = item1.date + " 12:00:00",
                            realRate = item1.realRate - item1.yhmoney,
                        };
                        json.Add(everydate);
                    }
                    var everyDayRateJson = JsonConvert.SerializeObject(json);
                    parms.Add("everyDayRate", everyDayRateJson);
                    //parms.Add("everyDayRate", "[{\"date\":\"" + item.arr + " 12:00:00\",\"realRate\":\"" + (item.rate - int.Parse(item.yhmoney)).ToString() + "\"}]");
                    var result = ly.xiadan(parms, "http://115.159.81.168:8100/ipmsgroup/CRS/book");
                    //success:
                    var crsNo = JsonHelper.GetJsonValue(result, "crsNo");
                    if (crsNo != "")
                    {
                        var date  = DateTime.Parse(item.arr);
                        var every = db.everydate_price_t.Where(x => x.everydate == date && x.xz_code == item.xz_code).FirstOrDefault();
                        every.ordernum += 1;
                        order.lvorder   = crsNo;
                        db.order_t.Add(order);
                        foreach (var item1 in item.everydate)
                        {
                            var time = DateTime.Parse(item1.date);
                            //BookingWeb.Refresh(db, item.xz_code, item.hotelcode, int.Parse(item.type), time);
                        }
                        return(true);
                    }
                    //error
                    else
                    {
                        return(false);
                    }
                }
                if (pmscode == "2")
                {
                    var service = new WxAPI(item.hotelcode);
                    var mp      = new MPDBEntities();
                    var hotel   = mp.MPConfigs.FirstOrDefault(x => x.ShopCode == item.hotelcode);
                    var hotel1  = db.hotel_list.FirstOrDefault(x => x.hotelId == item.hotelcode);
                    if (hotel != null)
                    {
                        var nightNum = (DateTime.Parse(item.dep) - DateTime.Parse(item.arr)).Days.ToString();
                        var res3     = service.Reservation("10", DateTime.Now.ToString("yyyy-MM-ddThh:mm:ss"), "1009", hotel1.username, hotel1.pwd, item.guestname, "NA", "ADD", "6016913", "", "CHANGE", item.remark, "GUEST", "MALE", item.name, "", "C", "NA", "ADD", "CHANGE", "RESERVED", "", pms, "", "DAY", item.arr + " 18:00:00", nightNum, "", "ADULT", "1", "CHANGE", pmsratecode, hotel.src, hotel.market, item.count, qudao, order.contact_mobile, order.contact_name, "");
                        if (res3 != null)
                        {
                            if (res3.Head.retcode == "00001")
                            {
                                var date  = DateTime.Parse(item.arr);
                                var every = db.everydate_price_t.Where(x => x.everydate == date && x.xz_code == item.xz_code).FirstOrDefault();
                                every.ordernum += 1;
                                order.lvorder   = res3.Body.ReservationResponse.Reservation.confirmationID;
                                db.order_t.Add(order);
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                if (pmscode == "0")
                {
                    for (var start = DateTime.Parse(item.arr); start < DateTime.Parse(item.dep); start = start.AddDays(1))
                    {
                        //var date = DateTime.Parse(start);
                        var every = db.everydate_price_t.Where(x => x.everydate == start && x.xz_code == item.xz_code).FirstOrDefault();
                        every.ordernum += 1;
                        db.order_t.Add(order);
                        //BookingWeb.Refresh(db, item.xz_code, item.hotelcode, int.Parse(item.type), start);
                    }
                    return(true);
                }
                if (pmscode == "3")
                {
                    var mp     = new MPDBEntities();
                    var hotel  = mp.MPConfigs.FirstOrDefault(x => x.ShopCode == item.hotelcode);
                    var hotel1 = db.hotel_list.FirstOrDefault(x => x.hotelId == item.hotelcode);
                    // 平台提供的地址
                    string url = hotel.orderUrl;
                    // 平台appkey
                    string appKey = "KSKJ";
                    // 平台授权码
                    string secret = hotel1.pwd;
                    // 使用哪个酒店的身份接入
                    string hotelId = "G000001";
                    var    client  = new XopClient(url, appKey, secret, hotelId);
                    // 开始登录平台
                    var rspLogin = client.login();

                    if (!XopClient.isResponseSuccess(rspLogin))
                    {
                        return(false);
                    }
                    var daily = new JsonArray();
                    foreach (var item1 in item.everydate)
                    {
                        var one = new JsonObject();
                        one["ratecode"] = pmsratecode;
                        one["rate"]     = item1.realRate - item1.yhmoney;
                        one["date"]     = item1.date + " 12:00:00";
                        one["rmrate"]   = item1.realRate - item1.yhmoney;
                        daily.Add(one);
                    }
                    var remark = Enum.Parse(typeof(Pay), item.pay, false).ToString();
                    var r      = client.saveReservation(qudao, hotel1.username, pmsratecode, pms, item.count, item.everydate[0].realRate.ToString(), item.name, item.name, item.arr, item.dep, "2", daily, hotel.rsvType, item.mobile, "支付方式:" + remark + "," + item.remark, hotel.src, hotel.market, cusno);
                    if (r.success)
                    {
                        // var c = client.cxlReservation("KSKJ", "H000069", r.results[0].rsvno, "测试", "T");
                        var date  = DateTime.Parse(item.arr);
                        var every = db.everydate_price_t.Where(x => x.everydate == date && x.xz_code == item.xz_code).FirstOrDefault();
                        every.ordernum += 1;
                        order.notes     = "支付方式:" + remark + "," + item.remark;
                        order.lvorder   = r.results[0].rsvno;
                        db.order_t.Add(order);
                        return(true);
                    }
                }
                if (pmscode == "4")
                {
                    //var mp = new MPDBEntities();
                    //var hotel = mp.MPConfigs.FirstOrDefault(x => x.ShopCode == item.hotelcode);
                    //var hotel1 = db.hotel_list.FirstOrDefault(x => x.hotelId == item.hotelcode);
                    //PlaceOrderData orderData = new PlaceOrderData
                    //{
                    //    srcHotelGroupCode = "MKYL",
                    //    //webFrom = "KUAISHUN",
                    //    //srcHotelGroupCode="GCBZG",
                    //    hotelCode = item.hotelcode,
                    //    hotelGroupCode = hotel.LvyunHotelgroupId,
                    //    operationType = "Book",
                    //    otaChannel = "CRS",
                    //    otaRsvNo = Guid.NewGuid().ToString(),
                    //    productCode = pmsratecode,
                    //    bookOrderInfoRQ = new P_BookOrderInfoRQ()
                    //    {
                    //        arr = item.arr,
                    //        dep = item.dep,
                    //        earlyArrTime = item.arr,
                    //        lastArrTime = item.dep,
                    //        paySta = "2",
                    //        guests = new List<Guests>(),
                    //        everyDayPrices = new List<EveryDayPrices>(),
                    //        rmNum =int.Parse( item.count),
                    //        rateSum = 0,
                    //        rsvMan = item.name,
                    //        mobile =item.mobile,
                    //        adult =1,
                    //        remark = item.remark,
                    //        isCheckRoomQuentity = "T",
                    //        needPay = "F",
                    //        isZeroOrder = "F",
                    //    }
                    //};
                    //var everyprice = new List<EveryDayPrices>();
                    //var guests = new List<Guests>();
                    //var m = new
                    //{
                    //    hotelGroupCode = hotel.LvyunHotelgroupId,
                    //    hotelCode = hotel.LvyunHotelId,
                    //    fromDate = item.arr,
                    //    toDate = item.dep,
                    //    otaChannel = "CRS",
                    //    productCode = pmsratecode
                    //};
                    //var crsEveryPrice = CrsAPI.GetproductBaseDetail(Config.CRS_URL, m);
                    //if (crsEveryPrice.resultCode == ReturnCode.请求成功 && crsEveryPrice != null)
                    //{
                    //    decimal rateSum = 0;
                    //    foreach (var item in crsEveryPrice.resultInfo[0].everyDetails)
                    //    {
                    //        var price = new EveryDayPrices
                    //        {
                    //            costPrice = item.costPrice,
                    //            isClosed = item.isClosed,
                    //            realPrice = item.realPrice,
                    //            rsvDate = item.rsvDate,
                    //            saleNum = item.saleNum,
                    //        };
                    //        rateSum += item.costPrice * rmNum;
                    //        everyprice.Add(price);
                    //    }
                    //    orderData.bookOrderInfoRQ.everyDayPrices = everyprice;
                    //    foreach (var item in data.guests)
                    //    {
                    //        var guest = new Guests
                    //        {
                    //            name = item,
                    //        };
                    //        guests.Add(guest);
                    //    }
                    //    orderData.bookOrderInfoRQ.guests = guests;
                    //    orderData.bookOrderInfoRQ.rateSum = rateSum;
                    //    //result.data = orderData;
                    //    orderData.bookOrderInfoRQ.everyDayPrices = everyprice;
                    //    order.subRoomTypeId = data.productCode;
                    //    order.roomTypeId = room.roomTypeId;
                    //    order.hotelGroupCode = room.hotelGroupCode;
                    //    var str = JsonConvert.SerializeObject(orderData);

                    //    var orderResult = CrsAPI.PlaceOrder(Config.CRS_URL, orderData);
                    //    if (orderResult.resultCode == ReturnCode.请求成功 && orderResult != null)
                    //    {
                    //        Logger.WriteLog(string.Concat(new string[]{
                    //                        "绿云数据:"+str+"\r\n",
                    //                        //  "下单数据:"+JsonConvert.SerializeObject(data)+"\r\n",
                    //                        "绿云接口返回:"+orderResult.resultMessage
                    //                    }));
                    //        //var orderResult = new PlaceOrderResult();
                    //        //orderResult.resultCode = ReturnCode.请求失败;
                    //        //orderResult.resultMessage = "暂时关闭调试";
                    //        if (orderResult.resultCode == ReturnCode.请求成功)
                    //        {
                    //            order.gcRsvNo = orderResult.resultInfo;
                    //            order.apiType = "SUCCESS";
                    //            result.code = ApiCode.成功;
                    //            result.message = "成功";
                    //            order.apiMessage = "成功";
                    //            result.orderId = data.orderId;
                    //            result.orderStatus = 1;
                    //            result.amount = data.amount;
                    //            result.confirmNum = orderResult.resultInfo;
                    //        }
                    //        else
                    //        {
                    //            order.apiType = "FAIL";
                    //            result.code = ApiCode.成功;
                    //            result.message = orderResult.resultMessage;
                    //            order.apiMessage = orderResult.resultMessage;
                    //            result.orderStatus = 2;
                    //        }
                    //        Logger.WriteLog(string.Concat(new string[]{
                    //                        "下单数据:"+JsonConvert.SerializeObject(data)+"\r\n",
                    //                        "绿云接口返回:"+JsonConvert.SerializeObject( orderResult)+"\r\n"
                    //                    }));
                    //    }
                    //    else
                    //    {
                    //        order.apiType = "FAIL";
                    //        result.orderStatus = 2;
                    //        result.code = ApiCode.成功;
                    //        order.apiMessage = "接口调用失败";
                    //    }
                    //}
                    //else
                    //{
                    //    Logger.WriteLog(string.Concat(new string[]{
                    //                        //"下单数据:"+JsonConvert.SerializeObject(data)+"\r\n",
                    //                        "没有该产品价格"
                    //                    }));
                    //    order.apiType = "FAIL";
                    //    result.code = ApiCode.成功;
                    //    result.message = "没有该产品价格";
                    //    order.apiMessage = "没有该产品价格";
                    //    result.orderStatus = 2;
                    //}
                }
                return(false);
            }
            else
            {
                for (var start = DateTime.Parse(item.arr); start < DateTime.Parse(item.dep); start = start.AddDays(1))
                {
                    //var date = DateTime.Parse(start);
                    var every = db.everydate_price_t.Where(x => x.everydate == start && x.xz_code == item.xz_code).FirstOrDefault();
                    every.ordernum += 1;
                    db.order_t.Add(order);
                    //BookingWeb.Refresh(db, item.xz_code, item.hotelcode, int.Parse(item.type), start);
                }
                return(true);
            }
        }
Beispiel #13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            using (var db = new yudingEntities())
            {
                var roomtype = "KSHZ2017082261";
                var time     = DateTime.Parse("2017-09-01");

                var end     = GetTimeStamp(DateTime.Parse("2017-09-01"));
                var xzlist  = db.GetRateCodexzByRoomtypes.Where(x => x.roomtype == roomtype && x.flag == 0 && x.hotelid == "KSHZ" && x.everydate == time).GroupBy(x => x.xz_code).ToList();
                var yuanjia = db.newroom_t.Where(x => x.roomtype == roomtype).FirstOrDefault().yuanjia;

                var list = new List <object>();

                foreach (var item in xzlist)
                {
                    Nullable <int> sum = 0;
                    foreach (var item1  in xzlist)
                    {
                        sum += item1.FirstOrDefault().ordernum;
                    }
                    var xzcode = item.FirstOrDefault().xz_code;
                    var price  = db.everydate_price_t.Where(x => x.xz_code == xzcode && x.everydate == time).FirstOrDefault();
                    if (price != null)
                    {
                        var num       = price.num;
                        var ordernum  = price.ordernum.ToString();
                        var miaosha   = db.miaosha_t.Where(x => x.xz_code == xzcode).FirstOrDefault();
                        var starttime = "";
                        var endtime   = "";
                        if (miaosha != null)
                        {
                            starttime = GetTimeStamp(DateTime.Parse(miaosha.starttime)).ToString();
                            endtime   = GetTimeStamp(DateTime.Parse(miaosha.endtime)).ToString();
                        }

                        var ass      = db.associateds.Where(x => x.xz_code == xzcode).FirstOrDefault();
                        var baojia   = db.baojia_t.Where(x => x.xz_code == xzcode).FirstOrDefault();
                        var baojiaid = "";
                        if (baojia != null)
                        {
                            baojiaid = baojia.formulaid.ToString();
                        }
                        object rules     = null;
                        object rulesname = null;
                        if (ass != null)
                        {
                            if (ass.rules == "early")
                            {
                                var id = int.Parse(ass.codeid);
                                rulesname = "early";
                                var early = db.earlies.Where(x => x.id == id).FirstOrDefault();
                                rules = early.code;
                            }
                            if (ass.rules == "live")
                            {
                                var id = int.Parse(ass.codeid);
                                rulesname = "live";
                                var live = db.lives.Where(x => x.id == id).FirstOrDefault();
                                rules = live.code;
                            }
                        }
                        var activty = db.activity_link.Where(x => x.xz_code == xzcode).FirstOrDefault();
                        var dis     = "";
                        if (activty != null)
                        {
                            dis = db.Activities.Where(x => x.Code == activty.activitycode).FirstOrDefault().discount;
                        }
                        var formula = db.price_formulaid.Where(x => x.xz_code == xzcode).ToList();
                        List <System.String> listS = new List <System.String>();
                        string str = "";
                        if (formula.Count > 0)
                        {
                            foreach (var item1 in formula)
                            {
                                listS.Add(item1.formulaid + ":" + item1.categoryid);
                            }
                            listS.ToArray();
                        }
                        str = string.Join(",", listS);
                        var a = new
                        {
                            xzcode      = xzcode,
                            islock      = item.FirstOrDefault().islock,
                            package     = item.FirstOrDefault().package,
                            payway      = item.FirstOrDefault().payway,
                            pay         = item.FirstOrDefault().pay,
                            xzname      = item.FirstOrDefault().xz_name,
                            yuanjia     = item.FirstOrDefault().yuanjia,
                            ordersum    = sum,
                            ordernum    = ordernum,
                            physicalnum = item.FirstOrDefault().pnum,
                            num         = num,
                            baojia      = baojiaid,
                            price       = item.FirstOrDefault().price,
                            starttime   = starttime,
                            endtime     = endtime,
                            startdate   = GetTimeStamp(time),
                            enddate     = end,
                            rulesname   = rulesname,
                            rules       = rules,
                            activty     = dis,
                            formula     = str,
                        };
                        list.Add(a);
                    }
                }
                var json = JsonConvert.SerializeObject(list);
                Response.Write(json);
            }
        }