private void UpdateUserMS(User user, DeviceController deviceInfo, DeviceRole role) { var deviceId = deviceInfo.DeviceID; var devicePermission = role.DeviceRolePermissions.FirstOrDefault(x => x.DeviceID == deviceId); var deviceUser = new UserInfo(); deviceUser.UserId = user.UserCode.ToInt32(); deviceUser.Role = (Rld.DeviceSystem.Contract.Model.UserRole)devicePermission.PermissionAction.GetHashCode(); deviceUser.AccessTimeZoneId = devicePermission.AllowedAccessTimeZoneID; Log.Info("Invoke WebSocketOperation..."); var operation = new WebSocketOperation(deviceId); var updateUserInfoRequest = new UpdateUserInfoRequest() { Token = operation.Token, UserInfo = deviceUser }; string rawRequest = DataContractSerializationHelper.Serialize(updateUserInfoRequest); Log.DebugFormat("Request: {0}", rawRequest); var rawResponse = operation.Execute(rawRequest); Log.DebugFormat("Response: {0}", rawResponse); var response = DataContractSerializationHelper.Deserialize <UpdateUserInfoResponse>(rawResponse); Log.InfoFormat("Update user id:[{0}], device user id:[{1}] to device id:[{2}], result:[{3}]", user.UserID, deviceUser.UserId, deviceId, response.ResultType); if (response.ResultType != ResultType.OK) { throw new Exception(string.Format("Update user id:[{0}], device user id:[{1}] to device id:[{2}] fails]", user.UserID, deviceUser.UserId, deviceId)); } }
public UpdateUserInfoResponse UpdateUserInfo(UpdateUserInfoRequest request) { var result = base.CreateResponse <UpdateUserInfoResponse>("更新用户信息"); try { using (var con = new DbConnectionProvider(dbName).GetOpenConnection()) { var parms = new DynamicParameters(); parms.Add("UserID", request.NewUserInfo.UserID, DbType.Int32); parms.Add("Mobile", request.NewUserInfo.Mobile, DbType.String); parms.Add("MobileInfo", request.NewUserInfo.MobileInfo, DbType.String); parms.Add("UserType", request.NewUserInfo.UserType, DbType.SByte); parms.Add("NickName", request.NewUserInfo.NickName, DbType.String); parms.Add("Sex", request.NewUserInfo.Sex, DbType.String); parms.Add("Age", request.NewUserInfo.Age, DbType.SByte); parms.Add("PersonalSign", request.NewUserInfo.PersonalSign, DbType.String); parms.Add("HeadPortraitUri", request.NewUserInfo.HeadPortraitUri, DbType.String); parms.Add("Height", request.NewUserInfo.Height, DbType.Double); parms.Add("Weight", request.NewUserInfo.MobileInfo, DbType.Double); parms.Add("UserStatus", request.NewUserInfo.MobileInfo, DbType.SByte); con.ExecuteNoneQuery("sp_UpdateUserInfo", parms, CommandType.StoredProcedure); } } catch (Exception ex) { base.HandleResponseException(ref result, ex); } return(result); }
public async Task <UserInfoResponse> ModifyUser(UpdateUserInfoRequest request, int userId) { Check.Value(request, "Request").NotNull(); request.Validate(ImmediateValidator.Instance); using (var conn = _dbConnFactory.CreateConnection()) { var uniqueEmail = await conn.QueryFirstOrDefaultAsync <string>("SELECT email FROM users WHERE " + $"email='{request.Email}' AND id<>'{userId}'"); Check.Value(uniqueEmail, "Request").IsNull("This email already exist"); var uniqueNickName = await conn.QueryFirstOrDefaultAsync <string>("SELECT nick_name FROM users WHERE " + $"nick_name='{request.NickName}' AND id<>'{userId}'"); Check.Value(uniqueNickName, "Request").IsNull("This email already exist"); var dbUser = await conn.GetUserById(userId); Check.Value(dbUser).NotNull("User doesn't exist"); conn.Execute("UPDATE users SET first_name=@FirstName, last_name=@LastName, patronymic=@Patronymic, " + $"nick_name=@NickName, email=@Email, phone_number=@PhoneNumber, description=@Description where id='{userId}'", request); return(AutoMapper.Mapper.Map <UpdateUserInfoRequest, UserInfoResponse>(request)); } }
public async Task <IActionResult> Update_Info([FromBody] UpdateUserInfoRequest model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var username = JWTtoken.GetUsernameFromToken(Request); if (username == null) { return(NotFound()); } var emailIsUsed = _userManager.Users.Any(user => user.Email.Equals(model.Email) && !user.UserName.Equals(username)); if (emailIsUsed) { return(BadRequest($"Email {model.Email} is already taken")); } var userAccount = await _userManager.FindByNameAsync(username); userAccount.Email = model.Email; userAccount.Firstname = model.FirstName; userAccount.Lastname = model.LastName; userAccount.PhoneNumber = model.PhoneNumber; var result = await _userManager.UpdateAsync(userAccount); if (result.Succeeded) { return(Ok("User updated successfully")); } return(NotFound()); }
public async Task ManagerCannotModifyUnavailableUser() { var request = new UpdateUserInfoRequest(); var response = await Api.Client.WithRole(RoleNames.Manager).PatchAsJsonAsync(_uri + "/user/21", typeof(UpdateUserInfoRequest), request); response.StatusCode.Should().BeEquivalentTo(403); }
public async Task <IActionResult> UpdateUser([FromBody] UpdateUserInfoRequest updateUserInfoRequest) { var user = _mapper.Map <User>(updateUserInfoRequest); _userRepository.UpdateUser(user); await _unitOfWork.CompleteAsync(); return(Ok(user)); }
public async Task UserWithoutNecessaryRightsCannotModifyUser(RoleNames?role, int code) { var request = new UpdateUserInfoRequest(); var response = await Api.Client.WithRole(role).PatchAsJsonAsync(_uri + "/user/6", typeof(UpdateUserInfoRequest), request); response.StatusCode.Should().BeEquivalentTo(code); }
public void UpdateInfo(UpdateUserInfoRequest request) { FirstName = request.FirstName; LastName = request.LastName; Patronymic = request.Patronymic; NickName = request.NickName; Email = request.Email; PhoneNumber = request.PhoneNumber; Description = request.Description; }
public static void UpdateUser(this IDbConnection db, int id, UpdateUserInfoRequest request) { db.Execute("UPDATE users SET first_name=@FirstName, last_name=@LastName, patronymic=@Patronymic, " + $"nick_name=@NickName, email=@Email, phone_number=@PhoneNumber, description=@Description where id=@ID", new { FirstName = request.FirstName, LastName = request.LastName, Patronymic = request.Patronymic, NickName = request.NickName, Email = request.Email, PhoneNumber = request.PhoneNumber, Description = request.Description, ID = id, }); }
public void Put(UpdateUserInfoRequest model) { DataProvider.ExecuteNonQuery(GetConnection, "dbo.UserProfiles_UpdateInfo" , inputParamMapper : delegate(SqlParameterCollection paramCollection) { paramCollection.AddWithValue("@firstName", model.FirstName); paramCollection.AddWithValue("@lastName", model.LastName); paramCollection.AddWithValue("@tagLine", model.Tagline); paramCollection.AddWithValue("@userId", model.id); } ); }
public async Task ChangeEmail(CancellationToken token) { if (!_service.IsAuthorized) { return; } var request = new UpdateUserInfoRequest { Email = Email }; await _service.UpdateUserInfo(request, token); }
public async Task UpdateUserInfo() { var token = await _authenticationService.GetAccessToken(); var user = User.Current; var request = new UpdateUserInfoRequest { AccessToken = token, UserName = user.Name }; await _client.UpdateUserInfo(request); }
public async Task ChangeCurrency(CancellationToken token) { if (!_service.IsAuthorized) { return; } var request = new UpdateUserInfoRequest { NewCurrency = Currency }; await _service.UpdateUserInfo(request, token); }
public async Task <IHttpActionResult> UpdateUserInfo(UpdateUserInfoRequest model) { Responce <UserInfoViewModel> responce = new Responce <UserInfoViewModel>(); responce.Success = true; try { string City = ""; string UserId = ""; #pragma warning disable CS0219 // The variable 'CityId' is assigned but its value is never used string CityId = ""; #pragma warning restore CS0219 // The variable 'CityId' is assigned but its value is never used string Name = ""; string PhoneNumber = ""; var UserRole = await UserManager.GetRolesAsync(User.Identity.GetUserId()); //IdentityUser user = await UserManager.FindByIdAsync(model.UserId); using (SSCEntities db = new SSCEntities()) { var AspNetUser = db.AspNetUsers.Find(model.UserId); AspNetUser.City = model.City; AspNetUser.Name = model.Name; AspNetUser.PhoneNumber = model.PhoneNumber; AspNetUser.CityId = model.CityId; db.Entry(AspNetUser).State = System.Data.Entity.EntityState.Modified; await db.SaveChangesAsync(); City = AspNetUser.City; UserId = AspNetUser.Id; PhoneNumber = AspNetUser.PhoneNumber; Name = AspNetUser.Name; responce.ResponeContent = new UserInfoViewModel { Email = AspNetUser.Email, City = City, UserId = UserId, PhoneNumber = PhoneNumber, Name = Name, UserRole = UserRole.FirstOrDefault() }; } return(Ok(responce)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public UpdateUserInfoResponse Process(UpdateUserInfoRequest request) { try { if (request.UserInfo == null) { } var userEnrollInfoDao = new UserEnrollInfoDao(); var userDao = new UserInfoDao(); var enroll = new Enroll() { DIN = (UInt64)request.UserInfo.UserId, Fingerprint = new byte[Zd2911Utils.MaxFingerprintLength * 10] }; var deviceUser = new User() { DIN = (UInt64)request.UserInfo.UserId, Enrolls = new List <Enroll> { enroll } }; if (request.UserInfo.CredentialServices != null) { var originalEnroll = userEnrollInfoDao.GetEnroll(request.UserInfo.UserId); if (originalEnroll != null) { enroll.EnrollType = originalEnroll.EnrollType; } } UserInfoMapper.UpdateSystemInfo(ref deviceUser, request.UserInfo); bool result = userDao.SaveOrUpdateUser(deviceUser); return(new UpdateUserInfoResponse() { Token = request.Token, ResultType = ResultType.OK }); } catch (Exception ex) { Log.Error(ex); return(new UpdateUserInfoResponse() { Token = request.Token, ResultType = ResultType.Error }); } }
public async Task <UserInfoResponse> ModifyUser([FromBody] UpdateUserInfoRequest request, [FromRoute] int userId, [FromServices] IManagementAreaService managementAreaService) { if (User.IsInRole("Manager")) { var users = await managementAreaService.GetAvailableUsersIdForManager(this.GetUserId()); if (!users.Contains(userId)) { Response.StatusCode = 403; return(null); } } return(await _accountService.ModifyUser(request, userId)); }
private void btnOK_Click(object sender, EventArgs e) { String niceName = skinTextBox_nickName.SkinTxt.Text.Trim(); if (String.IsNullOrEmpty(niceName)) { return; } UpdateUserInfoRequest request = new UpdateUserInfoRequest(); request.User = new UserInfo(); request.User.UserID = GlobalResourceManager.CurrentUser.UserID; request.User.NickName = niceName; request.User.Signature = skinTextBox_signature.SkinTxt.Text; TCPClient.Singleton.SendProtoMessage(CMD.UpdateUserInfoRequestCMD, request); }
public HttpResponseMessage updateToForm(UpdateUserInfoRequest model) { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } else { model.id = UserService.GetCurrentUserId(); _UserProfileService.Put(model); ItemResponse <bool> response = new ItemResponse <bool>(); response.IsSuccessful = true; return(Request.CreateResponse(HttpStatusCode.OK, response)); } }
public async Task UpdateUserInfoAsync(UpdateUserInfoRequest request, CancellationToken cancellationToken) { var validator = new UpdateUserInfoRequestValidator(); await validator.ValidateAndThrowAsync(request, null, cancellationToken); var userToUpdate = await _userManager.FindByIdAsync(request.UserId.ToString()); if (userToUpdate == null) { throw new ServiceException(ErrorCodes.UserWithGivenIdNotFound, $"User with given id {request.UserId} not found"); } userToUpdate.FirstName = request.FirstName; userToUpdate.LastName = request.LastName; userToUpdate.Email = request.Email; userToUpdate.PhoneNumber = request.PhoneNumber; await _userManager.UpdateAsync(userToUpdate); }
public async Task <ActionResult> UpdateUserInfo(UpdateUserInfoRequest request) { var userId = User.Claims.First(a => a.Type == Constants.ClaimUserId).Value; var user = await _userManager.FindByIdAsync(userId); if (user == null) { throw new BusinessException("UserNotFound", "Kullanıcı bulunamadı."); } if (string.IsNullOrWhiteSpace(request.FullName)) { throw new BusinessException("EmptyFullname", "İsim boş olamaz."); } user.FullName = request.FullName; user.Gender = request.Gender; user.Description = request.Description; if (request.BirthDate.HasValue) { user.BirthDate = new DateTime(request.BirthDate.Value.Year, request.BirthDate.Value.Month, request.BirthDate.Value.Day); } var consumerUser = user as ConsumerUser; if (consumerUser != null) { consumerUser.RelationshipStatus = request.RelationshipStatus; consumerUser.Job = request.Job; if (request.BirthTime.HasValue) { consumerUser.BirthTime = new DateTime(1, 1, 1, request.BirthTime.Value.Hour, request.BirthTime.Value.Minute, 0); } } await _userManager.UpdateAsync(user); return(Ok()); }
public async Task <Responce <UserinfoResponce> > UpdateUserInfo(string Name, string Email, string City, string Mobile, string UserId, int CityId) { try { UpdateUserInfoRequest updateUserInfoRequest = new UpdateUserInfoRequest(); updateUserInfoRequest.City = City.Trim(); updateUserInfoRequest.Name = Name.Trim(); updateUserInfoRequest.Email = Email.Trim(); updateUserInfoRequest.PhoneNumber = Mobile.Trim(); updateUserInfoRequest.UserId = UserId.Trim(); updateUserInfoRequest.CityId = CityId; string Json = JsonConvert.SerializeObject(updateUserInfoRequest); var result = await restapiHelper.PosyAsync <Responce <UserinfoResponce> >(EndPoint.Account.UpdateUserInfo, Json); return(result); } catch (Exception ex) { return(null); } }
public async Task <UserInfoResponse> ModifyUser(UpdateUserInfoRequest request, int userId) { Check.Value(request, "Request").NotNull(); request.Validate(ImmediateValidator.Instance); using (var conn = _dbConnFactory.CreateConnection()) { var uniqueEmail = await conn.CheckUniqueEmail(request.Email, userId); Check.Value(uniqueEmail, "Request").IsNull("This email already exist"); var uniqueNickName = await conn.CheckUniqueNickName(request.NickName, userId); Check.Value(uniqueNickName, "Request").IsNull("This email already exist"); var dbUser = await conn.GetUserById(userId); Check.Value(dbUser).NotNull("User doesn't exist"); conn.UpdateUser(userId, request); return(AutoMapper.Mapper.Map <UpdateUserInfoRequest, UserInfoResponse>(request)); } }
public async Task <IActionResult> ChangeInfo([FromBody] UpdateUserInfoRequest request) { try { var thisUserId = ClaimsExtractor.GetUserIdClaim(User.Claims); await mUsersService.UpdateUserInfo(request.UserName, request.FirstName, request.LastName, thisUserId); return(Ok(new ResponseApiModel <bool> { IsSuccessfull = true })); } catch (InvalidDataException ex) { return(BadRequest(new ResponseApiModel <bool> { IsSuccessfull = false, ErrorMessage = ex.Message })); } catch (KeyNotFoundException ex) { return(NotFound(new ResponseApiModel <bool> { IsSuccessfull = false, ErrorMessage = ex.Message })); } catch (Exception) { return(StatusCode((int)HttpStatusCode.InternalServerError, new ResponseApiModel <bool> { IsSuccessfull = false })); } }
private void btnSave_Click(object sender, EventArgs e) { var clientApplicationService = ServiceFactory.GetClientApplicationService(); var request = new UpdateUserInfoRequest() { Username = PrintingApp.UserCredential.UserName, Password = PrintingApp.UserCredential.Password, UserInfo = new UserInfo() { UserComputerConfig = new UserComputerConfig() { HostMac = mac.Text, HostName = hostname.Text }, UserPrinterConfig = new UserPrinterConfig() { A4Printer = cb_A4Printer.SelectedItem.ToString(), A5Printer = cb_A5Printer.SelectedItem.ToString(), BarcodePrinter = cb_BarcodePrinter.SelectedItem.ToString(), PdfPrinter = cb_PDFPrinter.SelectedItem.ToString(), } }, }; var response = clientApplicationService.UpdateUserInfo(request); if (response.ResultType == ResultTypes.Ok) { PrintingApp.CurrentUserInfo.UserComputerConfig = request.UserInfo.UserComputerConfig; PrintingApp.CurrentUserInfo.UserPrinterConfig = request.UserInfo.UserPrinterConfig; MessageBox.Show("保存打印机配置成功!"); this.Close(); } else { MessageBox.Show("保存打印机配置异常!"); } }
/// <summary> /// 更新用户信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public UpdateUserInfoResponse UpdateUserInfo(UpdateUserInfoRequest request) { var result = new UpdateUserInfoResponse() { Result = true, ResultMessage = "更新用户信息成功" }; try { //var user = db.users.SingleOrDefault(p => p.UserID == request.UserID); //if (user == null) //{ // result.Result = false; // result.ResultMessage = "找不到用户信息"; // return result; //} //user.Mobile = request.Mobile; //user.NickName = request.NickName; //user.TrueName = request.TrueName; //user.AreaInfo = request.AreaInfo; //user.PersonalSign = request.PersonalSign; //user.DataChange_LastTime = DateTime.Now; //db.SaveChanges(); } catch (Exception ex) { result.Result = false; result.ResultMessage = "更新用户信息异常"; result.Errors.Add(ex.Message); } return(result); }
public UpdateUserInfoResponse UpdateUserInfo(UpdateUserInfoRequest request) { return(MessageProcessor.Process(request, new UpdateUserInfoOp())); }
public async Task <IActionResult> UpdateUserInfo([FromBody] UpdateUserInfoRequest request, CancellationToken cancellationToken) { await _userService.UpdateUserInfoAsync(request, cancellationToken); return(Ok()); }
public UpdateUserInfoResponse UpdateUserInfo(UpdateUserInfoRequest request) { return(FiveStarCoachManager.GetInstance().UpdateUserInfo(request)); }
private void ActiveMQ_Received(object sender, string e) { var package = JsonConvert.DeserializeObject <Package>(e); switch (package.Type) { case "Request": { switch (package.Method) { case "RegisterUser": { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Address = default(string), user = default(User), //Username = default(string), //Password = default(string), //Info = default(string) }); // TODO:数据库处理。 var Result = RegisterUserRequest?.Invoke(new Tuple <User>(data.user)); if (data.Address == null) { break; } // TODO:响应客户端。 activeMQ.Send(data.Address, new Package(package.SessionID, "Response", package.Method, JsonConvert.SerializeObject(new { Result })).ToString()); } break; case "UserLogin": { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Address = default(string), Username = default(string), Password = default(string), }); if (data.Address == null) { break; } // TODO:数据库处理。 var Result = UserLoginRequest?.Invoke(new Tuple <string, string, string>(data.Username, data.Password, data.Address)); // TODO:响应客户端。 activeMQ.Send(data.Address, new Package(package.SessionID, "Response", package.Method, JsonConvert.SerializeObject(new { Result })).ToString()); // 广播地址 TopicactiveMQ.TopicSend("Topic", new Package(package.SessionID, "Notice", "FriendLoginNotice", JsonConvert.SerializeObject(new { Username = data.Username, Address = data.Address })).ToString()); } break; case "SearchFriends": { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Address = default(string), MyUserName = default(string), Condition = default(string) }); if (data.Address == null) { break; } // TODO:数据库处理。 var Result = SearchFriendsRequest?.Invoke(new Tuple <string, string, string>(data.Address, data.MyUserName, data.Condition)); // TODO:响应客户端。 activeMQ.Send(data.Address, new Package(package.SessionID, "Response", package.Method, JsonConvert.SerializeObject(new { Result })).ToString()); } break; case "AddFriend": { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Address = default(string), MyUserID = default(string), FriendID = default(string) }); if (data.Address == null) { break; } // TODO:数据库处理。 var Result = AddFriendRequest?.Invoke(new Tuple <string, string>(data.MyUserID, data.FriendID)); // 响应客户端,在主界面绑定好友信息。 activeMQ.Send(data.Address, new Package(package.SessionID, "Response", package.Method, JsonConvert.SerializeObject(new { Result })).ToString()); // 通知被加好友方 activeMQ.Send(Result.Item3.Address, new Package(package.SessionID, "Notice", package.Method, JsonConvert.SerializeObject(new { Result })).ToString()); } break; case "GetMyFriends": { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Address = default(string), UserName = default(string) }); if (data.Address == null) { break; } // TODO:数据库处理。 var Result = GetMyFriendsRequest?.Invoke(new Tuple <string>(data.UserName)); // TODO:响应客户端。 activeMQ.Send(data.Address, new Package(package.SessionID, "Response", package.Method, JsonConvert.SerializeObject(new { Result })).ToString()); } break; case "GetUserInfo": { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Address = default(string), UserName = default(string) }); if (data.Address == null) { break; } // TODO:数据库处理。 var Result = GetUserInfoRequest?.Invoke(new Tuple <string>(data.UserName)); // TODO:响应客户端。 activeMQ.Send(data.Address, new Package(package.SessionID, "Response", package.Method, JsonConvert.SerializeObject(new { Result })).ToString()); } break; case "UpdateUserInfo": { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Address = default(string), User = default(User) }); if (data.Address == null) { break; } // TODO:数据库处理。 var Result = UpdateUserInfoRequest?.Invoke(new Tuple <User>(data.User)); // TODO:响应客户端。 activeMQ.Send(data.Address, new Package(package.SessionID, "Response", package.Method, JsonConvert.SerializeObject(new { Result })).ToString()); } break; case "Logout": { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Address = default(string), UserName = default(string) }); if (data.Address == null) { break; } // 数据库处理。 var Result = LogoutRequest?.Invoke(data.UserName); // 广播好友退出信息 TopicactiveMQ.TopicSend("Topic", new Package(package.SessionID, "Notice", "Logout", JsonConvert.SerializeObject(new { Result, data.UserName })).ToString()); } break; default: break; } } break; default: break; } }
public void UpdateUser(User user, DeviceController device) { if (user == null || device == null) { return; } if (user.UserAuthentications == null || user.UserAuthentications.Count == 0) { return; } if (user.GetUserAccessableDeviceIds().Contains(device.DeviceID) == false) { return; } var deviceID = device.DeviceID; var deviceCode = device.Code.ToInt32(); Log.Info("Getting user authentication infos..."); var userAuthenticationsOfDevice = user.UserAuthentications.Where(a => a.DeviceID == deviceID); var authenticationsOfDevice = userAuthenticationsOfDevice as IList <UserAuthentication> ?? userAuthenticationsOfDevice.ToList(); Log.Info("Getting user permission infos..."); var deviceRoles = _deviceRole.Query(new Hashtable { { "Status", (int)GeneralStatus.Enabled } }).ToList(); var userDevicePermission = user.GetUserDeviceRoleAuthorizedPermissionByDeviceId(deviceID, deviceRoles); Log.Info("Building device user..."); var deviceUser = new UserInfo(); deviceUser.UserId = user.UserCode.ToInt32(); deviceUser.ExternalUserCode = user.UserID.ToString(); // user info deviceUser.UserName = user.Name; deviceUser.UserStatus = user.Status == GeneralStatus.Enabled; deviceUser.DepartmentId = user.DepartmentID; deviceUser.Comment = user.Remark; // user role deviceUser.Role = (Rld.DeviceSystem.Contract.Model.UserRole)userDevicePermission.PermissionAction.GetHashCode(); deviceUser.AccessTimeZoneId = userDevicePermission.AllowedAccessTimeZoneID; //user authentication foreach (var userAuthentication in authenticationsOfDevice) { switch (userAuthentication.AuthenticationType) { case AuthenticationType.FingerPrint1: case AuthenticationType.FingerPrint2: case AuthenticationType.FingerPrint3: case AuthenticationType.FingerPrint4: case AuthenticationType.FingerPrint5: case AuthenticationType.FingerPrint6: case AuthenticationType.FingerPrint7: case AuthenticationType.FingerPrint8: case AuthenticationType.FingerPrint9: case AuthenticationType.FingerPrint10: { var service = new FingerPrintService() { Index = (int)userAuthentication.AuthenticationType, Enabled = true }; service.FingerPrintData = userAuthentication.AuthenticationData; service.UseForDuress = userAuthentication.IsDuress; deviceUser.CredentialServices.Add(service); } break; case AuthenticationType.Password: { var service = new PasswordService() { Enabled = true }; service.Password = SimpleEncryption.Decode(userAuthentication.AuthenticationData); service.UseForDuress = userAuthentication.IsDuress; deviceUser.CredentialServices.Add(service); } break; case AuthenticationType.IcCard: { var service = new CredentialCardService() { Enabled = true }; service.CardNumber = userAuthentication.AuthenticationData; service.UseForDuress = userAuthentication.IsDuress; deviceUser.CredentialServices.Add(service); } break; default: break; } } Log.Info("Invoke WebSocketOperation..."); var operation = new WebSocketOperation(deviceCode); var updateUserInfoRequest = new UpdateUserInfoRequest() { Token = operation.Token, UserInfo = deviceUser }; string rawRequest = DataContractSerializationHelper.Serialize(updateUserInfoRequest); var rawResponse = operation.Execute(rawRequest); if (string.IsNullOrWhiteSpace(rawResponse)) { throw new Exception(string.Format("Update user id:[{0}], device user id:[{1}] to device id:[{2}] fails. Response is empty, maybe the device is not register to device system.", user.UserID, deviceUser.UserId, deviceID)); } var response = DataContractSerializationHelper.Deserialize <UpdateUserInfoResponse>(rawResponse); Log.InfoFormat("Update user id:[{0}], device user id:[{1}] to device id:[{2}], result:[{3}]", user.UserID, deviceUser.UserId, deviceID, response.ResultType); if (response.ResultType != ResultType.OK) { throw new Exception(string.Format("Update user id:[{0}], device user id:[{1}] to device id:[{2}] fails.", user.UserID, deviceUser.UserId, deviceID)); } }