public async Task <ActionResult> EditEmployee(EditEmployeeVM model)
        {
            try
            {
                var maVaiTroTrenHeThong_noChanges = model.MaVaiTroTrenHeThong;
                model = (EditEmployeeVM)(await AddSomePropertiesToEmployeeVM(model));
                model.MaVaiTroTrenHeThong = await userRoleRepository.FindRoleIdByUserID(model.Id);


                if (!ModelState.IsValid)
                {
                    return(View(model));
                }

                var employeeRecord = await _userManager.FindByIdAsync(model.Id);

                employeeRecord.Email         = model.Email;
                employeeRecord.PhoneNumber   = model.PhoneNumber;
                employeeRecord.FirstName     = model.FirstName;
                employeeRecord.MiddleName    = model.MiddleName;
                employeeRecord.LastName      = model.LastName;
                employeeRecord.TaxtId        = model.TaxtId;
                employeeRecord.DateOfBirth   = model.DateOfBirth;
                employeeRecord.GioiTinh      = model.GioiTinh;
                employeeRecord.NoiSinh       = model.NoiSinh;
                employeeRecord.DiaChiTamTru  = model.DiaChiTamTru;
                employeeRecord.DiaChiLienLac = model.DiaChiLienLac;
                employeeRecord.MaChucVu      = model.MaChucVu;
                employeeRecord.MaChuyenMon   = model.MaChuyenMon;
                employeeRecord.MaPhongBan    = model.MaPhongBan;
                employeeRecord.LoaiNhanVien  = model.LoaiNhanVien;
                employeeRecord.SoCMND        = model.SoCMND;
                employeeRecord.MucLuongCoBan = model.MucLuongCoBan;


                var uriProfilePicture = UploadedProfilePicture(model);
                if (uriProfilePicture != null)
                {
                    var oldProfilePictureName = employeeRecord.ProfilePicture;
                    employeeRecord.ProfilePicture = uriProfilePicture;
                    DeleteProfilePicture(oldProfilePictureName);
                }

                var changeEmployeeRecordSuccess = (await _userManager.UpdateAsync(employeeRecord)).Succeeded;

                var oldUserRole = await userRoleRepository.FindByUserID(employeeRecord.Id);

                var newUserRole = new IdentityUserRole <string>
                {
                    UserId = employeeRecord.Id,
                    RoleId = maVaiTroTrenHeThong_noChanges
                };
                var changeUserRoleSuccess = await userRoleRepository.Replace(oldUserRole, newUserRole);

                if (!changeEmployeeRecordSuccess || !changeUserRoleSuccess)
                {
                    ModelState.AddModelError("", "Error while saving");
                    return(View(model));
                }
                return(RedirectToAction(nameof(Details), new { id = model.Id }));
            }
            catch
            {
                return(View());
            }
        }