public async Task<bool> Update(Driver item)
        {
            var driver = await IdExist(item.Id);
            driver.IdCard = item.IdCard;
            driver.FirstName = item.FirstName;
            driver.LastNmae = item.LastNmae;
            driver.BirthDate = item.BirthDate;
            driver.Gender = item.Gender;
            driver.DriverIdCard = item.DriverIdCard;
            driver.ZipCode = item.ZipCode;
            driver.CategoryId = await CateExist(item.CategoryId);

            if (item.ExpireCard != null) driver.ExpireCard = item.ExpireCard.Value;
            if (item.TitleName != null) driver.TitleName = item.TitleName;

            _db.Entry(driver).State = EntityState.Modified;
            try
            {
                await _db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException exception)
            {
                throw new DbUpdateConcurrencyException(exception.Message);
            }

            return true;
        }
        public async Task<Driver> Add(DriverModel item)
        {
                //add to asp.net Identity
            var usrIden = new IdentityUser(item.UserName);
            var usrResult = await UserManager.CreateAsync(usrIden, item.UserName);//pass is same username **by default**
            if (!usrResult.Succeeded)
            {
                throw new DbUpdateException(usrResult.Errors.First());
            }

            var roleResult = await UserManager.AddToRoleAsync(usrIden.Id, "driver");
            if (!roleResult.Succeeded)
            {
                throw new DbUpdateException(roleResult.Errors.First());
            }

            var driver = new Driver
            {
                IdCard = item.IdCard,
                FirstName = item.FirstName,
                LastNmae = item.LastNmae,
                BirthDate = item.BirthDate,
                Gender = item.Gender,
                DriverIdCard = item.DriverIdCard,
                ZipCode = item.ZipCode,
                CategoryId = await CateExist(item.CategoryId),
                AspId = usrIden.Id
            };

            if (item.ExpireCard != null) driver.ExpireCard = item.ExpireCard.Value;
            if (item.TitleName != null) driver.TitleName = item.TitleName;

            driver = _db.Drivers.Add(driver);
            try
            {
                await _db.SaveChangesAsync();
                return driver;
            }
            catch (DbUpdateConcurrencyException exception)
            {
                throw new DbUpdateConcurrencyException(exception.Message);
            }
        }