private DirectSalesOrderFilter ConvertFilterDirectSalesOrder(Company_DirectSalesOrderFilterDTO Company_DirectSalesOrderFilterDTO)
        {
            DirectSalesOrderFilter DirectSalesOrderFilter = new DirectSalesOrderFilter();

            DirectSalesOrderFilter.Selects   = DirectSalesOrderSelect.ALL;
            DirectSalesOrderFilter.Skip      = Company_DirectSalesOrderFilterDTO.Skip;
            DirectSalesOrderFilter.Take      = Company_DirectSalesOrderFilterDTO.Take;
            DirectSalesOrderFilter.OrderBy   = Company_DirectSalesOrderFilterDTO.OrderBy;
            DirectSalesOrderFilter.OrderType = Company_DirectSalesOrderFilterDTO.OrderType;

            DirectSalesOrderFilter.Id                        = Company_DirectSalesOrderFilterDTO.Id;
            DirectSalesOrderFilter.OrganizationId            = Company_DirectSalesOrderFilterDTO.OrganizationId;
            DirectSalesOrderFilter.Code                      = Company_DirectSalesOrderFilterDTO.Code;
            DirectSalesOrderFilter.BuyerStoreId              = Company_DirectSalesOrderFilterDTO.BuyerStoreId;
            DirectSalesOrderFilter.PhoneNumber               = Company_DirectSalesOrderFilterDTO.PhoneNumber;
            DirectSalesOrderFilter.StoreAddress              = Company_DirectSalesOrderFilterDTO.StoreAddress;
            DirectSalesOrderFilter.DeliveryAddress           = Company_DirectSalesOrderFilterDTO.DeliveryAddress;
            DirectSalesOrderFilter.AppUserId                 = Company_DirectSalesOrderFilterDTO.AppUserId;
            DirectSalesOrderFilter.OrderDate                 = Company_DirectSalesOrderFilterDTO.OrderDate;
            DirectSalesOrderFilter.DeliveryDate              = Company_DirectSalesOrderFilterDTO.DeliveryDate;
            DirectSalesOrderFilter.RequestStateId            = Company_DirectSalesOrderFilterDTO.RequestStateId;
            DirectSalesOrderFilter.EditedPriceStatusId       = Company_DirectSalesOrderFilterDTO.EditedPriceStatusId;
            DirectSalesOrderFilter.Note                      = Company_DirectSalesOrderFilterDTO.Note;
            DirectSalesOrderFilter.SubTotal                  = Company_DirectSalesOrderFilterDTO.SubTotal;
            DirectSalesOrderFilter.GeneralDiscountPercentage = Company_DirectSalesOrderFilterDTO.GeneralDiscountPercentage;
            DirectSalesOrderFilter.GeneralDiscountAmount     = Company_DirectSalesOrderFilterDTO.GeneralDiscountAmount;
            DirectSalesOrderFilter.TotalTaxAmount            = Company_DirectSalesOrderFilterDTO.TotalTaxAmount;
            DirectSalesOrderFilter.Total                     = Company_DirectSalesOrderFilterDTO.Total;
            DirectSalesOrderFilter.StoreStatusId             = Company_DirectSalesOrderFilterDTO.StoreStatusId;
            return(DirectSalesOrderFilter);
        }
        public async Task <ActionResult <int> > CountDirectSalesOrder([FromBody] Company_DirectSalesOrderFilterDTO Company_DirectSalesOrderFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            DirectSalesOrderFilter DirectSalesOrderFilter = ConvertFilterDirectSalesOrder(Company_DirectSalesOrderFilterDTO);

            DirectSalesOrderFilter = await DirectSalesOrderService.ToFilter(DirectSalesOrderFilter);

            int count = await DirectSalesOrderService.Count(DirectSalesOrderFilter);

            return(count);
        }
        public async Task <ActionResult <List <Company_DirectSalesOrderDTO> > > ListDirectSalesOrder([FromBody] Company_DirectSalesOrderFilterDTO Company_DirectSalesOrderFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            DirectSalesOrderFilter DirectSalesOrderFilter = ConvertFilterDirectSalesOrder(Company_DirectSalesOrderFilterDTO);

            DirectSalesOrderFilter = await DirectSalesOrderService.ToFilter(DirectSalesOrderFilter);

            List <DirectSalesOrder> DirectSalesOrders = await DirectSalesOrderService.List(DirectSalesOrderFilter);

            List <Company_DirectSalesOrderDTO> Company_DirectSalesOrderDTOs = DirectSalesOrders
                                                                              .Select(c => new Company_DirectSalesOrderDTO(c)).ToList();

            return(Company_DirectSalesOrderDTOs);
        }