public HttpResponseMessage AddBusinessRatings(BusinessRatingVM _businessRatingVM)
        {
            if (IsTokenAuthenticated())
            {
                try
                {
                    _businessRatingVM.UserID = _userId;
                    _businessRatingVM.Rating = _businessRatingVM.Rating.Replace("\"", "");
                    _businessRatingVM.Rating = _businessRatingVM.Rating != "" ? _businessRatingVM.Rating : "0";

                    BusinessVM _businessVM = _businessBLL.AddBusinessRating(_businessRatingVM);

                    if (_businessVM != null)
                    {
                        JSONSuccessResult(_businessVM);
                    }
                    else
                    {
                        _strJSONContent.Append("{\"message\":\"User does not exists.\"}");
                    }
                    return(Common.ResponseOutput(_strJSONContent));
                }
                catch (Exception ex)
                {
                    _Message = ex.Message;
                    _strJSONContent.Append("{\"status\":\"Failed\"}");
                }
                return(Common.ResponseOutput(_strJSONContent));
            }
            else
            {
                return(Common.ResponseOutput(_strJSONContent));
            }
        }
        /// <summary>
        /// Add Business Rating
        /// </summary>
        /// <returns></returns>
        public BusinessVM AddBusinessRating(BusinessRatingVM _businessRatingVM)
        {
            BusinessRating _businessRating = new BusinessRating {
                BusinessID = _businessRatingVM.BusinessID, UserID = _businessRatingVM.UserID, Rating = Convert.ToDouble(_businessRatingVM.Rating), Review = _businessRatingVM.Review
            };

            _objBusinessDAL.AddBusinessRating(_businessRating);

            return(GetBusinessDetails(_businessRatingVM.BusinessID));
        }
Exemple #3
0
        /// <summary>
        /// Add Business Rating
        /// </summary>
        /// <returns></returns>
        public BusinessVM AddBusinessRating(BusinessRatingVM _businessRatingVM)
        {
            BusinessRating _businessRating = new BusinessRating
            {
                UserID = _businessRatingVM.UserID,
                Rating = Convert.ToDouble(_businessRatingVM.Rating),
                Review = _businessRatingVM.Review
            };

            if (string.IsNullOrEmpty(_businessRatingVM.PlaceID))
            {
                _businessRating.BusinessID = _businessRatingVM.BusinessID;
                _businessRating.PlaceID    = null;
            }
            else
            {
                _businessRating.BusinessID = null;
                _businessRating.PlaceID    = _businessRatingVM.PlaceID;
            }

            _objBusinessDAL.AddBusinessRating(_businessRating);

            if (!string.IsNullOrEmpty(_businessRatingVM.PlaceID))
            {
                String googlePlaceURL = ConfigurationManager.AppSettings["GooglePlaceAPIReviewURL"] + _businessRatingVM.PlaceID + "&key=" + ConfigurationManager.AppSettings["GooglePlaceAPIKey"];

                using (var client = new WebClient())
                    using (var stream = client.OpenRead(googlePlaceURL))
                        using (var reader = new StreamReader(stream))
                            using (var jsonData = new JsonTextReader(reader))
                            {
                                return(BusinessPlaceDetails(JObject.Load(jsonData)["result"], _businessRatingVM.UserID));
                            }
            }
            else
            {
                return(GetBusinessDetails(_businessRatingVM.BusinessID));
            }
        }
        /// <summary>
        /// Convert FavouritePlace to FavouritePlace View Model Object
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        private FavouritePlaceVM MakeFavouritePlaceVM(FavouritePlace item)
        {
            _objFavouritePlaceVM = new FavouritePlaceVM()
            {
                FavouritePlaceID = item.FavouritePlaceID,
                UserID           = item.Business.UserID,
                BusinessID       = item.BusinessID,
                BusinessName     = item.Business.BusinessName,
                Latitude         = item.Business.Latitude,
                Longitude        = item.Business.Longitude,
                Location         = item.Business.Location,
                ContactNo        = item.Business.ContactNo,
                Website          = item.Business.Website,
                StartTime        = item.Business.StartTime,
                EndTime          = item.Business.EndTime,
                Flavours         = item.Business.Flavours,
                IsFavouritePlace = 1
            };

            // Add Business Rating
            Double _averageRating = 0;

            if (item.Business.BusinessRatings.Count > 0)
            {
                List <BusinessRatingVM> lstBusinessRating = new List <BusinessRatingVM>();
                foreach (var rating in item.Business.BusinessRatings)
                {
                    BusinessRatingVM _businessRatingVM = new BusinessRatingVM
                    {
                        BusinessRatingID = rating.BusinessRatingID,
                        BusinessID       = rating.BusinessID,
                        Rating           = rating.Rating.ToString(),
                        Review           = rating.Review,
                        UserID           = rating.UserID,
                        UserName         = rating.User.UserName,
                        ProfileImageUrl  = rating.User.ProfileImageUrl
                    };
                    lstBusinessRating.Add(_businessRatingVM);
                    _averageRating = _averageRating + rating.Rating;
                }

                _objFavouritePlaceVM.Reviews = new JavaScriptSerializer().Serialize(lstBusinessRating);
                _averageRating = _averageRating / item.Business.BusinessRatings.Count;
            }
            else
            {
                _objFavouritePlaceVM.Reviews = "[]";
            }

            _objFavouritePlaceVM.AverageRating = _averageRating;

            // Add Business Images
            if (item.Business.BusinessImages.Count > 0)
            {
                List <BusinessImageVM> lstBusinessImage = new List <BusinessImageVM>();
                string tempDocUrl = ConfigurationManager.AppSettings["APIURL"];
                foreach (var image in item.Business.BusinessImages)
                {
                    BusinessImageVM _businessImageVM = new BusinessImageVM
                    {
                        BusinessImageID = image.BusinessImageID,
                        BusinessID      = image.BusinessID,
                        ImageName       = image.ImageName,
                        ImageType       = image.ImageType,
                        ImagePath       = tempDocUrl + "/Uploads/Business/" + image.BusinessID + "/" + image.ImageName
                    };
                    lstBusinessImage.Add(_businessImageVM);
                }
                _objFavouritePlaceVM.Images = new JavaScriptSerializer().Serialize(lstBusinessImage);
            }
            else
            {
                _objFavouritePlaceVM.Images = "[]";
            }

            return(_objFavouritePlaceVM);
        }
