示例#1
0
文件: ly.cs 项目: gazi001/Reservation
        public ly(string url, string hotelcode)
        {
            var postData = "hotelcode=" + hotelcode;
            var result   = HttpHepler.SendPost(URL, postData);

            info = JsonConvert.DeserializeObject <HotelInfoJson>(result);
            Dictionary <string, string> p = new Dictionary <string, string>();

            p.Add("v", "3.0");
            p.Add("hotelGroupCode", info.data.FirstOrDefault().LvyunHotelDm);
            p.Add("usercode", "wubiaoteng");
            p.Add("method", "user.login");
            p.Add("local", "zh_CN");
            p.Add("format", "json");
            p.Add("password", "r3qt8fY5fHj9s");
            p.Add("appKey", "10029");
            var sign = DESEncrypt.getSign(p, "5a993a1588a30b48e476bab058c34e22");

            p.Add("sign", sign);
            var post = "";

            foreach (var item in p)
            {
                post += item.Key + "=" + item.Value + "&";
            }
            post = post.Substring(0, post.Length - 1);
            var lvresult = HttpHepler.SendPost(url, post);

            SessionId = JsonConvert.DeserializeObject <SessionIdJson>(lvresult).resultInfo;
        }
示例#2
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();
        }