using BWP.B3Frameworks.Attributes;
|
|
using BWP.B3Sale.BO;
|
|
using BWP.Web.Utils;
|
|
using Forks.EnterpriseServices.DataForm;
|
|
using Forks.Utils.TypeDescs;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using TSingSoft.WebControls2;
|
|
using TSingSoft.WebPluginFramework;
|
|
|
|
namespace BWP.Web.Pages
|
|
{
|
|
|
|
|
|
public class YunKenDFEntityLink : DFControl, IDFFieldEditor
|
|
{
|
|
public YunKenDFEntityLink() : base()
|
|
{
|
|
|
|
}
|
|
|
|
public void InitEntityType(Type type)
|
|
{
|
|
mEntityType = type;
|
|
}
|
|
|
|
|
|
Type mEntityType;
|
|
string mLinkIDField;
|
|
public YunKenDFEntityLink(Type entityType, string linkIDField )
|
|
{
|
|
mEntityType = entityType;
|
|
mLinkIDField = linkIDField;
|
|
|
|
}
|
|
|
|
internal string Text
|
|
{
|
|
get { return (string)ViewState["Text"]; }
|
|
set { ViewState["Text"] = value; }
|
|
}
|
|
|
|
|
|
public void ApplyValueToUI(object value)
|
|
{
|
|
Text = string.Empty;
|
|
if (value == null)
|
|
{
|
|
return;
|
|
}
|
|
var str = value as string;
|
|
if (string.IsNullOrEmpty(str))
|
|
{
|
|
return;
|
|
}
|
|
DFInfo info = DFField.DFInfo as DFInfo;
|
|
if (info == null)
|
|
{
|
|
return;
|
|
}
|
|
IDotNetTypeDesc type = info.DFClass as IDotNetTypeDesc;
|
|
if (type == null)
|
|
{
|
|
return;
|
|
}
|
|
//+info.DFClass { BWP.B3Sale.BO.SaleOutStore}
|
|
//Forks.Utils.TypeDescs.ITypeDesc { Forks.Utils.TypeDescs.DotNetTypeDesc}
|
|
|
|
var id = WebBLUtil.GetDmoProperty<object>(type.Type, mLinkIDField, new Tuple<string, object>(DFField.Name, str));
|
|
if (id == null)
|
|
{
|
|
return;
|
|
}
|
|
var url = EditUrlAttribute.GetUrl(mEntityType);
|
|
if (string.IsNullOrEmpty(url))
|
|
{
|
|
throw new Exception(string.Format("未能得到对象{0}的编辑页面", DFInfo.Get(mEntityType).LogicName));
|
|
}
|
|
url = AspUtil.AddTimeStampToUrl(WpfPageUrl.ToGlobal(url));
|
|
url = AspUtil.AddParamToUrl(url, "ID", id.ToString());
|
|
Text = string.Format("<a href='#' onclick=\"javascript:OpenUrlInTopTab('{0}')\">{1}</a>", url, value);
|
|
}
|
|
|
|
|
|
|
|
public object GetValueFromUI()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
public bool Readonly
|
|
{
|
|
get
|
|
{
|
|
return true;
|
|
}
|
|
set
|
|
{
|
|
}
|
|
}
|
|
|
|
public void ApplyToUI(object dfObject)
|
|
{
|
|
ApplyValueToUI(DFField.GetValue(dfObject));
|
|
}
|
|
|
|
public void GetFromUI(object dfObject)
|
|
{
|
|
}
|
|
|
|
public void ValidInput()
|
|
{
|
|
}
|
|
|
|
|
|
protected override void Render(System.Web.UI.HtmlTextWriter writer)
|
|
{
|
|
writer.Write(Text);
|
|
}
|
|
|
|
|
|
}
|
|
}
|