Beispiel #1
0
        // GET: Credits
        public IActionResult Index(CreditFilter filter)
        {
            if (filter == null)
            {
                filter = new CreditFilter();
            }

            var indexVM = new CreditIndexViewModel
            {
                User            = _userManager.FindByIdAsync(User.FindFirstValue(ClaimTypes.NameIdentifier)).Result,
                CreditPurchases = _creditPurchaseManager.GetCreditPurchases(filter),
                Filter          = filter
            };

            return(View(indexVM));
        }
Beispiel #2
0
        public DataSet <CreditPurchase> GetCreditPurchases(CreditFilter filter)
        {
            var datasSet = new DataSet <CreditPurchase>();

            if (filter == null)
            {
                return(GetCreditPurchases());
            }
            else
            {
                var qryBase = _context.CreditPurchases;
                var qry     = qryBase.Select(x => x);

                if (_user != null)
                {
                    //Enkel CreditPurchase ophalen die van ons zijn tenzij we admin rol hebben
                    if (_userManager.IsInRoleAsync(_user, UserRoleType.RestaurantOwner.ToString()).Result ||
                        _userManager.IsInRoleAsync(_user, UserRoleType.Customer.ToString()).Result)
                    {
                        qry = from t in qry
                              where t.UserID == _user.Id
                              select t;
                    }
                }

                if (filter.From.HasValue)
                {
                    qry = from t in qry
                          where t.CreatedOn.Date >= filter.From.Value.Date
                          select t;
                }

                if (filter.To.HasValue)
                {
                    qry = from t in qry
                          where t.CreatedOn.Date <= filter.To.Value.Date
                          select t;
                }

                if (filter.Status.HasValue)
                {
                    qry = from t in qry
                          where t.Status == filter.Status.Value
                          select t;
                }

                if (!String.IsNullOrWhiteSpace(filter.UserID))
                {
                    qry = from t in qry
                          where t.UserID.ToLower().Contains(filter.UserID.ToLower())
                          select t;
                }

                if (filter.PurchaseID.HasValue)
                {
                    qry = from t in qry
                          where t.ID == filter.PurchaseID.Value
                          select t;
                }

                qry = from t in qry
                      orderby t.CreatedOn descending
                      select t;
                datasSet.Data = qry.ToList();
                return(datasSet);
            }
        }