public async Task <IActionResult> Genders()
 {
     try
     {
         return(Ok(await _dropdownsRepository.Genders()));
     }
     catch (Exception x)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError));
     }
 }
        public async Task <AddEmployeeViewModel> GetEmployeeForEdit(int id)
        {
            //AddEmployeeViewModel addEmployeeView= FindByCondition(x => x.Id == id)
            //    .Include(x=>x.UserRoles)
            //    .Include(x=>x.Addresses)
            //    .Include(x=>x.Mobiles)
            //    .Include(x=>x.Emails)
            //    .Select(x => new AddEmployeeViewModel()
            //    {
            //        Id = x.Id,
            //        Addresses = x.Addresses.Select(x => new AddAddressViewModel
            //        {
            //            AddressTypeId = x.AddressTypeId,
            //            CityMasterId = x.CityMasterId,
            //            CountryMasterId = x.CountryMasterId,
            //            StateMasterId = x.StateMasterId,
            //            LandMark = x.LandMark
            //        }).ToList(),
            //        DateOfBirth = x.DateOfBirth,
            //        DateofJoining = x.DateofJoining,
            //        DepartmentId = x.DepartmentId,
            //        Designation = x.Designation,
            //        Emails = x.Emails.Select(x => new EmailViewModel { EmailId = x.EmailId }).ToList(),
            //        Mobiles = x.Mobiles.Select(x => new MobileViewModel { MobileNumber = x.MobileNumber }).ToList(),
            //        GenderId = x.GenderId,
            //        FirstName = x.FirstName,
            //        LastName = x.LastName,
            //        MaritialStatusId = x.MaritialStatusId,
            //        NationalityId = x.NationalityId,
            //        PassportNumber = x.PassportNumber,
            //        EmployeeId = x.EmployeeId,
            //        FatherName = x.FatherName,
            //        Roles = x.UserRoles.Select(x => new RoleViewModel
            //        {
            //            IsSelected = true,
            //            RoleId = x.RoleId,
            //            RoleName = x.Role.Name
            //        }).ToList()
            //    }).FirstOrDefault();



            //AddEmployeeViewModel addEmployeeView = FindByCondition(x => x.Id == id).Select(x => new AddEmployeeViewModel()
            //{
            //    Id = x.Id,

            //    DateOfBirth = x.DateOfBirth,
            //    DateofJoining = x.DateofJoining,
            //    DepartmentId = x.DepartmentId,
            //    Designation = x.Designation,
            //    GenderId = x.GenderId,
            //    FirstName = x.FirstName,
            //    LastName = x.LastName,
            //    MaritialStatusId = x.MaritialStatusId,
            //    NationalityId = x.NationalityId,
            //    PassportNumber = x.PassportNumber,
            //    EmployeeId = x.EmployeeId,
            //    FatherName = x.FatherName,

            //}).FirstOrDefault();

            Employee employee = await _userManager.FindByIdAsync(id.ToString());

            AddEmployeeViewModel addEmployeeView = _mapper.Map <AddEmployeeViewModel>(employee);

            addEmployeeView.Roles     = UserSelectedRoles(employee);
            addEmployeeView.Addresses = await GetAddressesAsync(id);

            addEmployeeView.Mobiles = await GetMobilesAsync(id);

            addEmployeeView.Emails = await GetEmailsAsync(id);

            addEmployeeView.Countries = await _dropdownsRepository.Countries();

            addEmployeeView.MaritialStatuses = await _dropdownsRepository.MaritialStatuses();

            addEmployeeView.Genders = await _dropdownsRepository.Genders();

            addEmployeeView.Deapartments = await _dropdownsRepository.Departments();

            addEmployeeView.Nationalities = await _dropdownsRepository.Nationalities();

            return(addEmployeeView);
        }