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

            ContactFilter ContactFilter = ConvertFilterContact(Company_ContactFilterDTO);

            ContactFilter = await ContactService.ToFilter(ContactFilter);

            int count = await ContactService.Count(ContactFilter);

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

            ContactFilter ContactFilter = ConvertFilterContact(Company_ContactFilterDTO);

            ContactFilter = await ContactService.ToFilter(ContactFilter);

            List <Contact> Contacts = await ContactService.List(ContactFilter);

            List <Company_ContactDTO> Company_ContactDTOs = Contacts
                                                            .Select(c => new Company_ContactDTO(c)).ToList();

            return(Company_ContactDTOs);
        }
        private ContactFilter ConvertFilterContact(Company_ContactFilterDTO Company_ContactFilterDTO)
        {
            ContactFilter ContactFilter = new ContactFilter();

            ContactFilter.Selects   = ContactSelect.ALL;
            ContactFilter.Skip      = Company_ContactFilterDTO.Skip;
            ContactFilter.Take      = Company_ContactFilterDTO.Take;
            ContactFilter.OrderBy   = Company_ContactFilterDTO.OrderBy;
            ContactFilter.OrderType = Company_ContactFilterDTO.OrderType;

            ContactFilter.Id              = Company_ContactFilterDTO.Id;
            ContactFilter.Name            = Company_ContactFilterDTO.Name;
            ContactFilter.ProfessionId    = Company_ContactFilterDTO.ProfessionId;
            ContactFilter.CompanyId       = Company_ContactFilterDTO.CompanyId;
            ContactFilter.ProvinceId      = Company_ContactFilterDTO.ProvinceId;
            ContactFilter.DistrictId      = Company_ContactFilterDTO.DistrictId;
            ContactFilter.NationId        = Company_ContactFilterDTO.NationId;
            ContactFilter.CustomerLeadId  = Company_ContactFilterDTO.CustomerLeadId;
            ContactFilter.ImageId         = Company_ContactFilterDTO.ImageId;
            ContactFilter.Description     = Company_ContactFilterDTO.Description;
            ContactFilter.Address         = Company_ContactFilterDTO.Address;
            ContactFilter.EmailOther      = Company_ContactFilterDTO.EmailOther;
            ContactFilter.DateOfBirth     = Company_ContactFilterDTO.DateOfBirth;
            ContactFilter.Phone           = Company_ContactFilterDTO.Phone;
            ContactFilter.PhoneHome       = Company_ContactFilterDTO.PhoneHome;
            ContactFilter.FAX             = Company_ContactFilterDTO.FAX;
            ContactFilter.Email           = Company_ContactFilterDTO.Email;
            ContactFilter.ZIPCode         = Company_ContactFilterDTO.ZIPCode;
            ContactFilter.SexId           = Company_ContactFilterDTO.SexId;
            ContactFilter.AppUserId       = Company_ContactFilterDTO.AppUserId;
            ContactFilter.PositionId      = Company_ContactFilterDTO.PositionId;
            ContactFilter.Department      = Company_ContactFilterDTO.Department;
            ContactFilter.ContactStatusId = Company_ContactFilterDTO.ContactStatusId;
            ContactFilter.CreatedAt       = Company_ContactFilterDTO.CreatedAt;
            ContactFilter.UpdatedAt       = Company_ContactFilterDTO.UpdatedAt;
            return(ContactFilter);
        }