96 lines
3.7 KiB
C#
96 lines
3.7 KiB
C#
using Foresight.ServiceModel;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Xml.Linq;
|
|
|
|
namespace IronIntel.Contractor
|
|
{
|
|
public class MachineDetailWorkspace
|
|
{
|
|
private const string MachineDetailWSP = "MachineDetailWSP";
|
|
private const string Path = "fic/FIC.aspx?IID={0}&wspivots={1}";
|
|
|
|
public static string GenerateMachineDetailWSPURL(string machineid, string vin, out int openMode)
|
|
{
|
|
var config = GetConfig();
|
|
openMode = config.OpenMode;
|
|
List<WorkspacePivotItem> pvs = new List<WorkspacePivotItem>();
|
|
if (!string.IsNullOrEmpty(config.MachineIDPivotIID))
|
|
{
|
|
WorkspacePivotItem pv = new WorkspacePivotItem();
|
|
pv.iid = config.MachineIDPivotIID;
|
|
pv.vals = new string[] { machineid };
|
|
pvs.Add(pv);
|
|
}
|
|
if (!string.IsNullOrEmpty(config.VINPivotIID))
|
|
{
|
|
WorkspacePivotItem pv = new WorkspacePivotItem();
|
|
pv.iid = config.VINPivotIID;
|
|
pv.vals = new string[] { vin };
|
|
pvs.Add(pv);
|
|
}
|
|
|
|
string pivotString = JsonConvert.SerializeObject(pvs);
|
|
pivotString = System.Web.HttpUtility.UrlEncode(pivotString);
|
|
string url = string.Format(Path, config.WorkspaceIID, pivotString);
|
|
return url;
|
|
}
|
|
|
|
public static MachineDetailWorkspaceConfig GetConfig()
|
|
{
|
|
MachineDetailWorkspaceConfig config = new MachineDetailWorkspaceConfig();
|
|
string value = SystemParams.GetStringParam(MachineDetailWSP, false);
|
|
//wspid=00000000-0000-0000-0000-000000000000&pivotid=00000000-0000-0000-0000-000000000000&openmode=0
|
|
if (!string.IsNullOrEmpty(value))
|
|
{
|
|
string[] temps = value.Split('&');
|
|
foreach (string temp in temps)
|
|
{
|
|
string[] kv = temp.Split('=');
|
|
if (kv.Length == 2)
|
|
{
|
|
if (string.Equals("wspid", kv[0], StringComparison.OrdinalIgnoreCase))
|
|
config.WorkspaceIID = kv[1];
|
|
else if (string.Equals("midpivotid", kv[0], StringComparison.OrdinalIgnoreCase))
|
|
config.MachineIDPivotIID = kv[1];
|
|
else if (string.Equals("vinpivotid", kv[0], StringComparison.OrdinalIgnoreCase))
|
|
config.VINPivotIID = kv[1];
|
|
else if (string.Equals("openmode", kv[0], StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
int v = 0;
|
|
if (int.TryParse(kv[1], out v))
|
|
config.OpenMode = v;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return config;
|
|
}
|
|
|
|
private static void SetConfig(MachineDetailWorkspaceConfig config)
|
|
{
|
|
config.OpenMode = GetConfig().OpenMode;//OpenMode暂不修改
|
|
string value = string.Format("wspid={0}&midpivotid={1}&vinpivotid={2}&openmode={3}", config.WorkspaceIID, config.MachineIDPivotIID, config.VINPivotIID, config.OpenMode);
|
|
SystemParams.SetStringParam(MachineDetailWSP, value);
|
|
}
|
|
}
|
|
|
|
public class MachineDetailWorkspaceConfig
|
|
{
|
|
public string WorkspaceIID { get; set; }
|
|
public int OpenMode { get; set; }
|
|
public string MachineIDPivotIID { get; set; }
|
|
public string VINPivotIID { get; set; }
|
|
}
|
|
|
|
public class WorkspacePivotItem
|
|
{
|
|
public string iid { get; set; }
|
|
public string[] vals { get; set; }
|
|
}
|
|
}
|