Example #1
0
        public Task <IViewComponentResult> InvokeAsync(string userEmail, AlertOrderField orderField = AlertOrderField.Id, bool descending = false)
        {
            var model = new AlertListModel();
            var query = ctx.Alerts.Include(a => a.Route).Where(a => a.User.Email == userEmail).OrderByDescending(a => a.Id);
            var list  = query.ToList();

            model.Alerts = orderField switch
            {
                AlertOrderField.Id => list.OrderBy(a => a.Id).ToList(),
                AlertOrderField.To => list.OrderBy(a => a.Destination).ToList(),
                AlertOrderField.From => list.OrderBy(a => a.Origin).ToList(),
                AlertOrderField.FromDate => list.OrderBy(a => a.FromDate).ToList(),
                AlertOrderField.ToDate => list.OrderBy(a => a.ToDate).ToList(),
                AlertOrderField.BookinClass => list.OrderBy(a => a.CabinClass).ToList(),
                AlertOrderField.Pax => list.OrderBy(a => a.Passengers).ToList()
            };
            model.Descending = descending;
            model.OrderField = orderField;
            if (descending || orderField == AlertOrderField.Id)
            {
                model.Alerts = model.Alerts.Reverse().ToList();
            }

            return(Task.FromResult <IViewComponentResult>(View(model)));
        }
    }
Example #2
0
        public IActionResult Index(AlertOrderField orderField = AlertOrderField.Id, bool descending = false)
        {
            var dict  = new Dictionary <string, List <string> >();
            var model = new Models.AlertModel();

            model.NewAlert = new AwardData.Alerts {
                Passengers = 1, CabinClass = CabinClass.Business
            };
            model.Json    = Newtonsoft.Json.JsonConvert.SerializeObject(ctx.Routes.Where(r => r.Crawl && r.Show));
            model.Classes = new List <SelectListItem>();
            foreach (var cabinClass in Enum.GetValues(typeof(CabinClass)).Cast <CabinClass>())
            {
                if (cabinClass != CabinClass.All)
                {
                    model.Classes.Add(new SelectListItem {
                        Text = cabinClass.ToString(), Value = ((int)cabinClass).ToString()
                    });
                }
            }
            model.Classes.Reverse();
            model.OrderField = orderField;
            model.Descending = descending;
            return(View(model));
        }