public async Task <LabSettingsDTO> UnlinkDomain(TeamDTO team) { var res = new LabSettingsDTO(); try { //detach domain from tenant var control = await AADLinkControl.CreateAsync(team.TeamAssignment.AssignedTenantId, new HttpContextWrapper(HttpContext.Current)); var adalResponse = await control.DeleteDomain(team.TeamAssignment.DomainName); if (adalResponse.Message == "ObjectInUse") { var references = await control.GetDomainReferences(team.TeamAssignment.DomainName); res.Object = references.Object; } res.ResponseMessage += string.Format("Domain operation {0}, message: {1}", ((adalResponse.Successful) ? "successful" : "failed"), adalResponse.Message); res.Settings = await LabRepo.GetLabAndSettings(team.Lab.Id); if (adalResponse.Message != "ObjectInUse" && adalResponse.Successful) { var res2 = await ResetTxtAssignment(team); res.Settings = res2.Settings; } } catch (Exception ex) { res.ResponseMessage = "ERROR: " + ex.Message; } return(res); }
public async Task <LabSettingsDTO> CheckDomainAssignment(TeamDTO team) { var res = new LabSettingsDTO(); try { var control = await AADLinkControl.CreateAsync(team.TeamAssignment.AssignedTenantId, new HttpContextWrapper(HttpContext.Current)); var adalResponse = await control.GetDomain(team.TeamAssignment.DomainName); if (adalResponse.Successful) { res.ResponseMessage = adalResponse.ResponseContent; } else { res.ResponseMessage += string.Format("Domain operation {0}, message: {1}", ((adalResponse.Successful) ? "successful" : "failed"), adalResponse.Message); } } catch (Exception ex) { res.ResponseMessage = "ERROR: " + ex.Message; } return(res); }
public async Task <AdalResponse <Domain> > CheckDomainValidation() { var labCode = User.Identity.GetClaim(CustomClaimTypes.LabCode); var teamCode = User.Identity.GetClaim(CustomClaimTypes.TeamCode); var team = await LabRepo.GetDomAssignment(labCode, teamCode); var tenantId = AdalLib.GetUserTenantId(User.Identity); var hctx = new HttpContextWrapper(HttpContext.Current); var control = await AADLinkControl.CreateAsync(tenantId, hctx); return(await control.GetDomain(team.TeamAssignment.DomainName)); }
public async Task <LabSettingsDTO> DeleteDirectoryObject(DelObjectDTO team) { var res = new LabSettingsDTO(); try { //detach domain from tenant var control = await AADLinkControl.CreateAsync(team.TeamAssignment.AssignedTenantId, new HttpContextWrapper(HttpContext.Current)); var adalResponse = await control.DeleteObject(team.DelObjId); res.ResponseMessage += string.Format("Delete operation {0}, message: {1}", ((adalResponse.Successful) ? "successful" : "failed"), adalResponse.Message); res.Settings = await LabRepo.GetLabAndSettings(team.Lab.Id); } catch (Exception ex) { res.ResponseMessage = "ERROR: " + ex.Message; } return(res); }