// GET: Events
        public async System.Threading.Tasks.Task <ActionResult> Index(int id)
        {
            List <EventInfo> events = new List <EventInfo>();
            var eventResults        = new List <GogoKit.Models.Response.Event>();
            Dictionary <string, MinPriceEvents> minPrice = new Dictionary <string, MinPriceEvents>();
            EventInfo   eInfo = new EventInfo();
            EventSearch s     = new EventSearch();

            if (id != 0)
            {
                eventResults = await s.SearchEventsAsync(id);
            }

            var filteredResults = eventResults.AsEnumerable().Where(x => x.MinTicketPrice != null).OrderBy(x => x.Venue.Country.Name).ToList();

            foreach (GogoKit.Models.Response.Event e in filteredResults)
            {
                MinPriceTracker(minPrice, e);

                eInfo           = new EventInfo();
                eInfo.ID        = e.Id.Value;
                eInfo.Artist    = e.Name;
                eInfo.EventDate = DateTime.Parse(e.StartDate.Value.ToString());
                eInfo.Venue     = e.Venue.Name;
                eInfo.Location  = e.Venue.City + ", " + e.Venue.Country.Name;
                eInfo.Tickets   = e.NumberOfTickets.Value;
                eInfo.MinPrice  = e.MinTicketPrice == null ? "N/A" : e.MinTicketPrice.Display;

                events.Add(eInfo);
            }

            MarkMinPricedEvents(events, minPrice);

            return(View(events));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Asynchronously retrieves a list of events matching the given criteria. This operation does not support
        /// pagination.
        /// </summary>
        /// <param name="query">Search query.</param>
        /// <param name="token">Optional cancellation token.</param>
        /// <returns>List of events matching given criteria.</returns>
        public async Task <IEnumerable <Event> > SearchAsync(EventSearch query, CancellationToken token = default)
        {
            if (query is null)
            {
                throw new ArgumentNullException(nameof(query));
            }

            return(await SearchAsync <Event>(query, token).ConfigureAwait(false));
        }
Ejemplo n.º 3
0
        public IActionResult EventGrid([FromForm] EventSearchForm form)
        {
            var model = new EventSearch(_configuration)
            {
                Search = true,
                Form   = form
            };

            return(PartialView("Partial/EventGrid", model));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Retrieves a list of assets matching the given criteria. This operation does not support pagination.
        /// </summary>
        /// <param name="query">Search query.</param>
        /// <param name="token">Optional cancellation token.</param>
        /// <returns>List of assets matching given criteria.</returns>
        public async Task <IEnumerable <Event> > SearchAsync(EventSearch query, CancellationToken token = default)
        {
            if (query is null)
            {
                throw new ArgumentNullException(nameof(query));
            }

            var req = Oryx.Cognite.Events.search <IEnumerable <Event> >(query);

            return(await RunAsync(req, token).ConfigureAwait(false));
        }
Ejemplo n.º 5
0
        public async Task <EventSearch> SearchAsync(DateTime date, string userId)
        {
            var result = new EventSearch();

            result.SearchTime = date;
            var datePlus24Hours = date.AddHours(24);

            result.Events = await _repo.Events.Where(m => m.DateOfEventUtc > date && m.DateOfEventUtc <= datePlus24Hours).ProjectTo <Poco.Models.EventProfile>(MapObjects()).ToListAsync();

            return(result);
        }
Ejemplo n.º 6
0
        public async Task <EventSearch> SearchEvents(EventSearchRequest request, int page = 1)
        {
            var row = 50 * page;

            var query = QueryHandler.BuildQuery(request);
            var req   = await this._client.GetAsync($"https://api.stubhub.com/search/catalog/events/v3{query}&rows=10&start={row}");

            var res = await req.Content.ReadAsStringAsync();

            EventSearch jResponse = JsonConvert.DeserializeObject <EventSearch>(res);

            return(jResponse);
        }
        void GetData()
        {
            var apiTask = new ServiceApi().SearchEvents(currentTime);

            apiTask.HandleError(this);
            apiTask.OnSucess(this, response =>
            {
                if (response.Result.SearchTime == currentTime)
                {
                    result        = response.Result;
                    adapter.Items = response.Result.Events;
                    adapter.NotifyDataSetChanged();
                }
            });
        }
        void GetData()
        {
            var apiTask = new ServiceApi().SearchEvents(currentTime);

            apiTask.HandleError();
            apiTask.OnSucess(response =>
            {
                if (response.Result.SearchTime == currentTime)
                {
                    result             = response.Result;
                    eventsSource.Items = response.Result.Events;
                    tvEvents.ReloadData();
                }
            });
        }
Ejemplo n.º 9
0
 public ActionResult GetEvents(EventParam param)
 {
     try
     {
         if (param != null && !param.ItemId.IsNullOrEmpty())
         {
             Sitecore.Context.Item = Sitecore.Context.Database.GetItem(Sitecore.Data.ID.Parse(param.ItemId));
         }
         var EventResult = EventSearch.GetEvents(param);
         var s           = EventResult.ToJson();
         return(Json(s, JsonRequestBehavior.AllowGet));
     }
     catch (Exception e)
     {
         return(Json(new { success = false, ex = e.Message }, JsonRequestBehavior.AllowGet));
     }
 }
Ejemplo n.º 10
0
        public IActionResult EventSearch(EventSearch searchModel)
        {
            //Get records from DB using the search logic
            var eventSearch = new EventSearchLogic(_context);
            var model       = eventSearch.GetEvents(searchModel);

            //Set ViewBag Data
            ViewBag.showRecords     = searchModel.showRecords;
            ViewBag.currentPage     = searchModel.currentPage;
            ViewBag.searchString    = searchModel.searchString;
            ViewBag.searchField     = searchModel.searchField;
            ViewBag.eventType       = searchModel.eventType;
            ViewBag.recordsReturned = searchModel.recordsReturned;
            ViewBag.totalRecords    = searchModel.totalRecords;
            ViewBag.sortOrder       = searchModel.sortOrder;
            ViewBag.sortField       = searchModel.sortField;
            return(View("Index", model));
        }
Ejemplo n.º 11
0
        public async Task <HttpResponseMessage> PostSearch([FromBody]  EventSearch body)
        {
            var instance = EventService.GetInstance();
            IStateFactory <@event, EventsCollectionState> _stateFactory = new EventsCollectionFactory(new EventLinkFactory(Request));

            if (body.isEmpty())
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new BadRequest(Request.RequestUri, "The body must not be null"), "application/problem+json"));
            }

            var events = await instance.Search(body.location, body.tags);

            if (events.Success)
            {
                var res = events.Result.Select <@event, EventsCollectionState>(i => _stateFactory.Create(i));
                return(Request.CreateResponse(HttpStatusCode.OK, res, "application/json"));
            }

            return(Request.CreateResponse(HttpStatusCode.Conflict, new Conflict(Request.RequestUri, events.Message), "application/problem+json"));
        }
