public async Task <JwtBearerSignInResult> PasswordSignInAsync(User user, string password, Device device = null) { if (user == null) { throw new ArgumentNullException(nameof(user)); } if (await UserManager.CheckPasswordAsync(user, password)) { var result = await SignInOrTwoFactorAsync(user); if (result.Succeeded && device != null) { var existingDevice = await _deviceRepository.GetByIdentifierAsync(device.Identifier, user.Id); if (existingDevice == null) { device.UserId = user.Id; await _deviceRepository.CreateAsync(device); } } return(result); } return(JwtBearerSignInResult.Failed); }
public async Task SaveAsync(Device device) { if (device.Id == default(Guid)) { await _deviceRepository.CreateAsync(device); } else { device.RevisionDate = DateTime.UtcNow; await _deviceRepository.ReplaceAsync(device); } }
public async Task SaveAsync(Device device) { if (device.Id == default(Guid)) { await _deviceRepository.CreateAsync(device); } else { device.RevisionDate = DateTime.UtcNow; await _deviceRepository.ReplaceAsync(device); } await _pushRegistrationService.CreateOrUpdateRegistrationAsync(device); }
public async Task SaveAsync(Device device) { if (device.Id == default(Guid)) { await _deviceRepository.CreateAsync(device); } else { device.RevisionDate = DateTime.UtcNow; await _deviceRepository.ReplaceAsync(device); } await _pushRegistrationService.CreateOrUpdateRegistrationAsync(device.PushToken, device.Id.ToString(), device.UserId.ToString(), device.Identifier, device.Type); }
public async Task AddOrUpdateToken(string token, string userId) { var device = await _deviceRepository.FindByUserIdAsync(userId); if (device == null) { await _deviceRepository.CreateAsync(new Device { Token = token, UserId = userId }); } else if (device.Token != token) { await _deviceRepository.UpdateTokenAsync(token, device.Id); } }
private async Task <Device> SaveDeviceAsync(User user, ResourceOwnerPasswordValidationContext context) { var device = GetDeviceFromRequest(context); if (device != null) { var existingDevice = await _deviceRepository.GetByIdentifierAsync(device.Identifier, user.Id); if (existingDevice == null) { device.UserId = user.Id; await _deviceRepository.CreateAsync(device); return(device); } } return(null); }
public async Task <bool> ClaimAsync(string userId, string id) { var device = await deviceRepository.GetAsync(id); if (null == device) { device = await deviceRepository.CreateAsync(id); } if (device.UserId == userId) { return(true); } if (device.UserId != null) { return(false); } await deviceRepository.ClaimAsync(id, userId); return(true); }
private void CreateNewDevice() { Device newDevice = null; _dialogService.ShowModal("NewDeviceView", x => { if (x.Result == ButtonResult.OK) { newDevice = x.Parameters.GetValue <Device>("model"); } }); if (newDevice != null) { var d = DevicesColleciton.FirstOrDefault(x => x.IPAddress == newDevice.IPAddress); if (d != null) { MessageBox.Show("Такой девайс уже существует"); return; } Task.Run(async() => { newDevice = await _deviceRepository.CreateAsync(newDevice); if (newDevice != null) { Application.Current.Dispatcher.Invoke(() => { DevicesColleciton.Add(newDevice); }); } }).ContinueWith(t => { _logger.Error("Не удлаось создать новый девайс ip {0}", newDevice?.IPAddress); _logger.Error("Ошибка {0}", t.Exception?.Message); _logger.Error("Ошибка {0}", t.Exception?.InnerException); }, TaskContinuationOptions.OnlyOnFaulted); } }
public async Task <ActionResult <DeviceResponse> > Post([FromBody] CreateDeviceRequest request) { var response = await _repository.CreateAsync <DeviceResponse>(request); return(CreatedAtAction(nameof(Get), new { id = response.UID }, response)); }