public async Task <IActionResult> ApiCreate(ApiCreateViewModel model) { var user = await GetUser(required : true); // check 2fa authentication if (user.TwoFactorEnabled) { if (model.TwoFactorCode == null) { model.TwoFactorCode = ""; } var authenticatorCode = model.TwoFactorCode.Replace(" ", string.Empty).Replace("-", string.Empty); if (!await _userManager.VerifyTwoFactorTokenAsync(user, _userManager.Options.Tokens.AuthenticatorTokenProvider, authenticatorCode)) { this.FlashError($"Invalid authenticator code"); model.TwoFactorRequired = true; return(View(model)); } } var apikey = Utils.CreateApiKey(user, -1, -1, model.DeviceName); _context.ApiKeys.Add(apikey); _context.SaveChanges(); this.FlashSuccess($"Created API KEY ({apikey.Name} - Key: {apikey.Key} - Secret: {apikey.Secret})"); return(RedirectToAction(nameof(Api))); }
public async Task <IActionResult> ApiCreate() { var user = await GetUser(required : true); var model = new ApiCreateViewModel { User = user, TwoFactorRequired = user.TwoFactorEnabled }; return(View(model)); }
public async Task <IActionResult> CreateOrder([FromBody] ApiCreateViewModel viewModel) { var customer = await _context.Customers.SingleOrDefaultAsync(c => c.Id == viewModel.CustomerId); var products = await _context.Products .Where(p => viewModel.Items.Any(i => i.ProductId == p.Id)) .ToArrayAsync(); _context.Add(new Order { OrderDate = DateTime.UtcNow, Customer = customer, LineItems = products.Select(p => new OrderLineItem { Product = p, Quantity = viewModel.Items.First(i => i.ProductId == p.Id).Quantity }).ToArray() }); await _context.SaveChangesAsync(); return(Ok()); }