init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,72 @@
|
|||
using System;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.Elearning.Nexius;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
using Nexius.Common.Helpers;
|
||||
using Nexius.Common.Lti;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
public class ELearningApiController : ApiController
|
||||
{
|
||||
private readonly INexiusCourseService nexiusCourseService;
|
||||
|
||||
public ELearningApiController(INexiusCourseService nexiusCourseService)
|
||||
{
|
||||
this.nexiusCourseService = nexiusCourseService;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IHttpActionResult StartCourse(string launchUri)
|
||||
{
|
||||
var felhasznaloId = string.Empty;
|
||||
var vezeteknev = ClaimData.Vezeteknev;
|
||||
var utonev = ClaimData.Utonev;
|
||||
|
||||
var nexiusId = new IntezmenyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetNexiusId();
|
||||
|
||||
FelhasznaloHelper helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
var (EgyediAzonosito, Nev) = helper.GetGondviseloAdat(ClaimData.GondviseloId.Value);
|
||||
felhasznaloId = EgyediAzonosito;
|
||||
vezeteknev = Nev;
|
||||
utonev = " ";
|
||||
}
|
||||
else
|
||||
{
|
||||
felhasznaloId = helper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
Uri requestUrl = Request.RequestUri;
|
||||
|
||||
string returnUrl = $"{requestUrl.Scheme}://{requestUrl.Host}/Adminisztracio/ELearning";
|
||||
|
||||
var isGondviselo = ClaimData.IsTanuloOrGondviselo && ClaimData.GondviseloId != null;
|
||||
var isTanulo = ClaimData.IsTanuloOrGondviselo && ClaimData.GondviseloId == null;
|
||||
(string szuletesiNev, string oktatasiAzonosito, string emailCim) = helper.GetUserDetailsForElearning(ClaimData.FelhasznaloId, ClaimData.GondviseloId, isGondviselo, isTanulo);
|
||||
|
||||
var ltiRequest = new LtiLauchRequest()
|
||||
{
|
||||
UserId = felhasznaloId,
|
||||
FamilyName = vezeteknev,
|
||||
GivenName = utonev,
|
||||
MothersName = isGondviselo ? string.Empty : ClaimData.AnyjaNeve,
|
||||
BirthName = isGondviselo ? string.Empty : szuletesiNev,
|
||||
BirthPlace = isGondviselo ? string.Empty : ClaimData.SzuletesiHely,
|
||||
BirthDay = string.IsNullOrWhiteSpace(ClaimData.SzuletesiDatum) || isGondviselo ? (DateTime?)null : DateTime.Parse(ClaimData.SzuletesiDatum),
|
||||
EducationalId = isGondviselo ? string.Empty : oktatasiAzonosito,
|
||||
PrimaryEmail = emailCim,
|
||||
ReturnUrl = returnUrl,
|
||||
RegistrarId = string.IsNullOrWhiteSpace(nexiusId) ? (ShortGuid?)null : Guid.Parse(nexiusId) // implicitly cast the guid as a shortguid
|
||||
};
|
||||
|
||||
string url = nexiusCourseService.GenerateLaunchUri(launchUri, ltiRequest);
|
||||
|
||||
return Redirect(url);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue