Esempio n. 1
0
        /// <summary>
        /// Adds the ticket to the data source.
        /// </summary>
        /// <param name="ticket">The ticket.</param>
        /// <param name="dispatcher">The dispatcher to use to alter the collection.</param>
        /// <returns></returns>
        public bool AddTicket(ITicket ticket, Dispatcher dispatcher = null)
        {
            TicketRecord newTicket = new TicketRecord();

            if (ticket.Id > 0)
            {
                newTicket.Id = ticket.Id;
            }
            newTicket.Street         = ticket.Street;
            newTicket.City           = ticket.City;
            newTicket.Code           = ticket.Code;
            newTicket.EMail          = ticket.EMail;
            newTicket.IsOnlineTicket = ticket.IsOnlineTicket;
            newTicket.IsRedeemed     = ticket.IsRedeemed;
            newTicket.Name           = ticket.Name;
            newTicket.Phone          = ticket.Phone;
            newTicket.RedeemDate     = ticket.RedeemDate;
            newTicket.Type           = ticket.Type;
            newTicket.Zip            = ticket.Zip;

            try
            {
                using (new SessionScope())
                {
                    newTicket.Create();
                }
            }
            catch { return(false); }

            Action add = delegate()
            {
                AllTickets.Add(newTicket);
                UpdateActiveTickets();
            };

            if (dispatcher == null)
            {
                add();
            }
            else
            {
                dispatcher.Invoke(add);
            }

            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs("TicketCount"));
                PropertyChanged(this, new PropertyChangedEventArgs("RedeemedCount"));
            }

            return(true);
        }
Esempio n. 2
0
        public async Task OnGetAsync(string searchString)
        {
            AllTickets = await TicketService.GetPaginatedResult(CurrentPage, PageSize);

            if (!String.IsNullOrEmpty(searchString))
            {
                AllTickets    = AllTickets.Where(s => s.Title.Contains(searchString)).ToList();
                TicketCount   = TicketService.getActiveTicketsCount();
                FinishedCount = TicketService.getFinishedTicketsCount();
                Count         = await TicketService.GetCount();
            }
            else
            {
                FinishedCount = TicketService.getFinishedTicketsCount();
                TicketCount   = TicketService.getActiveTicketsCount();
                Count         = await TicketService.GetCount();
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Updates the active tickets.
        /// </summary>
        private void UpdateActiveTickets()
        {
            activeTickets = new ObservableCollection <ITicket>();

            IEnumerable <ITicket> selection;

            if (specialTicketStrings.Count <= 0)
            {
                selection = AllTickets;
            }
            else
            {
                selection = AllTickets.Where(t => specialTicketStrings.TrueForAll(s => !t.Code.Contains(s)));
            }

            foreach (ITicket ticket in selection)
            {
                activeTickets.Add(ticket);
            }
        }
Esempio n. 4
0
        public ActionResult GetAllTickets(string sortOrder, string currentFilter, string searchString, int?page)
        {
            ViewBag.CurrentSort = sortOrder;
            List <Ticket> AllTickets;

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewBag.CurrentFilter = searchString;

            switch (sortOrder)
            {
            case "OrderByAscending":
                AllTickets = AdminBusinessLayer.GetAllTickets().OrderBy(a => a.Title).ToList();
                break;

            case "OrderByDescending":
                AllTickets = AdminBusinessLayer.GetAllTickets().OrderByDescending(a => a.Title).ToList();
                break;

            default:
                AllTickets = AdminBusinessLayer.GetAllTickets().ToList();
                break;
            }

            if (!String.IsNullOrEmpty(searchString))
            {
                AllTickets = AllTickets.Where(s => s.Title.Contains(searchString) || s.Description.Contains(searchString)).ToList();
            }
            int pageSize = 5;

            int pageNumber = (page ?? 1);

            return(View(AllTickets.ToPagedList(pageNumber, pageSize)));
        }
        public ActionResult GetAllTicketAssignToDeveloper(string sortOrder, string currentFilter, string searchString, int?page)
        {
            List <Ticket> AllTickets;

            ViewBag.CurrentSort = sortOrder;

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            switch (sortOrder)
            {
            case "OrderByAscending":
                AllTickets = DeveloperBusinessLayer.ticketsAssignToDeveloper(User.Identity.GetUserId()).OrderBy(a => a.Title).ToList();
                break;

            case "OrderByDescending":
                AllTickets = DeveloperBusinessLayer.ticketsAssignToDeveloper(User.Identity.GetUserId()).OrderByDescending(d => d.Title).ToList();
                break;

            default:
                AllTickets = DeveloperBusinessLayer.ticketsAssignToDeveloper(User.Identity.GetUserId());
                break;
            }

            if (!string.IsNullOrEmpty(searchString))
            {
                AllTickets = AllTickets.Where(s => s.Title.Contains(searchString) || s.Description.Contains(searchString)).ToList();
            }

            int pageSize   = 5;
            int pageNumber = (page ?? 1);

            return(View(AllTickets.ToPagedList(pageNumber, pageSize)));
        }
Esempio n. 6
0
        /// <summary>
        /// Removes the ticket from the data source.
        /// </summary>
        /// <param name="ticket">The ticket.</param>
        /// <param name="dispatcher">The dispatcher to use to alter the collection.</param>
        /// <returns></returns>
        public bool RemoveTicket(ITicket ticket, Dispatcher dispatcher = null)
        {
            bool result = false;

            if (ticket is TicketRecord)
            {
                (ticket as TicketRecord).Delete();
            }

            isRemovingExplicit = true;
            if (dispatcher == null)
            {
                result = AllTickets.Remove(ticket);
            }
            else
            {
                dispatcher.Invoke((Action) delegate() { result = AllTickets.Remove(ticket); });
            }
            isRemovingExplicit = false;

            return(result);
        }