示例#1
0
        private static IList<WeatherModel> ExtractLocationWeather(CliqueClaimRequestModel item)
        {
            string url = string.Format
              ("http://api.openweathermap.org/data/2.5/forecast/daily?q={0}&type=accurate&mode=xml&units=metric&cnt=7appid={1}",
              item.City, OpenWeatherAPIKey);

            using (WebClient client = new WebClient())
            {
                try
                {
                    string response = client.DownloadString(url);
                    if (!(response.Contains("message") && response.Contains("cod")))
                    {
                        XElement xEl = XElement.Load(new System.IO.StringReader(response));
                       return  GetWeatherInfo(xEl);
                    }

                }

                catch (Exception es)
                {

                }
            }

            return new List<WeatherModel>();
        }
        public void AddClaimRequest(CliqueClaimRequestModel model)
        {
            RequestService service = new RequestService();
            var UserProfilerModel = service.AddClaimRequest(model);

            var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["AzureWebJobsStorage"].ToString());
            CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
            CloudQueue thumbnailRequestQueue = queueClient.GetQueueReference("addrequest");
            thumbnailRequestQueue.CreateIfNotExists();
            var queueMessage = new CloudQueueMessage(JsonConvert.SerializeObject(new NewRequest { RequestId = UserProfilerModel.Id }));
            thumbnailRequestQueue.AddMessage(queueMessage);
        }
示例#3
0
        public CliqueClaimRequestModel AddClaimRequest(CliqueClaimRequestModel model)
        {
            CliqueClaimRequest request = null;
            using (ipl_userprofilerEntities entity = new ipl_userprofilerEntities())
            {
                if (model.Id == 0)
                {
                    request = new CliqueClaimRequest();
                    entity.CliqueClaimRequests.Add(request);
                    request.AddedAt = DateTime.Now;
                }
                else
                {
                    request = entity.CliqueClaimRequests.FirstOrDefault(res => res.Id == model.Id);
                }

                request.Accomodates = model.Accomodates;
                request.Address1 = model.Address1;
                request.Address2 = model.Address2;
                request.Bedrooms = model.Bedrooms;
                request.Beds = model.Beds;
                request.City = model.City;
                request.Country = model.Country;
                request.Description = model.Description;
                request.Locality = model.City;
                request.Name = model.Name;
                request.NightPrice = model.NightPrice;
                request.State = model.State;
                request.Type = model.Type;
                request.WeekPrice = model.WeekPrice;
                request.Zip = model.Zip;
                request.SSN = model.SSN;
                request.IsACAvailable = model.IsACAvailable;
                request.IsBuzzerAvailable = model.IsBuzzerAvailable;
                request.IsLiftAvailable = model.IsLiftAvailable;
                request.IsPetsAllowed = model.IsPetsAllowed;
                request.IsPrivatePoolAvailable = model.IsPrivatePoolAvailable;
                request.IsWifiAvailable = model.IsWifiAvailable;
                request.FromDate = model.FromDate;
                request.ToDate = model.ToDate;
                request.Price = model.Price;
                request.Score = model.Score;
                request.Status = model.Status;
                request.Latitude = model.Latitude;
                request.Longitude = model.Longitude;

                entity.SaveChanges();
                model.Id = request.Id;
            }

            return model;
        }
示例#4
0
        public static void ExtractLocationTweets(CliqueClaimRequestModel model)
        {
            var modelList = ExtractTweetsByLocationName(model);
            var response = SemantriaHelper.AddScore(modelList);

            response.AddRange(SemantriaHelper.AddScore(ExtractTweetsByGeoCode(model)));

            var service = new RequestService();
            service.AddTweetAndLocation(modelList);

            modelList = SemantriaHelper.AddScore(modelList);
            service.UpdateTweetScore(modelList);
        }
