public async Task <Dictionary <int, ObservableCollection <Models.NewKeyModel> > > GetNewKeyList() { Dictionary <int, ObservableCollection <Models.NewKeyModel> > newKeys = new Dictionary <int, ObservableCollection <NewKeyModel> >(); string content = string.Empty; try { content = await _httpService.SendRequestForString(KISSSUB_NEW_FAN, HttpMethod.Get, Encoding.UTF8); } catch (Exception e) { throw new NetworkException("网络请求异常:" + e.Message); } var list = content.Split(new string[] { "\r\n" }, StringSplitOptions.None); for (int i = 0; i < list.Count(); i++) { ObservableCollection <Models.NewKeyModel> newKeysModels = new ObservableCollection <NewKeyModel>(); var keys = list[i].Split(','); for (int j = 1; j < keys.Count(); j++) { var onekey = keys[j].Split('|'); Models.NewKeyModel model = new NewKeyModel { Key = onekey[0], Value = Uri.UnescapeDataString(onekey[1]) }; newKeysModels.Add(model); } newKeys.Add(i, newKeysModels); } return(newKeys); }
public async Task <IActionResult> PostAddKeyAsync(NewKeyModel model) { if (!ModelState.IsValid) { return(View("AddKey", model)); } var sessionId = _membership.GetSessionId(HttpContext.User); var user = await _persistence.Users.GetUserBySessionIdAsync(sessionId); var generatedKey = _membership.GenerateAPIKey(user.Id); var result = await _membership.AddAuthenticationAsync(user.Id, "APIKey", generatedKey, model.Name); var resultModel = new UserAuthenticationModel() { Id = result.Id, Identity = result.Identity, Name = result.Name, CreationTime = result.CreationTime }; return(View("ShowKey", resultModel)); }
public ActionResult CreateKey(NewKeyModel newKeyModel) { if (string.IsNullOrWhiteSpace(newKeyModel.Passphrase)) { ViewBag.Passphrase = newKeyModel.Passphrase = PronounceablePasswordGenerator.Generate(14); } else { ViewBag.Passphrase = "*******"; } var request = CryptoKey.CreateRequestWithPassPhrase(newKeyModel.Passphrase); request.LockDate = newKeyModel.LockDate; if (newKeyModel.ReleaseDate != null) { request.ReleaseDate = (DateTime)newKeyModel.ReleaseDate; } request.DeleteKeyAfterReading = newKeyModel.DeleteKeyAfterReading; request.DeleteMessagesAfterReading = newKeyModel.DeleteMessagesAfterReading; if (!string.IsNullOrWhiteSpace(newKeyModel.NotifyEmail)) { request.Notifications.Add(new Notification() { Email = newKeyModel.NotifyEmail }); } if (newKeyModel.LockDate == null) { newKeyModel.LockDate = DateTime.Now.AddDays(30); } requestRepository.AddRequest(request); return(View("NewKeyDetails", request)); }
public IActionResult AddKey() { var model = new NewKeyModel(); return(View("AddKey", model)); }