/// <summary> /// 获取酒店评论基础信息 /// </summary> /// <param name="hotelID"></param> /// <returns></returns> public BaseHotelCommentInfo GetBaseInfo(int hotelID) { var comments = GetListByHotelID(hotelID); int allCount = comments.Count(); //全部数量 int hasPicCount = comments.Where(c => !string.IsNullOrWhiteSpace(c.Imgs)).Count(); //有图片评价数量 double hssAvg = allCount <= 0 ? 5.0 : Math.Round(comments.Sum(c => c.HealthServiceScore) * 1.0 / allCount, 1); // 综合卫生评分 double fssAvg = allCount <= 0 ? 5.0 : Math.Round(comments.Sum(c => c.FacilityServiceScore) * 1.0 / allCount, 1); // 综合设施评分 double nssAvg = allCount <= 0 ? 5.0 : Math.Round(comments.Sum(c => c.NetworkServiceScore) * 1.0 / allCount, 1); // 综合网络评分 double assAvg = allCount <= 0 ? 5.0 : Math.Round(comments.Sum(c => c.AttitudeServiceScore) * 1.0 / allCount, 1); // 综合服务评分 BaseHotelCommentInfo baseInfo = new BaseHotelCommentInfo(); baseInfo.HSSAvg = hssAvg.ToString("f1"); baseInfo.FSSAvg = fssAvg.ToString("f1"); baseInfo.NSSAvg = nssAvg.ToString("f1"); baseInfo.ASSAvg = assAvg.ToString("f1"); baseInfo.AllAvg = Math.Round((hssAvg + fssAvg + nssAvg + assAvg) / 4.0, 1).ToString("f1"); //综合评分 baseInfo.CommentAllCount = allCount; baseInfo.HasPicCount = comments.Where(c => !string.IsNullOrWhiteSpace(c.Imgs)).Count(); //有图片评价数量 baseInfo.HotelID = hotelID; baseInfo.Comments = comments; return(baseInfo); }
public ActionResult Index(string id) { string key = HotelCloud.Common.HCRequest.GetString("key"); string hotelWeixinid = string.Empty; string userWeixinid = string.Empty; if (!string.IsNullOrEmpty(key) && key.Contains("@")) { List <string> list = key.Split('@').ToList(); hotelWeixinid = list[0]; userWeixinid = list[1]; hotel3g.Models.Cookies.SetCookies("userWeixinNO", userWeixinid, 30, hotelWeixinid); ViewData["hotelWeixinid"] = hotelWeixinid; ViewData["userWeixinid"] = userWeixinid; ViewData["generatesign"] = WeiXin.Common.ValidateSignProduct.GenerateSign(hotelWeixinid, userWeixinid); } int hid = Convert.ToInt32(id); ViewData["hid"] = hid; string firstimgurl = null; string MemberCardRuleJson = ActionController.getMemberCardIntegralRule(userWeixinid, hotelWeixinid); ViewData["MemberCardRuleJson"] = MemberCardRuleJson; Hashtable MemberCardRuleJsonobj = Newtonsoft.Json.JsonConvert.DeserializeObject <Hashtable>(MemberCardRuleJson); Hashtable ruletable = Newtonsoft.Json.JsonConvert.DeserializeObject <Hashtable>(MemberCardRuleJsonobj["rule"].ToString()); double graderate = WeiXinPublic.ConvertHelper.ToDouble(ruletable["GradeRate"]); ViewData["graderate"] = graderate; double reduce = WeiXinPublic.ConvertHelper.ToDouble(ruletable["Reduce"]); ViewData["reduce"] = reduce; int couponType = WeiXinPublic.ConvertHelper.ToInt(ruletable["CouponType"]); ViewData["couponType"] = couponType; string gradeName = WeiXinPublic.ConvertHelper.ToString(ruletable["GradeName"]); ViewData["gradeName"] = gradeName; DateTime indate = DateTime.Now.Date; DateTime outdate = DateTime.Now.AddDays(1).Date; if (!string.IsNullOrEmpty(HCRequest.GetString("indate")) && !string.IsNullOrEmpty(HCRequest.GetString("outdate"))) { if (HCRequest.getDate("outdate").Date <= DateTime.Now.Date.AddMonths(2)) { indate = HCRequest.getDate("indate"); outdate = HCRequest.getDate("outdate"); } } ViewData["indate"] = indate; ViewData["outdate"] = outdate; ViewData["ratejson"] = ActionController.getratejson(hid, indate, outdate, hotelWeixinid, graderate, out firstimgurl, reduce, couponType); Models.Hotel hotel = ActionController.gethotelinfo(hid, hotelWeixinid); ViewData["hotel"] = hotel; ViewData["firstimgurl"] = firstimgurl; //string commentopen = string.Empty; //string membershow = string.Empty; //string dingfangmember = string.Empty; //string sql = "select comment,showmemberprice,dingfang_MemberOnly from WeiXinNO with (nolock) where weixinId=@weixinId "; //DataTable db_open = SQLHelper.Get_DataTable(sql, SQLHelper.GetCon(), new Dictionary<string, DBParam>() // {{"weixinId",new DBParam(){ParamValue=hotelWeixinid}}, // }); //if (db_open.Rows.Count > 0) //{ // commentopen = db_open.Rows[0]["comment"].ToString(); // membershow = db_open.Rows[0]["showmemberprice"].ToString(); // dingfangmember = db_open.Rows[0]["dingfang_MemberOnly"].ToString(); //} //ViewData["commentopen"] = commentopen; //ViewData["membershow"] = membershow; //ViewData["dingfangmember"] = dingfangmember; ModuleAuthorityResponse ModuleAuthority = hotel3g.Models.DAL.AuthorityHelper.ModuleAuthority(hotelWeixinid); ViewData["commentopen"] = ModuleAuthority.comment; ViewData["membershow"] = ModuleAuthority.membership_price; ViewData["dingfangmember"] = ModuleAuthority.membership_room; //控制弹窗 ViewData["memberbasics"] = ModuleAuthority.module_memberbasics; BaseHotelCommentInfo baseHotelCommentInfo = new BaseHotelCommentInfo(); if (ModuleAuthority.comment == 1) { Comment comment = new Comment(); baseHotelCommentInfo = comment.GetBaseInfo(hid); } ViewData["baseHotelCommentInfo"] = baseHotelCommentInfo; var memberCardCustomList = new List <Models.Home.MemberCardCustom>(); var memberinfo = new Repository.MemberInfo(); if (ModuleAuthority.membership_price == 1) { memberinfo = hotel3g.Repository.MemberHelper.GetMemberInfo(hotelWeixinid); if (memberinfo == null) { memberinfo = new Repository.MemberInfo(); } } int ismember = Convert.ToBoolean(MemberCardRuleJsonobj["becomeMember"].ToString()) ? 0 : 1; if (ismember == 0 || ModuleAuthority.membership_price == 1) { int customcount = 0; DataTable db_CardCustom = MemberCardCustom.GetMemberCardCustomList(hotelWeixinid, out customcount, 1, 50, "", ""); memberCardCustomList = DataTableToEntity.GetEntities <Models.Home.MemberCardCustom>(db_CardCustom).ToList(); } ViewData["customlist"] = memberCardCustomList; ViewData["memberinfo"] = memberinfo; return(View()); }