Ejemplo n.º 12
0
        public IActionResult Search([FromBody] EventSearch model)
        {
            EventListResult result = this.eventService.Search(model.Keywords, model.OrderBy, model.PageNo, model.PageSize, model.BlockSize);

            return(Ok(result));
        }
Ejemplo n.º 13
0
        private IQueryable <DocEntityEvent> _ExecSearch(EventSearch request, DocQuery query)
        {
            request = InitSearch <Event, EventSearch>(request);
            IQueryable <DocEntityEvent> entities = null;

            query.Run(session =>
            {
                entities = query.SelectAll <DocEntityEvent>();
                if (!DocTools.IsNullOrEmpty(request.FullTextSearch))
                {
                    var fts  = new EventFullTextSearch(request);
                    entities = GetFullTextSearch <DocEntityEvent, EventFullTextSearch>(fts, entities);
                }

                if (null != request.Ids && request.Ids.Any())
                {
                    entities = entities.Where(en => en.Id.In(request.Ids));
                }

                if (!DocTools.IsNullOrEmpty(request.Updated))
                {
                    entities = entities.Where(e => null != e.Updated && e.Updated.Value.Date == request.Updated.Value.Date);
                }
                if (!DocTools.IsNullOrEmpty(request.UpdatedBefore))
                {
                    entities = entities.Where(e => null != e.Updated && e.Updated <= request.UpdatedBefore);
                }
                if (!DocTools.IsNullOrEmpty(request.UpdatedAfter))
                {
                    entities = entities.Where(e => null != e.Updated && e.Updated >= request.UpdatedAfter);
                }
                if (!DocTools.IsNullOrEmpty(request.Created))
                {
                    entities = entities.Where(e => null != e.Created && e.Created.Value.Date == request.Created.Value.Date);
                }
                if (!DocTools.IsNullOrEmpty(request.CreatedBefore))
                {
                    entities = entities.Where(e => null != e.Created && e.Created <= request.CreatedBefore);
                }
                if (!DocTools.IsNullOrEmpty(request.CreatedAfter))
                {
                    entities = entities.Where(e => null != e.Created && e.Created >= request.CreatedAfter);
                }
                if (true == request.Archived?.Any() && currentUser.HasProperty(DocConstantModelName.EVENT, nameof(Reference.Archived), DocConstantPermission.VIEW))
                {
                    entities = entities.Where(en => en.Archived.In(request.Archived));
                }
                else
                {
                    entities = entities.Where(en => !en.Archived);
                }
                if (true == request.Locked?.Any())
                {
                    entities = entities.Where(en => en.Locked.In(request.Locked));
                }
                if (!DocTools.IsNullOrEmpty(request.AuditRecord) && !DocTools.IsNullOrEmpty(request.AuditRecord.Id))
                {
                    entities = entities.Where(en => en.AuditRecord.Id == request.AuditRecord.Id);
                }
                if (true == request.AuditRecordIds?.Any())
                {
                    entities = entities.Where(en => en.AuditRecord.Id.In(request.AuditRecordIds));
                }
                if (!DocTools.IsNullOrEmpty(request.Description))
                {
                    entities = entities.Where(en => en.Description.Contains(request.Description));
                }
                if (!DocTools.IsNullOrEmpty(request.Descriptions))
                {
                    entities = entities.Where(en => en.Description.In(request.Descriptions));
                }
                if (!DocTools.IsNullOrEmpty(request.Processed))
                {
                    entities = entities.Where(en => null != en.Processed && request.Processed.Value.Date == en.Processed.Value.Date);
                }
                if (!DocTools.IsNullOrEmpty(request.ProcessedBefore))
                {
                    entities = entities.Where(en => en.Processed <= request.ProcessedBefore);
                }
                if (!DocTools.IsNullOrEmpty(request.ProcessedAfter))
                {
                    entities = entities.Where(en => en.Processed >= request.ProcessedAfter);
                }
                if (!DocTools.IsNullOrEmpty(request.Status))
                {
                    entities = entities.Where(en => en.Status.Contains(request.Status));
                }
                if (!DocTools.IsNullOrEmpty(request.Statuss))
                {
                    entities = entities.Where(en => en.Status.In(request.Statuss));
                }
                if (true == request.TeamsIds?.Any())
                {
                    entities = entities.Where(en => en.Teams.Any(r => r.Id.In(request.TeamsIds)));
                }
                if (true == request.UpdatesIds?.Any())
                {
                    entities = entities.Where(en => en.Updates.Any(r => r.Id.In(request.UpdatesIds)));
                }
                if (true == request.UsersIds?.Any())
                {
                    entities = entities.Where(en => en.Users.Any(r => r.Id.In(request.UsersIds)));
                }

                entities = ApplyFilters <DocEntityEvent, EventSearch>(request, entities);

                if (request.Skip > 0)
                {
                    entities = entities.Skip(request.Skip.Value);
                }
                if (request.Take > 0)
                {
                    entities = entities.Take(request.Take.Value);
                }
                if (true == request?.OrderBy?.Any())
                {
                    entities = entities.OrderBy(request.OrderBy);
                }
                if (true == request?.OrderByDesc?.Any())
                {
                    entities = entities.OrderByDescending(request.OrderByDesc);
                }
            });
            return(entities);
        }
