public async Task <IEnumerable <PurchaseOrderHeader> > GetPurchaseOrders(POFilterParams filterParams)
        {
            var purchaseOrders = _context.PurchaseOrderHeaders.AsQueryable();

            switch (filterParams.isFromOutlet)
            {
            case 0:
                purchaseOrders = purchaseOrders.Where(a => a.isFromOutlet == true);
                break;

            case 1:
                purchaseOrders = purchaseOrders.Where(a => a.isFromOutlet == false);
                break;

            default:
                break;
            }

            // if (!filterParams.containNotActive)
            // {
            //     purchaseOrders = purchaseOrders.Where(a => a.Status == true);
            // }

            return(await purchaseOrders.Where(a => a.IsDeleted == false).Include(a => a.Supplier).Include(a => a.BusinessPlace).ToListAsync());
        }
        public async Task <PurchaseOrderHeader> GetPurchaseOrder(int id, POFilterParams filterParams)
        {
            var purchaseOrders = _context.PurchaseOrderHeaders.AsQueryable();

            switch (filterParams.isFromOutlet)
            {
            case 0:
                purchaseOrders = purchaseOrders.Where(a => a.isFromOutlet == true);
                break;

            case 1:
                purchaseOrders = purchaseOrders.Where(a => a.isFromOutlet == false);
                break;

            default:
                break;
            }

            // if (!filterParams.containNotActive)
            // {
            //     purchaseOrders = purchaseOrders.Where(a => a.Status == true);
            // }


            var purchaseOrder = await purchaseOrders
                                .Where(a => a.IsDeleted == false)
                                .Include(a => a.Supplier)
                                .Include(a => a.BusinessPlace)
                                .Include(p => p.PurchaseOrderDetail).ThenInclude(pd => pd.Item)
                                .FirstOrDefaultAsync(a => a.Id == id);

            return(purchaseOrder);
        }
        private POFilterParams GetFilterParams()
        {
            POFilterParams filterParams = new POFilterParams()
            {
                isFromOutlet = 2,// containNotActive = false
            };

            if (User.FindAll(ClaimTypes.Role).Any(a => a.Value == "Admin"))
            {
                filterParams.isFromOutlet = 2;// filterParams.containNotActive = true;
            }
            else
            {
                filterParams.isFromOutlet = User.FindAll(ClaimTypes.Role).Any(a => a.Value == "OutletManager") ? 0 : 1;
            }

            return(filterParams);
        }