public async Task <IEnumerable <Event> > GetSuggestedEvents(EventStatuses status, EventQuery query, int suggestedEventsNumber)
        {
            var queryable       = context.Events.Include(q => q.Venue).ThenInclude(v => v.City).Where(e => e.Status == status);
            var suggestedEvents = queryable.Where(e => e.Name.Contains(query.SearchText));

            if (query.SearchText != null)
            {
                suggestedEvents = queryable.Where(e => e.Name.Contains(query.SearchText));
            }

            if (suggestedEvents.Count() < suggestedEventsNumber)
            {
                suggestedEvents = suggestedEvents.Concat(queryable.Where(e => e.Venue.City.Name.Contains(query.SearchText)));
            }

            if (suggestedEvents.Count() < suggestedEventsNumber)
            {
                suggestedEvents = suggestedEvents.Concat(queryable.Where(e => e.Venue.Name.Contains(query.SearchText)));
            }

            if (suggestedEvents.Count() > 10)
            {
                suggestedEvents = suggestedEvents.Take(suggestedEventsNumber);
            }

            return(await suggestedEvents.ToListAsync());
        }
 /// <summary>
 /// The constructor
 /// </summary>
 /// <param name="eventType"></param>
 /// <param name="eventStatus"></param>
 /// <param name="currencyCode"></param>
 /// <param name="total"></param>
 public PayInfoOptions(PayEventTypes eventType, EventStatuses eventStatus, CurrencyCodes currencyCode, decimal total)
 {
     EventType    = eventType;
     EventStatus  = eventStatus;
     CurrencyCode = currencyCode;
     Total        = total;
 }
Exemplo n.º 3
0
        private async void CancelEditingCommandExecuted()
        {
            if (_isLocked)
            {
                return;
            }


            if (_isEditMode)
            {
                _event.EventStatus = EventStatuses.FirstOrDefault(p => p.ID == _originalEvent.Event.EventStatus.ID);
                _event.EventType   = EventTypes.FirstOrDefault(p => p.ID == _originalEvent.Event.EventType.ID);

                _eventsDataUnit.EventsRepository.RevertAllChanges();
                _event.Event.LockedUserID = null;

                await _eventsDataUnit.SaveChanges();

                _event.RefreshItems();
            }
            else
            {
                _eventsDataUnit.RevertChanges();
            }
        }
Exemplo n.º 4
0
 private void SetEnquiryStatus()
 {
     if (!_isEditMode)
     {
         EventStatus = EventStatuses.FirstOrDefault(x => x.Name.Equals("Enquiry"));
     }
 }
        public async Task <PagedResult <Event> > GetEventsByStatusAndQuery(EventStatuses status, EventQuery query)
        {
            var queryable = context.Events.Include(q => q.Venue).ThenInclude(v => v.City).Where(e => e.Status == status);

            if (query.SearchText != null)
            {
                queryable = queryable.Where(e => e.Name.Contains(query.SearchText));
            }

            if (query.Categories != null)
            {
                queryable = queryable.Where(e => query.Categories.Contains(e.CategoryId));
            }

            if (query.Cities != null)
            {
                queryable = queryable.Where(e => query.Cities.Contains(e.Venue.CityId));
            }

            if (query.Venues != null)
            {
                queryable = queryable.Where(e => query.Venues.Contains(e.VenueId));
            }

            if (query.FromDate != null)
            {
                queryable = queryable.Where(e => e.Date >= query.FromDate);
            }

            if (query.ToDate != null)
            {
                queryable = queryable.Where(e => e.Date <= query.ToDate);
            }

            if (query.WithUserTicketsOnly)
            {
                var userTickets          = context.Tickets.Where(t => t.SellerId.Equals(query.CurrentUserId) && t.Status != TicketStatuses.Removed).ToArray();
                var userTicketsEventsIds = userTickets.Select(t => t.EventId).Distinct();

                queryable = queryable.Where(e => userTicketsEventsIds.Contains(e.Id));
            }

            var count = await queryable.CountAsync();

            queryable = sortingProvider.ApplySorting(queryable, query);
            queryable = queryable.ApplyPagination(query);

            var eventItems = await queryable.ToListAsync();

            return(new PagedResult <Event> {
                TotalCount = count, Items = eventItems
            });
        }
Exemplo n.º 6
0
        private async void AddEventStatusCommandExecuted()
        {
            var status = new EventStatus
            {
                ID            = Guid.NewGuid(),
                Name          = "New Event Status",
                Colour        = "#808080",
                PreferredName = ""
            };

            _adminDataUnit.EventStatusesRepository.Add(status);
            await _adminDataUnit.SaveChanges();

            var statusModel = new EventStatusModel(status);

            LoadEventStatusOptions(statusModel);

            EventStatuses.Add(statusModel);

            SelectedObject = statusModel;
        }
 public async Task <IEnumerable <Event> > GetEventsByStatus(EventStatuses status)
 {
     return(await context.Events.Where(e => e.Status == status).ToListAsync());
 }
 public async Task ChangeEventStatus(Event eventItem, EventStatuses status)
 {
     eventItem.Status = status;
     context.Events.Update(eventItem);
     await context.SaveChangesAsync();
 }
Exemplo n.º 9
0
        private void DeleteEventPropertyCommandExecuted()
        {
            if (SelectedObject == null)
            {
                return;
            }

            bool?dialogResult = null;

            /*string confirmText = Properties.Resources.MESSAGE_ASK_BEFORE_DELETING_ITEM + Environment.NewLine
             + "Another elements of the system may depend on this item. " + Environment.NewLine
             +"The system automatically deletes all data that depend on this item. Are you sure?";*/

            string confirmText = Properties.Resources.MESSAGE_ASK_BEFORE_DELETING_ITEM;

            RaisePropertyChanged("DisableParentWindow");

            RadWindow.Confirm(confirmText, (sender, args) => { dialogResult = args.DialogResult; });

            RaisePropertyChanged("EnableParentWindow");

            if (dialogResult != true)
            {
                return;
            }

            if (SelectedObject is EventTypeModel)
            {
                // check if any product depend on this event type
                if (SelectedEventType.EventType.ProductEventTypes.Any())
                {
                    // remove all ProductEventTypes that depend on this EventType
                    _adminDataUnit.ProductEventTypesRepository.Delete(SelectedEventType.EventType.ProductEventTypes.ToList());
                }

                // delete event type options
                _adminDataUnit.EventTypeOptionsRepository.Delete(SelectedEventType.EventType.EventTypeOptions.ToList());

                // delete event type
                _adminDataUnit.EventTypesRepository.Delete(SelectedEventType.EventType);
                _adminDataUnit.SaveChanges();

                EventTypes.Remove(SelectedEventType);
                SelectedEventType = null;
            }
            else if (SelectedObject is EventStatusModel)
            {
                // delete event status options
                _adminDataUnit.EventStatusOptionsRepository.Delete(SelectedEventStatus.EventStatus.EventStatusOptions.ToList());

                // delete event status
                _adminDataUnit.EventStatusesRepository.Delete(SelectedEventStatus.EventStatus);
                _adminDataUnit.SaveChanges();

                EventStatuses.Remove(SelectedEventStatus);
                SelectedEventStatus = null;
            }
            else if (SelectedObject is FollowUpStatus)
            {
                _adminDataUnit.FollowUpStatusesRepository.Delete(SelectedTODOStatus);
                _adminDataUnit.SaveChanges();
                TODOStatuses.Remove(SelectedTODOStatus);
                SelectedTODOStatus = null;
            }
        }