Ejemplo n.º 14
0
 public object Get(EventSearch request) => GetSearchResultWithCache <Event, DocEntityEvent, EventSearch>(DocConstantModelName.EVENT, request, _ExecSearch);
Ejemplo n.º 15
0
 public object Post(EventSearch request) => Get(request);
Ejemplo n.º 16
0
        // Render Search Form
        public ActionResult renderSearch()
        {
            var model = new EventSearch();

            return(PartialView("renderSearch", model));
        }
Ejemplo n.º 17
0
        //Action for exporting query to an Excel spreadsheet.
        public IActionResult Export(EventSearch searchModel)
        {
            //Get records from DB using the search logic
            var eventSearch = new EventSearchLogic(_context);
            var model       = eventSearch.GetEvents(searchModel);

            string   sWebRootFolder = _hostingEnvironment.WebRootPath;
            DateTime datetime       = System.DateTime.Now;
            string   sFileName      = @"Email-Events.xlsx";
            string   URL            = string.Format("{0}://{1}/{2}", Request.Scheme, Request.Host, sFileName);
            FileInfo file           = new FileInfo(Path.Combine(sWebRootFolder, sFileName));

            if (file.Exists)
            {
                file.Delete();
                file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
            }
            using (ExcelPackage package = new ExcelPackage(file))
            {
                // add a new worksheet to the empty workbook
                ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Email Events");
                //First add the headers
                worksheet.Cells[1, 1].Value  = "Timestamp";
                worksheet.Cells[1, 2].Value  = "Response";
                worksheet.Cells[1, 3].Value  = "Event Type";
                worksheet.Cells[1, 4].Value  = "Email Address";
                worksheet.Cells[1, 5].Value  = "Reason";
                worksheet.Cells[1, 6].Value  = "URL";
                worksheet.Cells[1, 7].Value  = "IP Address";
                worksheet.Cells[1, 8].Value  = "TLS Version";
                worksheet.Cells[1, 9].Value  = "Cert Error";
                worksheet.Cells[1, 10].Value = "User Agent";
                worksheet.Cells[1, 11].Value = "User ID";
                worksheet.Cells[1, 12].Value = "Attempt Number";
                worksheet.Cells[1, 13].Value = "Sent At";

                //Add values
                var i = 2;
                foreach (var item in model)
                {
                    worksheet.Cells["A" + i.ToString()].Value = item.eventTimestamp;
                    worksheet.Cells["A" + i.ToString()].Style.Numberformat.Format = "dd-mm-yyyy hh:MM:ss";
                    worksheet.Cells["B" + i.ToString()].Value = item.response;
                    worksheet.Cells["C" + i.ToString()].Value = item.@event;
                    worksheet.Cells["D" + i.ToString()].Value = item.email;
                    worksheet.Cells["E" + i.ToString()].Value = item.reason;
                    worksheet.Cells["F" + i.ToString()].Value = item.url;
                    worksheet.Cells["G" + i.ToString()].Value = item.ip;
                    worksheet.Cells["H" + i.ToString()].Value = item.tls;
                    worksheet.Cells["I" + i.ToString()].Value = item.cert_err;
                    worksheet.Cells["J" + i.ToString()].Value = item.useragent;
                    worksheet.Cells["K" + i.ToString()].Value = item.userid;
                    worksheet.Cells["L" + i.ToString()].Value = item.attempt;
                    worksheet.Cells["M" + i.ToString()].Value = item.eventSend_at;
                    worksheet.Cells["M" + i.ToString()].Style.Numberformat.Format = "dd-mm-yyyy hh:MM:ss";
                    i++;
                }
                package.Save(); //Save the workbook.
            }
            return(Redirect(URL));
        }