71 lines
2.5 KiB
C#
71 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Disco.Models.ClientServices;
|
|
using System.Web;
|
|
using Disco.Data.Repository;
|
|
using Disco.Models.Repository;
|
|
|
|
namespace Disco.BI.Extensions
|
|
{
|
|
public static class ClientServicesExtensions
|
|
{
|
|
public static EnrolResponse BuildResponse(this Enrol request)
|
|
{
|
|
if (HttpContext.Current == null)
|
|
throw new PlatformNotSupportedException("This function can only be accessed from within ASP.NET");
|
|
|
|
string username = null;
|
|
if (HttpContext.Current.Request.IsAuthenticated)
|
|
username = HttpContext.Current.User.Identity.Name;
|
|
|
|
using (DiscoDataContext dbContext = new DiscoDataContext())
|
|
{
|
|
EnrolResponse response = DeviceBI.DeviceEnrol.Enrol(dbContext, username, request);
|
|
dbContext.SaveChanges();
|
|
return response;
|
|
}
|
|
}
|
|
|
|
public static WhoAmIResponse BuildResponse(this WhoAmI request)
|
|
{
|
|
if (HttpContext.Current == null)
|
|
throw new PlatformNotSupportedException("This function can only be accessed from within ASP.NET");
|
|
|
|
string username = null;
|
|
if (HttpContext.Current.Request.IsAuthenticated)
|
|
username = HttpContext.Current.User.Identity.Name;
|
|
|
|
if (username == null)
|
|
throw new InvalidOperationException("Unauthenticated Http Context");
|
|
|
|
using (DiscoDataContext dbContext = new DiscoDataContext())
|
|
{
|
|
User user = UserBI.UserCache.GetUser(username, dbContext, true);
|
|
WhoAmIResponse response = new WhoAmIResponse()
|
|
{
|
|
Username = user.Id,
|
|
DisplayName = user.DisplayName,
|
|
Type = user.Type
|
|
};
|
|
return response;
|
|
}
|
|
}
|
|
|
|
public static MacEnrolResponse BuildResponse(this MacEnrol request)
|
|
{
|
|
if (HttpContext.Current == null)
|
|
throw new PlatformNotSupportedException("This function can only be accessed from within ASP.NET");
|
|
|
|
using (DiscoDataContext dbContext = new DiscoDataContext())
|
|
{
|
|
MacEnrolResponse response = DeviceBI.DeviceEnrol.MacEnrol(dbContext, request, false);
|
|
dbContext.SaveChanges();
|
|
return response;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|