/// <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); }
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(); } }
/// <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); } }
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))); }
/// <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); }