Exemple #5
0
        /// <summary>
        /// Convert Business to Business View Model Object
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        private BusinessVM MakeBusinessVM(Business item, Boolean _isPremiumBusiness)
        {
            _objBusinessVM = new BusinessVM()
            {
                BusinessID       = item.BusinessID,
                BusinessName     = item.BusinessName,
                Latitude         = item.Latitude,
                Longitude        = item.Longitude,
                Location         = item.Location,
                ContactNo        = item.ContactNo,
                Website          = item.Website,
                StartTime        = item.StartTime,
                EndTime          = item.EndTime,
                Flavours         = item.Flavours,
                UserID           = item.UserID,
                IsFavouritePlace = item.FavouritePlaces.Where(f => (f.BusinessID == item.BusinessID && f.UserID == item.UserID)).Count() > 0 ? 1 : 0
            };

            if (_isPremiumBusiness)
            {
                _objBusinessVM.PremiumImageContent = item.PremiumImageContent;
            }


            // Add Business Rating
            Double _averageRating = 0;

            if (item.BusinessRatings.Count > 0)
            {
                List <BusinessRatingVM> lstBusinessRating = new List <BusinessRatingVM>();
                foreach (var rating in item.BusinessRatings)
                {
                    BusinessRatingVM _businessRatingVM = new BusinessRatingVM
                    {
                        BusinessRatingID = rating.BusinessRatingID,
                        BusinessID       = (int)rating.BusinessID,
                        Rating           = rating.Rating.ToString(),
                        Review           = rating.Review,
                        UserID           = rating.UserID,
                        UserName         = rating.User.UserName,
                        ProfileImageUrl  = rating.User.ProfileImageUrl
                    };
                    lstBusinessRating.Add(_businessRatingVM);
                    _averageRating = _averageRating + rating.Rating;
                }

                _objBusinessVM.Reviews = new JavaScriptSerializer().Serialize(lstBusinessRating);
                _averageRating         = _averageRating / item.BusinessRatings.Count;
            }
            else
            {
                _objBusinessVM.Reviews = "[]";
            }

            _objBusinessVM.AverageRating = _averageRating;

            // Add Business Images
            if (item.BusinessImages.Where(d => d.IsPremiumImage == _isPremiumBusiness).Count() > 0)
            {
                List <BusinessImageVM> lstBusinessImage = new List <BusinessImageVM>();
                string tempDocUrl = ConfigurationManager.AppSettings["APIURL"];
                foreach (var image in item.BusinessImages.Where(d => d.IsPremiumImage == _isPremiumBusiness))
                {
                    BusinessImageVM _businessImageVM = new BusinessImageVM
                    {
                        BusinessImageID = image.BusinessImageID,
                        BusinessID      = image.BusinessID,
                        ImageName       = image.ImageName,
                        ImageType       = image.ImageType,
                        ImagePath       = tempDocUrl + "/Uploads/Business/" + image.BusinessID + "/" + image.ImageName
                    };
                    lstBusinessImage.Add(_businessImageVM);
                }
                _objBusinessVM.Images = new JavaScriptSerializer().Serialize(lstBusinessImage);
            }
            else
            {
                _objBusinessVM.Images = "[]";
            }

            return(_objBusinessVM);
        }
