Exemplo n.º 1
0
        public ImageDetail Add(ImageDetail imageDetail)
        {
            var imageDb = db.GetCollection<ImageDetail>("ImageDetail");
            imageDetail._id = ObjectId.GenerateNewId().ToString();
            imageDb.Insert(imageDetail);

            return imageDetail;
        }
Exemplo n.º 2
0
        static void QuerySQS()
        {
            var searchDalc = new SearchDalc();
            var imageDalc = new ImageDalc();
            var colorExtract = new DominantColor();

            var sqs = AWSClientFactory.CreateAmazonSQSClient();
            var receiveMessageRequest = new ReceiveMessageRequest();
            receiveMessageRequest.QueueUrl = "https://sqs.us-west-2.amazonaws.com/xx";
            var receiveMessageResponse = sqs.ReceiveMessage(receiveMessageRequest);

            if (receiveMessageResponse.IsSetReceiveMessageResult())
            {
                var receiveMessageResult = receiveMessageResponse.ReceiveMessageResult;
                foreach (var message in receiveMessageResult.Message)
                {
                    var eventDetails = new List<EventDetail>();

                    if (message.IsSetBody())
                        eventDetails = FetchEvents(message.Body);

                    if (eventDetails != null && eventDetails.Count > 0)
                    {
                        var searchResult = searchDalc.Add(new Search() { EventDetails = eventDetails, SearchTerm = message.Body, SqsId = message.MessageId });
                        if (!string.IsNullOrEmpty(searchResult._id))
                        {
                            eventDetails.Take(25).ToList().ForEach(e =>
                            {
                                Console.WriteLine(e.EventName);
                                var imageResults = SearchEventImagesFromConnect(e.EventId);

                                Parallel.ForEach(imageResults, image =>
                                {
                                    var img = new ImageDetail()
                                    {
                                        EventId = e.EventId,
                                        ImageId = image.ImageId,
                                        Thumbnail = image.UrlThumb,
                                        DominantColor = colorExtract.GetDominantColor(image.UrlThumb).Result
                                    };
                                    imageDalc.Add(img);
                                    Console.WriteLine(img._id);
                                });
                            });
                        }
                    }

                    var messageRecieptHandle = message.ReceiptHandle;
                    var deleteRequest = new DeleteMessageRequest();
                    deleteRequest.QueueUrl = "https://sqs.us-west-2.amazonaws.com/xx";
                    deleteRequest.ReceiptHandle = messageRecieptHandle;
                    sqs.DeleteMessage(deleteRequest);
                }
            }

            searchDalc.disconnect();
            imageDalc.disconnect();
        }