public async Task <ActionResult <int> > CountCustomerPointHistory([FromBody] Customer_CustomerPointHistoryFilterDTO Customer_CustomerPointHistoryFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            CustomerPointHistoryFilter CustomerPointHistoryFilter = ConvertCustomerPointHistoryFilter(Customer_CustomerPointHistoryFilterDTO);

            CustomerPointHistoryFilter = await CustomerPointHistoryService.ToFilter(CustomerPointHistoryFilter);

            int count = await CustomerPointHistoryService.Count(CustomerPointHistoryFilter);

            return(count);
        }
        private CustomerPointHistoryFilter ConvertCustomerPointHistoryFilter(Customer_CustomerPointHistoryFilterDTO Customer_CustomerPointHistoryFilterDTO)
        {
            CustomerPointHistoryFilter CustomerPointHistoryFilter = new CustomerPointHistoryFilter();

            CustomerPointHistoryFilter.Selects   = CustomerPointHistorySelect.ALL;
            CustomerPointHistoryFilter.Skip      = Customer_CustomerPointHistoryFilterDTO.Skip;
            CustomerPointHistoryFilter.Take      = Customer_CustomerPointHistoryFilterDTO.Take;
            CustomerPointHistoryFilter.OrderBy   = Customer_CustomerPointHistoryFilterDTO.OrderBy;
            CustomerPointHistoryFilter.OrderType = Customer_CustomerPointHistoryFilterDTO.OrderType;

            CustomerPointHistoryFilter.Id           = Customer_CustomerPointHistoryFilterDTO.Id;
            CustomerPointHistoryFilter.CustomerId   = Customer_CustomerPointHistoryFilterDTO.CustomerId;
            CustomerPointHistoryFilter.TotalPoint   = Customer_CustomerPointHistoryFilterDTO.TotalPoint;
            CustomerPointHistoryFilter.CurrentPoint = Customer_CustomerPointHistoryFilterDTO.CurrentPoint;
            CustomerPointHistoryFilter.ChangePoint  = Customer_CustomerPointHistoryFilterDTO.ChangePoint;
            CustomerPointHistoryFilter.Description  = Customer_CustomerPointHistoryFilterDTO.Description;
            CustomerPointHistoryFilter.CreatedAt    = Customer_CustomerPointHistoryFilterDTO.CreatedAt;
            CustomerPointHistoryFilter.UpdatedAt    = Customer_CustomerPointHistoryFilterDTO.UpdatedAt;
            return(CustomerPointHistoryFilter);
        }
        public async Task <ActionResult <List <Customer_CustomerPointHistoryDTO> > > ListCustomerPointHistory([FromBody] Customer_CustomerPointHistoryFilterDTO Customer_CustomerPointHistoryFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            CustomerPointHistoryFilter CustomerPointHistoryFilter = ConvertCustomerPointHistoryFilter(Customer_CustomerPointHistoryFilterDTO);

            CustomerPointHistoryFilter = await CustomerPointHistoryService.ToFilter(CustomerPointHistoryFilter);

            List <CustomerPointHistory> CustomerPointHistories = await CustomerPointHistoryService.List(CustomerPointHistoryFilter);

            List <Customer_CustomerPointHistoryDTO> Customer_CustomerPointHistoryDTOs = CustomerPointHistories
                                                                                        .Select(c => new Customer_CustomerPointHistoryDTO(c)).ToList();

            return(Customer_CustomerPointHistoryDTOs);
        }