99 lines
3.3 KiB
C#
99 lines
3.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Web;
|
|
using IronIntel.Contractor.Users;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace IronIntel.Contractor.Site.Security
|
|
{
|
|
public class UserToContractorPage : ContractorBasePage
|
|
{
|
|
public const char splitChar = (char)170;
|
|
protected void ProcessRequest(string methodName)
|
|
{
|
|
if (methodName != null)
|
|
{
|
|
switch (methodName.ToUpper())
|
|
{
|
|
case "GETUSERS":
|
|
GetUsers();
|
|
break;
|
|
case "GETGROUPS":
|
|
GetGroups();
|
|
break;
|
|
case "GETCONTRACTORS":
|
|
GetContractors();
|
|
break;
|
|
case "SAVECONTRACTOR":
|
|
SaveContractor();
|
|
break;
|
|
}
|
|
}
|
|
Response.End();
|
|
}
|
|
|
|
protected override bool AllowCurrentLoginSessionEnter()
|
|
{
|
|
var f = base.AllowCurrentLoginSessionEnter();
|
|
if (!f)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
// check whether you are admin.
|
|
var session = GetCurrentLoginSession();
|
|
if (session == null || session.User == null)
|
|
{
|
|
return false;
|
|
}
|
|
var ui = UserManagement.GetUserByIID(session.User.UID);
|
|
return ui != null && ui.UserType >= UserTypes.Admin;
|
|
}
|
|
|
|
private void GetUsers()
|
|
{
|
|
string json = "";
|
|
var users = UserManagement.GetUnmanagementUsers(GetLanguageCookie()).OrderBy(u => u.DisplayName).ToArray();
|
|
json = JsonConvert.SerializeObject(users);
|
|
Response.Write(json);
|
|
Response.End();
|
|
}
|
|
|
|
private void GetGroups()
|
|
{
|
|
string json = "";
|
|
var groups = UserManagement.GetGroups().OrderBy(u => u.Name).ToArray();
|
|
json = JsonConvert.SerializeObject(groups);
|
|
Response.Write(json);
|
|
Response.End();
|
|
}
|
|
private void GetContractors()
|
|
{
|
|
string iid = Request.Params["uiid"] == null ? string.Empty : Request.Params["uiid"];
|
|
int flag = Int32.Parse(Request.Params["Flag"]);
|
|
string json = "";
|
|
UserToContractorInfo[] contractors = UserManagement.GetContractorsByIId(iid, flag);
|
|
var cntractrssort = contractors.OrderBy(c => c.Name).ToArray();
|
|
json = JsonConvert.SerializeObject(cntractrssort);
|
|
Response.Write(json);
|
|
Response.End();
|
|
}
|
|
private void SaveContractor()
|
|
{
|
|
string iid = Request.Params["id"];
|
|
string contractorstr = Request.Params["contractors"];
|
|
string[] contractors = JsonConvert.DeserializeObject<string[]>(contractorstr);
|
|
for (int i = 0; i < contractors.Length; i++)
|
|
{
|
|
contractors[i] = HttpUtility.UrlDecode(contractors[i]);
|
|
}
|
|
UserManagement.AddUserToContractor(iid, contractors);
|
|
Response.Write("Save contractors info successfully.");
|
|
Response.End();
|
|
}
|
|
}
|
|
}
|