Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

HomeController.cs 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Microsoft.AspNetCore.Authorization;
  2. using Microsoft.AspNetCore.Mvc;
  3. using SecureSharing.Business.Dtos;
  4. using SecureSharing.Business.Interfaces;
  5. using SecureSharing.Infrastructure;
  6. using SecureSharing.Models;
  7. namespace SecureSharing.Controllers;
  8. [Authorize]
  9. public sealed class HomeController : Controller
  10. {
  11. private readonly ILogger<HomeController> _logger;
  12. private readonly IMessageService _messageService;
  13. private readonly IModelFactory _modelFactory;
  14. public HomeController(ILogger<HomeController> logger, IMessageService messageService, IModelFactory modelFactory)
  15. {
  16. _logger = logger;
  17. _messageService = messageService;
  18. _modelFactory = modelFactory;
  19. }
  20. public IActionResult Index()
  21. {
  22. return View();
  23. }
  24. [HttpPost]
  25. public async Task<IActionResult> CreateMessage(MessageModel model)
  26. {
  27. var message = new MessageDto { Text = model.Text };
  28. var code = await _messageService.Create(message, model.ChosenPeriod);
  29. return RedirectToAction("Link", "Home", new { code = code, share = true });
  30. }
  31. [HttpGet]
  32. public async Task<IActionResult> Link(Guid code, bool? share)
  33. {
  34. var model = await _modelFactory.PrepareLinkVM(code, share);
  35. return View(model);
  36. }
  37. public IActionResult Privacy()
  38. {
  39. return View();
  40. }
  41. }