Exemple #6
0
        /// <summary>
        /// Get Reviews By Place By ID
        /// </summary>
        /// <param name="_placeID"></param>
        public String GetReviewsByPlaceID(String _placeID, ref String _contactNumber, ref String _startTime, ref String _endTime)
        {
            try
            {
                _averageRating = 0;
                String googlePlaceURL = ConfigurationManager.AppSettings["GooglePlaceAPIReviewURL"] + _placeID + "&fields=review,opening_hours,formatted_phone_number&key=" + ConfigurationManager.AppSettings["GooglePlaceAPIKey"];

                StringBuilder           strResponse        = new StringBuilder();
                List <BusinessRatingVM> _businessRatingVMs = new List <BusinessRatingVM>();
                Int32 _ratingRecordsCount = 0;

                using (var client = new WebClient())
                    using (var stream = client.OpenRead(googlePlaceURL))
                        using (var reader = new StreamReader(stream))
                            using (var jsonData = new JsonTextReader(reader))
                            {
                                var jObject = JObject.Load(jsonData)["result"];

                                if (jObject["formatted_phone_number"] != null)
                                {
                                    _contactNumber = jObject["formatted_phone_number"].ToString().Replace("\"", "'");
                                }

                                if (jObject["opening_hours"] != null)
                                {
                                    try
                                    {
                                        _startTime = jObject["opening_hours"]["periods"][((int)DateTime.Now.DayOfWeek + 6) % 7]["open"]["time"].ToString().Replace("\"", "'");
                                        _startTime = DateTime.Parse(_startTime.Insert(2, ":")).ToString("h:mm tt");
                                    }
                                    catch (Exception ex) { _startTime = ""; }
                                    try
                                    {
                                        _endTime = jObject["opening_hours"]["periods"][((int)DateTime.Now.DayOfWeek + 6) % 7]["close"]["time"].ToString().Replace("\"", "'");
                                        _endTime = DateTime.Parse(_endTime.Insert(2, ":")).ToString("h:mm tt");
                                    }
                                    catch (Exception ex) { _endTime = ""; }
                                }

                                if (jObject["reviews"] != null)
                                {
                                    foreach (var data in jObject["reviews"])
                                    {
                                        BusinessRatingVM _businessRatingVM = new BusinessRatingVM();

                                        if (data["author_name"] != null)
                                        {
                                            _businessRatingVM.UserName = data["author_name"].ToString().Replace("\"", "'");
                                        }

                                        if (data["profile_photo_url"] != null)
                                        {
                                            _businessRatingVM.ProfileImageUrl = data["profile_photo_url"].ToString().Replace("\"", "'");
                                        }

                                        if (data["rating"] != null)
                                        {
                                            _businessRatingVM.Rating = data["rating"].ToString();
                                        }

                                        if (data["text"] != null)
                                        {
                                            _businessRatingVM.Review = data["text"].ToString().Replace("\"", "'");
                                        }

                                        _businessRatingVMs.Add(_businessRatingVM);
                                        _averageRating = _averageRating + Double.Parse(_businessRatingVM.Rating);
                                        _ratingRecordsCount++;
                                    }
                                }
                            }

                // Add Business Rating
                List <BusinessRating> lstBusinessRating = _objBusinessDAL.GetReviewsByPlaceID(_placeID);

                if (lstBusinessRating != null)
                {
                    List <BusinessRatingVM> lstBusinessRatingVM = new List <BusinessRatingVM>();
                    foreach (var rating in lstBusinessRating)
                    {
                        BusinessRatingVM _businessRatingVM = new BusinessRatingVM
                        {
                            BusinessRatingID = rating.BusinessRatingID,
                            Rating           = rating.Rating.ToString(),
                            Review           = rating.Review,
                            UserID           = rating.UserID,
                            UserName         = rating.User.UserName,
                            ProfileImageUrl  = rating.User.ProfileImageUrl
                        };
                        lstBusinessRatingVM.Add(_businessRatingVM);
                        _averageRating = _averageRating + rating.Rating;
                        _ratingRecordsCount++;
                    }

                    if (_ratingRecordsCount != 0)
                    {
                        _averageRating = _averageRating / _ratingRecordsCount;
                    }

                    if (lstBusinessRatingVM.Count > 0)
                    {
                        _businessRatingVMs.AddRange(lstBusinessRatingVM);
                    }
                }
                return(new JavaScriptSerializer().Serialize(_businessRatingVMs));
            }
            catch (Exception ex)
            {
                return("[]");
            }
        }