示例#5
0
        /*

        public static void ExtractUserTweets(CliqueClaimRequestModel model)
        {

            string url = "";
            var max_id = "";
            if (string.IsNullOrEmpty(max_id))
                url = string.Format("https://api.twitter.com/1.1/statuses/user_timeline.json?count={0}&screen_name={1}", "100", model.TwitterUserName);
            else
                url = string.Format("https://api.twitter.com/1.1/statuses/user_timeline.json?count={0}&screen_name={1}&trim_user=1&max_id={2}&since_id={3}",
                        "100", model.TwitterUserName, model.TwitterUserName, model.TwitterUserName);

            var requestUserTimeline = new HttpRequestMessage(System.Net.Http.HttpMethod.Get, url);
            var accessToken = GetAccessToken();
            requestUserTimeline.Headers.Add("Authorization", "Bearer " + accessToken);
            var httpClient = new HttpClient();
            HttpResponseMessage responseUserTimeLine = httpClient.SendAsync(requestUserTimeline).Result;

            dynamic jsonResponse = JsonConvert.DeserializeObject<object>(responseUserTimeLine.Content.ReadAsStringAsync().Result);

            var enumerableTweets = (jsonResponse as IEnumerable<dynamic>);

            List<TweetModel> modelList = new List<TweetModel>();
            foreach (var item in enumerableTweets)
            {
                modelList.Add(new TweetModel {
                    Text = item.text.Value,
                    PostedBy = item.user.name.Value,
                    PostedAt = item.created_at.Value,
                    ProfileImageURL = item.user.profile_image_url_https.Value,
                    TweetIdStr = item.id_str.Value,
                    RequestId = model.Id,
                });

            }

            var response = SemantriaHelper.AddScore(modelList);

            var service = new RequestService();
            service.AddTweetAndUser(response);

        }
         *
         * */
        private static List<TweetModel> ExtractTweetsByGeoCode(CliqueClaimRequestModel model)
        {
            string url = "";
            var max_id = "";
            if (string.IsNullOrEmpty(max_id))
            {
                //url = string.Format("https://api.twitter.com/1.1/search/tweets.json?q='{0}'%20AND%20{1}", buildingName, city);
                url = string.Format("https://api.twitter.com/1.1/search/tweets.json?geocode={0},{1},10mi&count=100", model.Latitude, model.Longitude);
            }
            else
                url = string.Format("https://api.twitter.com/1.1/statuses/user_timeline.json?count={0}&screen_name={1}&trim_user=1&max_id={2}&since_id={3}",
                        "100", model.Locality, model.Locality, model.Locality);

            var requestUserTimeline = new HttpRequestMessage(System.Net.Http.HttpMethod.Get, url);
            var accessToken = GetAccessToken();
            requestUserTimeline.Headers.Add("Authorization", "Bearer " + accessToken);
            var httpClient = new HttpClient();
            HttpResponseMessage responseUserTimeLine = httpClient.SendAsync(requestUserTimeline).Result;

            dynamic jsonResponse = JsonConvert.DeserializeObject<object>(responseUserTimeLine.Content.ReadAsStringAsync().Result);

            var enumerableTweets = (jsonResponse.statuses as IEnumerable<dynamic>);

            List<TweetModel> modelList = new List<TweetModel>();
            foreach (var item in enumerableTweets)
            {
                modelList.Add(new TweetModel
                {
                    Text = item.text.Value,
                    PostedBy = item.user.name.Value,
                    PostedAt = item.created_at.Value,
                    ProfileImageURL = item.user.profile_image_url_https.Value,
                    TweetIdStr = item.id_str.Value,
                    RequestId = model.Id,
                });

            }

            return modelList;
        }
示例#6
0
 public bool IsUserTweetExist(CliqueClaimRequestModel model)
 {
     using (ipl_userprofilerEntities entity = new ipl_userprofilerEntities())
     {
         var response = entity.CliqueUserTweets.Where(res => res.RequestId == model.Id);
         entity.CliqueUserTweets.RemoveRange(response);
         entity.SaveChanges();
     }
     return false;
 }
示例#7
0
        public static List<EventModel> MapEventModel(List<Event> eventList, CliqueClaimRequestModel requestModel)
        {
            List<EventModel> response = new List<EventModel>();
            foreach (var item in eventList)
            {
                response.Add(new EventModel
                {
                    EventId = item.eventId,
                    RequestId = requestModel.Id,
                    Name = item.title,
                    Description = item.description,
                    StartDate = item.start_time ?? DateTime.Now,
                    EndDate = item.stop_time??DateTime.Now,
                    Venue = item.venue_name
                });

            }

            return response;
        }