/// <summary>
        /// 获取酒店详细信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public InformationDetail GetDetail(GetInformationDetail input)
        {
            var result = new InformationDetail();

            using (var db = new RTDbContext())
            {
                var information = db.TouristInformations.FirstOrDefault(p => p.Id == input.Id);
                if (information == null)
                {
                    throw new RTException("所选数据不存在");
                }
                if (information.Type != TouristInformationType.Hotel && information.Type != TouristInformationType.Winery)
                {
                    throw new RTException("酒店数据,才有详细信息");
                }

                double distance            = 0;
                string distanceDescription = "";
                if (information.Type == TouristInformationType.Hotel || information.Type == TouristInformationType.Winery)
                {
                    distance = LongitudeAndLatitudeToDistance.GetDistance(input.Longitude, input.Latitude, information.Longitude, information.Latitude);
                    if (distance > 1000)
                    {
                        distanceDescription = string.Format("距我{0}km", (distance / 1000).ToString("f2"));
                    }
                    else
                    {
                        distanceDescription = string.Format("距我{0}m", distance.ToString("f0"));
                    }
                }
                //result.Distance = information.Distance;
                result.Position            = information.Position;
                result.Distance            = distance;
                result.DistanceDescription = distanceDescription;
                result.Name  = information.Name;
                result.Phone = information.Phone;
                result.Price = information.Price;

                var detail = _detail.GetDetail(new GetDetailInput
                {
                    Classify  = (int)information.Type,
                    ProjectId = information.Id
                }, db);
                if (detail == null)
                {
                    return(result);
                }

                result.BigImgUrl = detail.ImgUrl;
                result.Contents  = detail.Paragraphs;
            }
            return(result);
        }
示例#2
0
        public GeneralResult GetDetail(GetInformationDetail input)
        {
            var result = new GeneralResult();

            try
            {
                result.Data  = bll.GetDetail(input);
                result.State = 0;
                result.Msg   = "操作成功";
            }
            catch (RTException e)
            {
                result = RTExceptionHandle(e);
            }
            catch (Exception e1)
            {
                result = ExceptionHandle(e1);
            }
            return(result);
        }