public async Task <ActionResult <List <Contract_ProductTypeDTO> > > SingleListProductType([FromBody] Contract_ProductTypeFilterDTO Contract_ProductTypeFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            ProductTypeFilter ProductTypeFilter = new ProductTypeFilter();

            ProductTypeFilter.Skip        = 0;
            ProductTypeFilter.Take        = 20;
            ProductTypeFilter.OrderBy     = ProductTypeOrder.Id;
            ProductTypeFilter.OrderType   = OrderType.ASC;
            ProductTypeFilter.Selects     = ProductTypeSelect.ALL;
            ProductTypeFilter.Id          = Contract_ProductTypeFilterDTO.Id;
            ProductTypeFilter.Code        = Contract_ProductTypeFilterDTO.Code;
            ProductTypeFilter.Name        = Contract_ProductTypeFilterDTO.Name;
            ProductTypeFilter.Description = Contract_ProductTypeFilterDTO.Description;
            ProductTypeFilter.StatusId    = new IdFilter {
                Equal = StatusEnum.ACTIVE.Id
            };

            if (ProductTypeFilter.Id == null)
            {
                ProductTypeFilter.Id = new IdFilter();
            }
            ProductTypeFilter.Id.In = await FilterProductType(ProductTypeService, CurrentContext);

            List <ProductType> ProductTypes = await ProductTypeService.List(ProductTypeFilter);

            List <Contract_ProductTypeDTO> Contract_ProductTypeDTOs = ProductTypes
                                                                      .Select(x => new Contract_ProductTypeDTO(x)).ToList();

            return(Contract_ProductTypeDTOs);
        }