Skip to content

Instantly share code, notes, and snippets.

@sampetrosov
Created January 16, 2021 08:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sampetrosov/ea3739474ee44477f489fbcb29a80547 to your computer and use it in GitHub Desktop.
Save sampetrosov/ea3739474ee44477f489fbcb29a80547 to your computer and use it in GitHub Desktop.
[HttpGet]
[Route("Index")]
[AllowAnonymous]
public HttpResponseMessage Index()
{
var response = new HttpResponseMessage();
var template = File.ReadAllText(Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "Frames/IIG/SignIn.cshtml"));
var layoutTemplate = File.ReadAllText(Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "Frames/IIG/__Layout.cshtml"));
Engine.Razor.AddTemplate("__Layout", layoutTemplate);
var content = Engine.Razor.RunCompile(template, "IIGSignIn");
response.Content = new StringContent(content);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
return response;
}
[HttpPost]
[Route("Index")]
[AllowAnonymous]
public HttpResponseMessage Index(UserAccountViewModel viewModel)
{
string content = "Not Authorized!";
if (TryAuthorize(viewModel))
{
INSiteMaint siteMaint = PXGraph.CreateInstance<INSiteMaint>();
var sites = siteMaint.site.Select().Select(pxResult => new INSiteViewModel { Description = pxResult.Record.Descr, SiteCD = pxResult.Record.SiteCD }).ToList();
var template = File.ReadAllText(Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "Frames/IIG/Warehouses/Index.cshtml"));
var model = new { Sites = sites };
content = Engine.Razor.RunCompile(template, "IIGINSiteIndex", null, model);
}
var response = new HttpResponseMessage();
response.Content = new StringContent(content);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
return response;
}
private bool TryAuthorize(UserAccountViewModel viewModel)
{
viewModel.ParseToken();
var userName = PXLogin.ConcatLogin(viewModel.Username, viewModel.Company);
var retVal = PXLogin.LoginUser(ref userName, viewModel.Password);
if (retVal)
{
return true;
}
return false;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment